Ce document fournit des conseils pour vous aider à choisir les composants architecturaux de vos applications d'IA agentique dans Google Cloud. Il explique comment évaluer les caractéristiques de votre application et de votre charge de travail afin de choisir le produit ou service approprié qui répond le mieux à vos besoins. La conception d'une architecture d'IA agentique est un processus itératif. Vous devez réévaluer régulièrement votre architecture à mesure que les caractéristiques de votre charge de travail changent, que vos exigences évoluent ou que de nouveaux produits et fonctionnalités Google Cloud deviennent disponibles.
Les agents d'IA sont efficaces pour les applications qui résolvent des problèmes ouverts, qui peuvent nécessiter une prise de décision autonome et une gestion complexe des workflows en plusieurs étapes. Les agents sont excellents pour résoudre des problèmes en temps réel à l'aide de données externes et pour automatiser des tâches nécessitant beaucoup de connaissances. Ces fonctionnalités permettent aux agents de fournir une plus grande valeur commerciale que les fonctionnalités d'assistance et de génération d'un modèle d'IA.
Vous pouvez utiliser des agents d'IA pour les problèmes déterministes avec des étapes prédéfinies. Toutefois, d'autres approches peuvent être plus efficaces et plus économiques. Par exemple, vous n'avez pas besoin d'un workflow agentique pour des tâches telles que la synthèse d'un document, la traduction de texte ou la classification des commentaires des clients.
Pour en savoir plus sur les autres solutions d'IA non agentives, consultez les ressources suivantes :
- Quelle est la différence entre les agents IA, les assistants IA et les bots ?
- Choisir des modèles et une infrastructure pour votre application d'IA générative
Présentation de l'architecture de l'agent
Un agent est une application qui atteint un objectif en traitant des entrées, en raisonnant avec les outils disponibles et en prenant des mesures en fonction de ses décisions. Un agent utilise un modèle d'IA comme moteur de raisonnement principal pour automatiser des tâches complexes. L'agent utilise un ensemble d'outils qui permettent au modèle d'IA d'interagir avec des systèmes et des sources de données externes. Un agent peut utiliser un système de mémoire pour conserver le contexte et apprendre des interactions. L'objectif d'une architecture agentive est de créer un système autonome capable de comprendre l'intention d'un utilisateur, de créer un plan en plusieurs étapes et d'exécuter ce plan à l'aide des outils disponibles.
Le diagramme suivant présente une vue d'ensemble des composants de l'architecture d'un système agentique :
L'architecture du système agentique comprend les composants suivants :
- Framework frontend : ensemble de composants, de bibliothèques et d'outils prédéfinis que vous utilisez pour créer l'interface utilisateur (UI) de votre application.
- Framework de développement d'agent : frameworks et bibliothèques que vous utilisez pour créer et structurer la logique de votre agent.
- Outils de l'agent : ensemble d'outils, tels que des API, des services et des fonctions, qui récupèrent des données et effectuent des actions ou des transactions.
- Mémoire de l'agent : système utilisé par votre agent pour stocker et rappeler des informations.
- Modèles de conception d'agents : approches architecturales courantes pour structurer votre application agentive.
- Environnement d'exécution de l'agent : environnement de calcul dans lequel s'exécute la logique d'application de votre agent.
- Modèles d'IA : moteur de raisonnement de base qui alimente les capacités de prise de décision de votre agent.
- Environnement d'exécution du modèle : infrastructure qui héberge et diffuse votre modèle d'IA.
Les sections suivantes fournissent une analyse détaillée des composants pour vous aider à prendre des décisions concernant la façon de créer votre architecture. Les composants que vous choisissez auront une incidence sur les performances, l'évolutivité, le coût et la sécurité de votre agent. Ce document se concentre sur les composants architecturaux essentiels que vous utilisez pour créer et déployer la logique de raisonnement et d'exécution de base d'un agent. Les sujets tels que les frameworks de sécurité de l'IA responsable et la gestion de l'identité des agents ne sont pas traités dans ce document.
Framework de l'interface
Le framework frontend est un ensemble de composants, de bibliothèques et d'outils prédéfinis que vous utilisez pour créer l'UI de votre application agentique. Le framework frontend que vous choisissez définit les exigences de votre backend. Une interface simple pour une démonstration interne peut ne nécessiter qu'une API HTTP synchrone, tandis qu'une application de qualité professionnelle nécessite un backend compatible avec les protocoles de streaming et une gestion robuste des états.
Voici quelques catégories de frameworks :
- Frameworks de prototypage et d'outils internes : pour un développement rapide, des démonstrations internes et des applications de validation de concept, choisissez des frameworks qui privilégient l'expérience et la rapidité des développeurs. Ces frameworks privilégient généralement un modèle simple et synchrone appelé modèle requête-réponse. Un modèle de requête-réponse vous permet de créer une UI fonctionnelle avec un minimum de code et un backend plus simple qu'un framework de production. Cette approche est idéale pour tester rapidement la logique de l'agent et les intégrations d'outils, mais elle peut ne pas convenir aux applications publiques très évolutives qui nécessitent des interactions en temps réel. Les frameworks courants de cette catégorie incluent Mesop et Gradio.
- Frameworks de production : pour les applications évolutives, réactives et riches en fonctionnalités destinées aux utilisateurs externes, choisissez un framework qui autorise les composants personnalisés. Ces frameworks nécessitent une architecture de backend capable de prendre en charge une expérience utilisateur moderne. Un framework de production doit inclure la prise en charge des protocoles de streaming, une conception d'API sans état et un système de mémoire externe robuste pour gérer l'état de la conversation sur plusieurs sessions utilisateur. Les frameworks courants pour les applications de production incluent Streamlit, React et le kit d'outils d'IA Flutter.
Pour gérer la communication entre ces frameworks et votre agent d'IA, vous pouvez utiliser le protocole d'interaction agent-utilisateur (AG-UI). AG-UI est un protocole ouvert qui permet aux agents d'IA de backend d'interagir avec votre framework de frontend. AG-UI indique au framework frontend quand afficher la réponse de l'agent, mettre à jour l'état de l'application ou déclencher une action côté client. Pour créer des applications d'IA interactives, combinez AG-UI avec Agent Development Kit (ADK). Pour en savoir plus sur ADK, passez à la section suivante "Frameworks de développement d'agents".
Frameworks de développement d'agents
Les frameworks de développement d'agents sont des bibliothèques qui simplifient le processus de création, de test et de déploiement d'applications d'IA agentive. Ces outils de développement fournissent des composants et des abstractions prédéfinis pour les capacités d'agent de base, y compris les boucles de raisonnement, la mémoire et l'intégration d'outils.
Pour accélérer le développement d'agents dans Google Cloud, nous vous recommandons d'utiliser ADK. ADK est un framework Open Source modulaire et orienté qui fournit un niveau d'abstraction élevé pour créer et orchestrer des workflows, des tâches simples aux systèmes multi-agents complexes.
L'ADK est optimisé pour les modèles Gemini et Google Cloud, mais il est conçu pour être compatible avec d'autres frameworks. L'ADK est compatible avec d'autres modèles et runtimes d'IA. Vous pouvez donc l'utiliser avec n'importe quel modèle ou méthode de déploiement. Pour les systèmes multi-agents, ADK est compatible avec l'interaction via des états de session partagés, la délégation basée sur des modèles pour acheminer les tâches entre les agents et l'invocation explicite qui permet à un agent d'appeler un autre agent en tant que fonction ou outil.
Pour vous aider à démarrer rapidement, l'ADK fournit des exemples de code en Python, Java et Go qui illustrent divers cas d'utilisation dans plusieurs secteurs. Bien que la plupart de ces exemples mettent en avant les flux de conversation, ADK est également adapté à la création d'agents autonomes qui effectuent des tâches de backend. Pour ces cas d'utilisation non interactifs, choisissez un modèle de conception d'agent qui excelle dans le traitement d'une seule requête autonome et qui implémente gestion des exceptions robuste.
Bien que vous puissiez choisir d'utiliser un framework d'IA à usage général, comme Genkit, nous vous recommandons d'utiliser ADK. Genkit fournit des primitives que vous pouvez utiliser pour développer votre propre architecture d'agent. Cependant, un framework d'agent dédié tel que l'ADK fournit des outils plus spécialisés.
Outils pour les agents
L'efficacité d'un agent dépend de sa capacité à interagir avec des systèmes externes à l'aide d'outils. Les outils d'agent sont des fonctions ou des API disponibles pour le modèle d'IA et que l'agent utilise pour améliorer le résultat et automatiser les tâches. Lorsque vous connectez un agent d'IA à des systèmes externes, les outils transforment l'agent, qui passe d'un simple générateur de texte à un système capable d'automatiser des tâches complexes en plusieurs étapes.
Pour activer les interactions avec les outils, choisissez l'un des schémas d'utilisation suivants :
| Cas d'utilisation | Schéma d'utilisation de l'outil |
|---|---|
| Vous devez effectuer une tâche courante, comme une recherche sur le Web, un calcul ou l'exécution de code, et vous souhaitez accélérer le développement initial. | Outils intégrés |
| Vous souhaitez créer un système modulaire ou multi-agent qui nécessite des outils interopérables et réutilisables. | Protocole MCP (Model Context Protocol) |
| Vous devez gérer, sécuriser et surveiller un grand nombre d'outils basés sur des API à l'échelle de l'entreprise. | Plate-forme de gestion d'API |
| Vous devez intégrer une API interne ou tierce spécifique qui ne possède pas de serveur MCP. | Outils de fonction personnalisée |
Lorsque vous sélectionnez des outils pour votre agent, évaluez leurs capacités fonctionnelles et leur fiabilité opérationnelle. Privilégiez les outils observables, faciles à déboguer et qui incluent gestion des exceptions robuste. Ces fonctionnalités vous aident à suivre les actions et à résoudre rapidement les échecs. Évaluez également la capacité de l'agent à sélectionner l'outil approprié pour accomplir les tâches qui lui sont assignées.
Outils intégrés
L'ADK fournit plusieurs outils intégrés directement dans l'environnement d'exécution de l'agent. Vous pouvez appeler ces outils en tant que fonctions sans configurer de protocoles de communication externes. Ces outils fournissent des fonctionnalités courantes, y compris l'accès à des informations en temps réel sur le Web, l'exécution de code de manière programmatique dans un environnement sécurisé, la récupération d'informations à partir de données d'entreprise privées pour implémenter le RAG et l'interaction avec des données structurées dans des bases de données cloud. Les outils intégrés fonctionnent en parallèle de tous les outils personnalisés que vous créez.
MCP
Pour permettre aux composants de votre système agentique d'interagir, vous devez établir des protocoles de communication clairs. MCP est un protocole ouvert qui fournit une interface standardisée permettant aux agents d'accéder aux outils, aux données et à d'autres services nécessaires, et de les utiliser.
MCP découple la logique de raisonnement de base de l'agent de l'implémentation spécifique de ses outils, de la même manière qu'un port matériel standard permet à différents périphériques de se connecter à un appareil. MCP simplifie l'intégration des outils, car il fournit une liste croissante de connecteurs prédéfinis et une méthode cohérente pour créer des intégrations personnalisées. La flexibilité d'intégration des outils favorise l'interopérabilité entre différents modèles et outils.
Vous pouvez vous connecter à un serveur MCP distant s'il en existe un, ou héberger votre propre serveur MCP. Lorsque vous hébergez votre propre serveur MCP, vous contrôlez entièrement la manière dont vous exposez les API propriétaires ou tierces à vos agents. Pour héberger votre propre serveur MCP personnalisé, déployez-le en tant qu'application conteneurisée sur Cloud Run ou GKE.
Plate-forme de gestion d'API
Une plate-forme de gestion des API est un système centralisé qui vous permet de sécuriser, de surveiller et de contrôler les services internes ou externes via des API. Une plate-forme de gestion des API fournit un emplacement centralisé pour cataloguer toutes les API de votre organisation, simplifie la manière dont vous exposez les données et offre une observabilité grâce à la surveillance de l'utilisation.
Pour gérer les outils basés sur l'API de votre agent à l'échelle de l'entreprise sur Google Cloud, nous vous recommandons d'utiliser le hub d'API Apigee. Le hub d'API permet aux agents de se connecter instantanément aux données grâce à des appels HTTP directs, des connecteurs prédéfinis, des API personnalisées enregistrées dans le hub ou un accès direct aux sources de données Google Cloud . Cette approche permet à vos agents d'accéder immédiatement aux informations dont ils ont besoin, sans avoir à créer des pipelines personnalisés de chargement et d'intégration de données.
Une plate-forme de gestion des API et un protocole de communication comme MCP résolvent différents problèmes d'architecture. Un protocole de communication standardise le format d'interaction entre l'agent et l'outil, ce qui garantit que les composants sont réutilisables et peuvent être échangés. En revanche, une plate-forme de gestion des API régit le cycle de vie et la sécurité du point de terminaison d'API, en gérant des tâches telles que l'authentification, la limitation du débit et la surveillance. Ces schémas sont complémentaires. Par exemple, un agent peut utiliser MCP pour communiquer avec un outil, et cet outil peut à son tour être un point de terminaison d'API sécurisé que le hub d'API gère et protège.
Outil de fonction personnalisée
Un outil de fonction donne de nouvelles capacités à un agent. Vous pouvez écrire un outil de fonction personnalisé pour doter votre agent de capacités spécialisées, par exemple pour l'intégrer à une API externe ou à un système métier propriétaire. Écrire un outil de fonction personnalisé est le modèle le plus courant pour étendre les capacités d'un agent au-delà de ce que les outils intégrés peuvent offrir.
Pour créer un outil de fonction personnalisée, écrivez une fonction dans le langage de programmation de votre choix, puis fournissez une description claire en langage naturel de son objectif, de ses paramètres et de ses valeurs renvoyées. Le modèle de l'agent utilise cette description pour déterminer quand l'outil est nécessaire, quelles entrées fournir et comment interpréter la sortie pour répondre à la demande d'un utilisateur.
Vous pouvez également créer un outil de fonction personnalisée qui implémente une fonction d'agent en tant qu'outil. Une fonction d'agent en tant qu'outil expose un agent en tant que fonction appelable qu'un autre agent peut appeler. Cette technique vous permet de créer des systèmes multi-agents complexes dans lesquels un agent peut coordonner et déléguer des tâches spécialisées à d'autres agents spécialisés. Pour en savoir plus sur les modèles de conception d'agents et la coordination de l'orchestration multi-agents, consultez la section Modèles de conception d'agents plus loin dans ce document.
Mémoire de l'agent
La capacité d'un agent à se souvenir des interactions passées est essentielle pour offrir une expérience conversationnelle cohérente et utile. Pour créer des agents avec état et sensibles au contexte, vous devez implémenter des mécanismes de mémoire à court terme et à long terme. Les sections suivantes explorent les choix de conception et les services Google Cloudque vous pouvez utiliser pour implémenter la mémoire à court et à long terme de votre agent.
Mémoire à court terme
La mémoire à court terme permet à un agent de conserver le contexte au sein d'une même conversation en cours. Pour implémenter la mémoire à court terme, vous devez gérer à la fois la session et son état associé.
- Session : une session est le fil de conversation entre un utilisateur et l'agent, de l'interaction initiale à la fin du dialogue.
- État : L'état correspond aux données que l'agent utilise et collecte au cours d'une session spécifique. Les données d'état collectées incluent l'historique des messages échangés entre l'utilisateur et l'agent, les résultats des appels d'outils et d'autres variables dont l'agent a besoin pour comprendre le contexte de la conversation.
Voici quelques options pour implémenter la mémoire à court terme avec l'ADK :
- Stockage en mémoire : pour le développement, les tests ou les applications simples qui s'exécutent sur une seule instance, vous pouvez stocker l'état de la session directement dans la mémoire de votre application. L'agent utilise une structure de données, telle qu'un dictionnaire ou un objet, pour stocker une liste de paires clé-valeur et met à jour ces valeurs tout au long de la session. Toutefois, lorsque vous utilisez le stockage en mémoire, l'état de la session n'est pas persistant. Si l'application redémarre, elle perd tout l'historique des conversations.
- Gestion de l'état externe : pour les applications de production qui nécessitent évolutivité et fiabilité, nous vous recommandons de créer une application d'agent sans état et de gérer l'état de la session dans un service de stockage externe. Dans cette architecture, chaque fois que l'application d'agent reçoit une requête, elle récupère l'état actuel de la conversation à partir du magasin externe, traite le nouveau tour, puis enregistre l'état mis à jour dans le magasin. Cette conception vous permet de faire évoluer votre application horizontalement, car n'importe quelle instance peut répondre à la requête d'un utilisateur. Les choix courants pour la gestion de l'état externe incluent Memorystore pour Redis, Firestore ou les sessions Vertex AI Agent Engine.
Mémoire à long terme
La mémoire à long terme fournit à l'agent une base de connaissances persistante qui existe dans toutes les conversations pour les utilisateurs individuels. La mémoire à long terme permet à l'agent de récupérer et d'utiliser des informations externes, de tirer des enseignements des interactions passées et de fournir des réponses plus précises et pertinentes.
Voici quelques options pour implémenter la mémoire à long terme avec l'ADK :
- Stockage en mémoire : pour le développement et les tests, vous pouvez stocker l'état de la session directement dans la mémoire de votre application. Cette approche est simple à implémenter, mais elle n'est pas persistante. Si l'application redémarre, elle perd l'historique des conversations. Vous implémentez généralement ce modèle en utilisant un fournisseur en mémoire dans un framework de développement, tel que
InMemoryMemoryServiceinclus dans ADK pour les tests. - Stockage externe : pour les applications de production, gérez la base de connaissances de votre agent dans un service de stockage externe et persistant. Un service de stockage externe garantit que les connaissances de votre agent sont durables, évolutives et accessibles sur plusieurs instances d'application. Utilisez Memory Bank pour le stockage à long terme avec n'importe quel environnement d'exécution d'agent sur Google Cloud.
Modèles de conception d'agents
Les modèles de conception d'agents sont des approches architecturales courantes pour créer des applications agentiques. Ces modèles offrent un framework distinct pour organiser les composants d'un système, intégrer le modèle d'IA et orchestrer un ou plusieurs agents pour accomplir un workflow. Pour déterminer l'approche la mieux adaptée à votre workflow, vous devez tenir compte de la complexité et du workflow de vos tâches, ainsi que des exigences en termes de latence, de performances et de coûts.
Un système à agent unique s'appuie sur les capacités de raisonnement d'un seul modèle pour interpréter la demande d'un utilisateur, planifier une séquence d'étapes et décider des outils à utiliser. Cette approche constitue un point de départ efficace qui vous permet de vous concentrer sur l'affinage de la logique de base, des invites et des définitions d'outils avant d'ajouter de la complexité architecturale. Toutefois, les performances d'un agent unique peuvent se dégrader à mesure que la complexité des tâches et le nombre d'outils augmentent.
Pour les problèmes complexes, un système multi-agents orchestre plusieurs agents spécialisés pour atteindre un objectif qu'un seul agent ne peut pas gérer facilement. Cette conception modulaire peut améliorer l'évolutivité, la fiabilité et la facilité de maintenance du système. Toutefois, il introduit également des considérations supplémentaires en termes d'évaluation, de sécurité et de coût par rapport à un système mono-agent.
Lorsque vous développez un système multi-agents, vous devez implémenter des contrôles d'accès précis pour chaque agent spécialisé, concevoir un système d'orchestration robuste pour assurer une communication fiable entre les agents et gérer l'augmentation des coûts opérationnels due à la surcharge de calcul liée à l'exécution de plusieurs agents. Pour faciliter la communication entre les agents, utilisez le protocole Agent2Agent (A2A) avec ADK. A2A est un protocole standard ouvert qui permet aux agents d'IA de communiquer et de collaborer sur différentes plates-formes et frameworks, quelles que soient leurs technologies sous-jacentes.
Pour en savoir plus sur les modèles de conception d'agent courants et sur la façon de sélectionner un modèle en fonction des exigences de votre charge de travail, consultez Choisir un modèle de conception pour votre système d'IA agentive.
Modèles d'IA
Les applications agentives dépendent des capacités de raisonnement et de compréhension d'un modèle pour agir en tant qu'orchestrateur de tâches principal. Pour ce rôle d'agent principal, nous vous recommandons d'utiliser Gemini Pro.
Les modèles Google, comme Gemini, donnent accès aux modèles propriétaires les plus récents et les plus performants via une API gérée. Cette approche est idéale pour minimiser les coûts opérationnels. En revanche, un modèle open source auto-hébergé offre le contrôle approfondi nécessaire lorsque vous ajustez les paramètres sur des données propriétaires. Les charges de travail avec des exigences strictes en matière de sécurité et de résidence des données nécessitent également un modèle auto-hébergé, car il vous permet d'exécuter le modèle au sein de votre propre réseau.
Pour améliorer les performances de l'agent, vous pouvez ajuster les capacités de raisonnement du modèle. Les modèles tels que les derniers modèles Gemini Pro et Flash disposent d'un processus de réflexion intégré qui améliore le raisonnement et la planification en plusieurs étapes. Pour le débogage et l'affinage, vous pouvez examiner les résumés de réflexion du modèle, ou les versions synthétisées de ses pensées internes, pour comprendre son cheminement de raisonnement. Vous pouvez contrôler les capacités de raisonnement du modèle en ajustant le budget de réflexion, ou le nombre de jetons de réflexion, en fonction de la complexité de la tâche. Un budget de réflexion plus élevé permet au modèle d'effectuer un raisonnement et une planification plus détaillés avant de fournir une réponse. Un budget de réflexion plus élevé peut améliorer la qualité des réponses, mais il peut également augmenter la latence et les coûts.
Pour optimiser les performances et les coûts, implémentez le routage de modèle afin de sélectionner dynamiquement le modèle le plus approprié pour chaque tâche en fonction de la complexité, du coût ou des exigences de latence de la tâche. Par exemple, vous pouvez acheminer des requêtes simples vers un petit modèle de langage (SLM) pour des tâches structurées telles que la génération de code ou la classification de texte, et réserver un modèle plus puissant et plus coûteux pour le raisonnement complexe. Si vous implémentez le routage de modèles dans votre application agentique, vous pouvez créer un système économique qui maintient des performances élevées.
Google Cloud donne accès à une large sélection de modèles Google, de modèles partenaires et de modèles Open Source que vous pouvez utiliser dans votre architecture agentique. Pour en savoir plus sur les modèles disponibles et sur la façon de choisir un modèle adapté à vos besoins, consultez Model Garden sur Vertex AI.
Environnement d'exécution du modèle
Un environnement d'exécution de modèle est l'environnement qui héberge et diffuse votre modèle d'IA, et qui met ses capacités de raisonnement à la disposition de votre agent.
Choisir un environnement d'exécution de modèle
Pour sélectionner le meilleur environnement d'exécution lorsque vous hébergez vos modèles d'IA, suivez les conseils suivants :
| Cas d'utilisation | Environnement d'exécution du modèle |
|---|---|
| Vous avez besoin d'une API entièrement gérée pour diffuser des modèles Gemini, des modèles partenaires, des modèles ouverts ou des modèles personnalisés avec des outils d'IA générative, de mise à l'échelle et de sécurité de niveau entreprise. | Vertex AI |
| Vous devez déployer un modèle conteneurisé ouvert ou personnalisé, et privilégier la simplicité et la rentabilité du sans serveur pour le trafic variable. | Cloud Run |
| Vous avez besoin d'un contrôle maximal sur l'infrastructure pour exécuter un modèle conteneurisé ouvert ou personnalisé sur du matériel spécialisé, ou pour répondre à des exigences complexes en matière de sécurité et de réseau. | GKE |
Les sections suivantes présentent les runtimes de modèle précédents, y compris les principales fonctionnalités et les considérations de conception. Ce document se concentre sur Vertex AI, Cloud Run et GKE. Toutefois, Google Cloud propose d'autres services que vous pouvez envisager pour un environnement d'exécution de modèle :
- API Gemini : l'API Gemini est conçue pour les développeurs qui ont besoin d'un accès rapide et direct aux modèles Gemini, sans les fonctionnalités de gouvernance d'entreprise que les systèmes agentiques complexes requièrent souvent.
- Compute Engine : Compute Engine est un produit IaaS (Infrastructure as a Service) adapté aux applications existantes. Il introduit des frais généraux opérationnels importants par rapport aux runtimes modernes basés sur des conteneurs.
Pour en savoir plus sur les fonctionnalités qui distinguent toutes les options de service pour les runtimes de modèle, consultez Infrastructure d'hébergement de modèles.
Vertex AI
Vertex AI fournit un environnement sans serveur entièrement géré qui héberge vos modèles d'IA. Vous pouvez diffuser et affiner des modèles Google, des modèles partenaires et des modèles Open Source via une API sécurisée et évolutive. Cette approche élimine toute gestion de l'infrastructure et vous permet de vous concentrer sur l'intégration de l'intelligence des modèles dans vos applications.
Lorsque vous utilisez Vertex AI comme environnement d'exécution de modèle, les principales fonctionnalités et considérations sont les suivantes :
- Contrôle de l'infrastructure : API entièrement gérée pour vos modèles. Google gère l'infrastructure sous-jacente.
- Sécurité : les paramètres de sécurité par défaut gérés et les certifications de conformité standards sont suffisants pour vos besoins. Pour protéger les requêtes et les réponses, et pour assurer des pratiques d'IA responsable, vous pouvez intégrer Model Armor à Vertex AI.
- Disponibilité des modèles : accédez à une large sélection de modèles, y compris les derniers modèles Gemini, via une API gérée.
- Coût : modèle de tarification à l'usage qui s'adapte au trafic de votre application. Pour en savoir plus, consultez Coût de création et de déploiement de modèles d'IA dans Vertex AI.
Cloud Run
Cloud Run fournit un environnement d'exécution sans serveur qui héberge vos modèles dans des conteneurs personnalisés. Cloud Run offre un équilibre entre la simplicité entièrement gérée de Vertex AI et le contrôle approfondi de l'infrastructure de GKE. Cette approche est idéale lorsque vous avez besoin de flexibilité pour exécuter votre modèle dans un environnement conteneurisé sans gérer les serveurs ni les clusters.
Lorsque vous utilisez Cloud Run comme environnement d'exécution de modèle, les principales fonctionnalités et considérations sont les suivantes :
- Contrôle de l'infrastructure : exécutez n'importe quel modèle dans un conteneur personnalisé, qui offre un contrôle total sur l'environnement logiciel, tandis que la plate-forme gère l'infrastructure sans serveur sous-jacente.
- Sécurité : assure la sécurité grâce à des instances de calcul éphémères et isolées, et permet des connexions sécurisées à des ressources privées en utilisant la sortie VPC directe ou un connecteur d'accès au VPC sans serveur. Pour en savoir plus, consultez Réseau privé et Cloud Run.
- Disponibilité des modèles : diffusez des modèles ouverts tels que Gemma ou vos propres modèles personnalisés. Vous ne pouvez pas héberger ni diffuser des modèles Gemini sur Cloud Run.
- Coût : le modèle de tarification à la demande basé sur les requêtes et l'autoscaling jusqu'à zéro le rendent très économique pour les modèles avec un trafic sporadique ou variable. Pour en savoir plus, consultez la page Tarifs de Cloud Run.
GKE
GKE offre le plus de contrôle et de flexibilité pour héberger vos modèles d'IA. Pour utiliser cette approche, vous exécutez vos modèles dans des conteneurs sur un cluster GKE que vous configurez et gérez. GKE est le choix idéal lorsque vous devez exécuter des modèles sur du matériel spécialisé, les colocaliser avec vos applications pour une latence minimale ou avoir un contrôle précis sur chaque aspect de l'environnement de diffusion.
Lorsque vous utilisez GKE comme environnement d'exécution de modèle, les principales fonctionnalités et considérations sont les suivantes :
- Contrôle de l'infrastructure : offre un contrôle maximal et précis sur l'ensemble de l'environnement de diffusion, y compris les configurations de nœuds, les accélérateurs de machines spécialisés et le logiciel de diffusion de modèle spécifique.
- Sécurité : permet d'atteindre le plus haut niveau de sécurité et d'isolation des données, car elle vous permet d'exécuter des modèles entièrement au sein de votre réseau et d'appliquer des règles de sécurité Kubernetes précises. Pour filtrer le trafic vers et depuis un cluster GKE, et pour protéger toutes les interactions avec les modèles d'IA, vous pouvez intégrer Model Armor à GKE .
- Disponibilité des modèles : diffusez des modèles ouverts tels que Gemma, ou vos propres modèles personnalisés. Vous ne pouvez pas héberger ni diffuser des modèles Gemini sur GKE.
- Coût : propose un modèle de coût basé sur les ressources de calcul et de cluster sous-jacentes que vous consommez, ce qui le rend hautement optimisé pour les charges de travail prévisibles et à volume élevé lorsque vous utilisez des remises sur engagement d'utilisation. Pour en savoir plus, consultez la page Tarifs de Google Kubernetes Engine.
Environnement d'exécution de l'agent
Pour héberger et déployer votre application agentique, vous devez choisir un environnement d'exécution d'agent. Ce service exécute le code de votre application, à savoir la logique métier et l'orchestration que vous écrivez lorsque vous utilisez un framework de développement d'agents. À partir de ce runtime, votre application effectue des appels d'API aux modèles que votre runtime de modèle choisi héberge et gère.
Choisir un environnement d'exécution d'agent
Pour sélectionner le runtime lorsque vous hébergez vos agents d'IA, suivez les conseils suivants :
| Cas d'utilisation | Environnement d'exécution de l'agent |
|---|---|
| Votre application est un agent Python et nécessite une expérience entièrement gérée avec une surcharge opérationnelle minimale. | Vertex AI Agent Engine |
| Votre application est conteneurisée et nécessite un scaling sans serveur basé sur les événements avec une flexibilité linguistique. | Cloud Run |
| Votre application est conteneurisée, présente des exigences complexes avec état et nécessite une configuration précise de l'infrastructure. | GKE |
Si vous gérez déjà des applications sur Cloud Run ou sur GKE, vous pouvez accélérer le développement et simplifier les opérations à long terme en utilisant la même plate-forme pour votre charge de travail agentique.
Les sections suivantes présentent chaque environnement d'exécution d'agent, y compris les principales fonctionnalités et les considérations de conception.
Vertex AI Agent Engine
Vertex AI Agent Engine est un environnement d'exécution entièrement géré et orienté qui vous permet de déployer, d'exploiter et de faire évoluer des applications agentiques. Vertex AI Agent Engine fait abstraction de l'infrastructure sous-jacente, ce qui vous permet de vous concentrer sur la logique des agents plutôt que sur les opérations.
Voici les fonctionnalités et les points à prendre en compte pour Vertex AI Agent Engine :
- Flexibilité du langage de programmation et du framework : développez des agents en Python avec n'importe quel framework compatible.
- Protocoles de communication : orchestrez les agents et les outils qui utilisent MCP et A2A. Vertex AI Agent Engine gère efficacement l'environnement d'exécution de ces composants, mais n'est pas compatible avec l'hébergement de serveurs MCP personnalisés.
- Mémoire : fournit des fonctionnalités de mémoire gérée intégrées, ce qui élimine la nécessité de configurer des bases de données externes pour la mémoire de l'agent principal.
Exigence Options disponibles Mémoire à court terme Sessions Vertex AI Agent Engine Mémoire à long terme Memory Bank Recherche et récupération de bases de données - Évolutivité : le scaling s'effectue automatiquement pour répondre aux exigences de votre charge de travail agentique, ce qui élimine la nécessité d'une configuration manuelle. Vertex AI Agent Engine est basé sur Cloud Run et utilise la mise à l'échelle des instances intégrée à Cloud Run pour fournir cette mise à l'échelle automatique.
- Observability : fournit des services intégrés de journalisation, de surveillance et de traçage via les services Google Cloud Observability.
- Sécurité : offre la fiabilité, l'évolutivité et la conformité de niveau entreprise suivantes :
- Identité de service intégrée pour les appels authentifiés et sécurisés aux API Google Cloud.
- Exécutez du code dans un bac à sable sécurisé, isolé et géré avec Vertex AI Agent Engine Code Execution.
- Protégez vos données avec votre propre clé de chiffrement gérée par le client (CMEK) dans Secret Manager.
- Limitez les autorisations IAM et utilisez des règles de pare-feu VPC pour empêcher les appels réseau indésirables.
Pour en savoir plus sur les fonctionnalités de sécurité de Vertex AI Agent Engine, consultez Sécurité pour les entreprises.
Vertex AI Agent Engine accélère le passage à la production, car il fournit un environnement géré et spécialement conçu qui gère de nombreux aspects complexes lorsque vous utilisez des agents, tels que la gestion du cycle de vie et du contexte. Vertex AI Agent Engine est moins adapté aux cas d'utilisation qui nécessitent une personnalisation poussée de l'environnement de calcul ou qui nécessitent des langages de programmation autres que Python. Pour les charges de travail qui ont des exigences de sécurité strictes pour la gestion des dépendances privées, Cloud Run et GKE offrent un chemin de configuration plus direct basé sur IAM.
Cloud Run
Cloud Run est une plate-forme sans serveur entièrement gérée qui vous permet d'exécuter le code de votre application d'agent dans un conteneur sans état. Cloud Run est idéal lorsque vous souhaitez déployer l'ensemble de l'application d'agent, des composants individuels ou des outils personnalisés en tant que points de terminaison HTTP évolutifs sans avoir à gérer l'infrastructure sous-jacente.
Voici les fonctionnalités et les points à prendre en compte pour Cloud Run :
- Flexibilité du langage de programmation et du framework : lorsque vous packagez votre application dans un conteneur, vous pouvez développer des agents dans n'importe quel langage de programmation et avec n'importe quel framework.
- Protocoles de communication : orchestrez les agents et les outils qui utilisent MCP et A2A. Hébergez des clients et des serveurs MCP avec un transport HTTP en flux continu sur Cloud Run.
- Mémoire : les instances Cloud Run sont sans état, ce qui signifie qu'une instance perd toutes les données en mémoire après son arrêt. Pour implémenter la mémoire persistante, connectez votre service à un service de stockageGoogle Cloud géré :
Exigence Options disponibles Mémoire à court terme Mémoire à long terme - Firestore
- Memory Bank avec Cloud Run
Recherche et récupération de bases de données - Évolutivité : adapte automatiquement le nombre d'instances en fonction du trafic entrant et réduit également le nombre d'instances à zéro. Cette fonctionnalité permet à Cloud Run d'être rentable pour les applications dont les charges de travail sont variables.
- Observability : fournit des services intégrés de journalisation, de surveillance et de traçage via les services Google Cloud Observability. Pour en savoir plus, consultez la présentation de la surveillance et de la journalisation.
- Sécurité : fournit les contrôles de sécurité suivants pour vos agents :
- Service d'identité intégré pour les appels authentifiés et sécurisés aux API Google Cloud.
- Exécutez du code non testé dans un environnement sécurisé avec l'environnement bac à sable Cloud Run ou avec l'exécution de code Vertex AI Agent Engine.
- Stockez les données sensibles utilisées par Cloud Run en configurant des secrets dans Secret Manager.
- Empêchez les appels réseau indésirables en limitant les autorisations IAM et en utilisant des règles de pare-feu VPC.
Cloud Run offre une grande simplicité opérationnelle et une rentabilité élevée, car il élimine la gestion de l'infrastructure. Toutefois, la nature sans état de Cloud Run vous oblige à utiliser un service de stockage pour gérer le contexte dans un workflow en plusieurs étapes. De plus, le délai avant expiration maximal des requêtes pour les services Cloud Run est d'une heure, ce qui peut limiter les tâches agentiques de longue durée.
GKE
Google Kubernetes Engine (GKE) est un service d'orchestration de conteneurs géré qui offre un contrôle précis sur l'architecture et l'infrastructure de votre application agentique. GKE convient aux systèmes agentiques complexes qui nécessitent des capacités robustes et de qualité production, ou si vous êtes déjà client GKE et que vous souhaitez implémenter un workflow agentique en plus de votre application existante.
Voici les fonctionnalités et les points à prendre en compte disponibles sur GKE :
- Flexibilité du langage de programmation et du framework : lorsque vous packagez votre application dans un conteneur, vous pouvez développer des agents dans n'importe quel langage de programmation et avec n'importe quel framework.
- Protocoles de communication : orchestrez les agents et les outils qui utilisent MCP et A2A. Hébergez les clients et les serveurs MCP sur GKE lorsque vous les packagez en tant que conteneurs.
- Mémoire : les pods GKE sont éphémères.
Toutefois, vous pouvez créer des agents avec état et une mémoire persistante en utilisant des ressources dans le cluster ou en vous connectant à des services externes :
Exigence Options disponibles Mémoire à court terme Mémoire à long terme - Firestore
- Memory Bank avec GKE
Recherche et récupération de données dans une base de données - StatefulSets et Persistent Volumes pour le stockage durable dans votre cluster.
- Cloud SQL
- AlloyDB pour PostgreSQL
- Scalabilité : les clusters GKE provisionnent automatiquement et mettent à l'échelle vos pools de nœuds pour répondre aux exigences de votre charge de travail.
- Observabilité : fournit une journalisation, une surveillance et un traçage intégrés au niveau du cluster, du nœud et du pod avec Google Cloud Observability. Pour collecter les métriques tierces et définies par l'utilisateur configurées, puis les envoyer à Cloud Monitoring, vous pouvez également utiliser Google Cloud Managed Service pour Prometheus. Pour en savoir plus, consultez Présentation de l'observabilité GKE.
- Sécurité : fournit des contrôles de sécurité précis pour vos agents.
- Utilisez la fédération d'identité de charge de travail pour GKE pour vous authentifier de manière sécurisée auprès des API Google Cloud.
- Isolez le code non approuvé avec GKE Sandbox.
- Stockez les données sensibles utilisées par vos clusters GKE dans Secret Manager.
- Limitez les autorisations IAM et utilisez des règles de pare-feu VPC et des règles réseau pour empêcher les appels réseau indésirables.
GKE offre un contrôle et une flexibilité maximaux, ce qui vous permet d'exécuter des agents complexes avec état. Toutefois, ce contrôle introduit une surcharge opérationnelle et une complexité importantes. Vous devez configurer et gérer le cluster Kubernetes, y compris les pools de nœuds, la mise en réseau et les règles de scaling, ce qui nécessite plus d'expertise et d'efforts de développement qu'une plate-forme sans serveur.
Étapes suivantes
- Outils de l'agent :
- Mémoire de l'agent :
- Modèles de conception d'agent :
- Environnement d'exécution de l'agent :
- Autres ressources sur l'IA agentique sur Google Cloud :
- Pour découvrir d'autres architectures de référence, schémas et bonnes pratiques, consultez le Centre d'architecture cloud.
Contributeurs
Auteur : Samantha He | Rédactrice technique
Autres contributeurs :
- Amina Mansour | Cadre chez Cloud Platform Evaluations
- Amit Maraj | Ingénieur relations avec les développeurs
- Casey West | Architecture Advocate, Google Cloud
- Jack Wotherspoon | Developer Advocate
- Joe Fernandez | Rédacteur technique
- Joe Shirey | Responsable des relations avec les développeurs cloud
- Karl Weinmeister | Directeur des relations avec les développeurs de produits cloud
- Kumar Dhanagopal Développeur de solutions multiproduits
- Lisa Shen | Senior Outbound Product Manager, Google Cloud
- Mandy Grover | Responsable de l'Architecture Center
- Megan O'Keefe | Developer Advocate
- Olivier Bourgeois | Ingénieur relations avec les développeurs
- Polong Lin | Responsable de l'ingénierie des relations avec les développeurs
- Shir Meir Lador | Responsable de l'ingénierie des relations avec les développeurs
- Vlad Kolesnikov | Ingénieur relations avec les développeurs