Ce document fournit une architecture générale pour un système d'IA multi-agents déployé sur Cloud Run, qui analyse des données multimodales disparates et produit une classification à haute fiabilité. Cette approche valide de manière croisée les médias fragmentés en comparant les données en direct à la vérité terrain historique pour produire des insights ancrés et vérifiables.
Ce document s'adresse aux architectes, aux développeurs et aux administrateurs qui créent et gèrent des applications et des infrastructures d'IA dans le cloud. Dans ce document, nous partons du principe que vous possédez des connaissances de base sur les agents et les modèles d'IA. Ce document ne fournit pas de conseils spécifiques pour la conception et le codage d'agents d'IA.
La section Déploiement de ce document liste des exemples de code que vous pouvez utiliser pour apprendre à créer et déployer des systèmes d'IA multi-agents.
Architecture
Le schéma suivant illustre l'architecture du système d'IA multi-agents qui utilise un modèle d'agent parallèle pour coordonner l'analyse indépendante des données multimodales afin de produire une classification unique.
L'architecture présente le flux de données suivant :
- L'application Web envoie une requête à l'agent racine pour qu'il analyse un ensemble de données multimodales à des fins de classification. L'agent racine est un agent coordinateur qui reçoit les requêtes et est déployé sur un service Cloud Run.
- L'agent racine traite la requête de la manière suivante :
- L'agent racine lance un
before_agent_callbackpour collecter les configurations d'environnement, valider les entrées utilisateur et enregistrer les chemins d'accès aux ressources dans un état de session partagé. Tous les sous-agents peuvent accéder à l'état de session partagé, ce qui élimine les appels redondants pour récupérer les données d'état et réduit la latence globale. - L'agent racine utilise Gemini sur Vertex AI pour interpréter la requête de l'utilisateur et distribuer les tâches à des sous-agents spécialisés qui s'exécutent en parallèle.
- L'agent racine lance un
- Chaque sous-agent est spécialisé dans un domaine particulier et effectue les tâches suivantes de manière indépendante :
- Les sous-agents d'analyse d'images et de vidéos interagissent avec des serveurs MCP (Model Context Protocol) personnalisés pour effectuer les actions suivantes :
- Récupérez des données brutes non structurées stockées dans un bucket Cloud Storage.
- Envoyez une requête à Gemini pour qu'il interprète les données d'entrée, les classe et calcule un niveau de confiance.
- Gemini renvoie la classification suggérée et le niveau de confiance au serveur MCP personnalisé.
- Le serveur MCP personnalisé renvoie la réponse au sous-agent.
- Le sous-agent d'analyse des données structurées orchestre l'analyse en effectuant les tâches suivantes :
- Interagit avec le serveur MCP BigQuery pour extraire des données contextuelles structurées (telles que des enregistrements historiques, des journaux d'événements ou des relevés de capteurs) stockées dans un ensemble de données BigQuery.
- L'analyste de données structurées envoie une requête à Gemini pour interpréter les données d'entrée, les classer et calculer un niveau de confiance.
- Gemini renvoie la classification suggérée et le niveau de confiance au sous-agent.
- Les sous-agents d'analyse d'images et de vidéos interagissent avec des serveurs MCP (Model Context Protocol) personnalisés pour effectuer les actions suivantes :
- Chaque sous-agent renvoie la classification suggérée et le niveau de confiance à l'agent racine.
- L'agent racine utilise Gemini pour résumer les résultats des sous-agents spécialisés afin de produire une classification unique et très fiable.
- Si la majorité des classifications des sous-agents spécialisés correspondent, l'agent racine envoie la classification correspondante à l'application Web.
- Si les sous-agents ne fournissent pas de classification correspondante, l'agent racine sélectionne la classification avec le niveau de confiance le plus élevé et l'envoie à l'application Web.
Produits utilisés
Cette architecture de référence utilise les produits et outils suivants : Google Cloud
- Cloud Run : plate-forme de calcul gérée qui vous permet d'exécuter des conteneurs directement sur l'infrastructure évolutive de Google.
- Vertex AI : plate-forme de ML qui vous permet d'entraîner et de déployer des modèles de ML et des applications d'IA, et de personnaliser les LLM à utiliser dans des applications basées sur l'IA.
- Gemini: famille de modèles d'IA multimodaux développés par Google.
- BigQuery : entrepôt de données d'entreprise qui vous aide à gérer et analyser vos données grâce à des fonctionnalités intégrées telles que l'analyse géospatiale du machine learning et l'informatique décisionnelle.
- Cloud Storage : store d'objets économique et sans limite pour tout type de données. Les données sont accessibles depuis et en dehors de Google Cloud, et sont répliquées sur plusieurs emplacements à des fins de redondance.
- Serveurs MCP Google Cloud : services distants gérés par Google qui implémentent le protocole MCP (Model Context Protocol) pour permettre aux applications d'IA d'accéder aux produits et services Google et Google Cloud.
- Model Context Protocol (MCP) : norme Open Source permettant de connecter des applications d'IA à des systèmes externes.
- Agent Development Kit (ADK) : ensemble d'outils et de bibliothèques permettant de développer, tester et déployer des agents d'IA.
Pour savoir comment sélectionner d'autres composants pour votre système d'IA agentive, y compris le framework, l'environnement d'exécution de l'agent, les outils, la mémoire et les modèles de conception, consultez Choisir les composants de votre architecture d'IA agentive.
Cas d'utilisation
Cette architecture est conçue pour les cas d'utilisation qui synthétisent diverses données multimodales pour les tâches de classification et de détection. Pour améliorer la précision et la scalabilité, l'architecture utilise un système d'IA multi-agents au lieu d'une approche mono-agent monolithique. Ce modèle de conception fournit des instructions ciblées, évite les directives contradictoires, permet d'utiliser des ensembles d'outils plus petits pour prendre des décisions plus rapidement et prend en charge les mises à jour indépendantes, ce qui permet d'obtenir des résultats plus robustes et sophistiqués.
Voici des exemples de cas d'utilisation de l'architecture décrite dans ce document :
- Diagnostic médical : fournissez des évaluations diagnostiques complètes en déployant des agents spécialisés pour analyser de manière indépendante les images médicales, les symptômes des patients et les résultats d'analyses. Le système d'IA résume ces résultats en fonction d'un seuil de confiance déterminé afin de fournir aux cliniciens des informations ancrées et vérifiables.
- Détection de la fraude : détectez et signalez les fraudes potentielles en déployant des agents pour analyser de manière indépendante les schémas de comportement des utilisateurs et les données de transaction, comme les reçus scannés et les factures des marchands. En croisant les preuves visuelles des documents avec l'activité du réseau numérique, le système identifie les incohérences et signale toute transaction pour laquelle un seul agent identifie un indicateur suspect.
- Traitement des documents : automatisez la classification et l'extraction d'informations à partir de documents en déployant des agents spécialisés pour la reconnaissance optique des caractères (OCR), la classification des documents et l'extraction de données. Pour prendre en charge le traitement à haute fiabilité, le système d'IA exige que tous les agents s'accordent sur le résultat.
- Contrôle qualité : classez la qualité des produits ou détectez les anomalies en déployant des agents spécialisés pour l'inspection visuelle, l'analyse des données de capteurs et la vérification des spécifications. Le système détermine si le test est réussi ou non en fonction d'un seuil de confiance déterminé entre les agents.
Considérations de conception
Pour implémenter cette architecture en production, tenez compte des recommandations suivantes :
- Sécurité des agents : pour limiter la capacité d'un agent à effectuer des actions dangereuses, créez une identité d'agent, puis sécurisez l'accès à vos serveurs MCP à l'aide d'attributs Identity and Access Management (IAM). En appliquant le principe du moindre privilège, vous pouvez vous assurer que votre système d'IA agentique se comporte comme prévu et empêcher tout accès en lecture/écriture non souhaité à vos ressources de production.
- Sécurité Ingress : pour contrôler l'accès à l'application, désactivez l'URL run.app par défaut du service Cloud Run de frontend et configurez un équilibreur de charge d'application externe régional. En plus d'équilibrer la charge du trafic entrant vers l'application, l'équilibreur de charge gère les certificats SSL. Pour une protection renforcée, utilisez les stratégies de sécurité Google Cloud Armor afin de filtrer les requêtes, de protéger le service contre les attaques DDoS et de limitation du débit.
- Sécurité des images de conteneurs : pour vous assurer que seules les images de conteneurs autorisées sont déployées sur Cloud Run, utilisez l'autorisation binaire. Pour identifier et atténuer les risques de sécurité dans les images de conteneurs, exécutez automatiquement des analyses des failles à l'aide d'Artifact Analysis. Pour en savoir plus, consultez Présentation de l'analyse des conteneurs.
- Requêtes économiques : la longueur de vos requêtes (entrées) et des réponses générées (sorties) affecte directement les performances et les coûts. Rédigez des requêtes courtes et directes, qui fournissent suffisamment de contexte. Pour en savoir plus, consultez les bonnes pratiques de conception des requêtes.
- Coûts de stockage : pour contrôler les coûts de stockage, vous pouvez choisir la classe de stockage Standard et activer la gestion du cycle de vie des objets et la classe automatique. Ces fonctionnalités vous aident à optimiser les coûts en déplaçant ou en supprimant automatiquement des données entre les classes de stockage en fonction de vos modèles d'accès ou des règles que vous définissez.
- Sécurité du stockage : Cloud Storage propose deux méthodes pour contrôler l'accès des utilisateurs à vos buckets et objets : IAM et les listes de contrôle des accès (LCA). Dans la plupart des cas, nous vous recommandons d'utiliser IAM, qui vous permet d'accorder des autorisations au niveau du bucket et du projet. Pour en savoir plus, consultez Présentation du contrôle des accès.
- Allocation de ressources : en fonction de vos exigences en termes de performances, configurez les limites de mémoire et les limites de processeur à allouer au service Cloud Run. Pour obtenir d'autres conseils sur l'optimisation des performances, consultez Conseils de développement généraux pour Cloud Run.
Pour en savoir plus sur les facteurs de conception et les bonnes pratiques, et pour obtenir des recommandations sur la création et le déploiement d'un système d'IA multi-agents, consultez Système d'IA multi-agents dans Google Cloud.
Déploiement
Pour déployer un exemple d'implémentation de cette architecture, essayez l'atelier de programmation "Retour à la maison" de niveau 1.
Étapes suivantes
- Découvrez comment héberger des agents d'IA sur Cloud Run.
- Découvrez comment créer et déployer un serveur MCP distant sur Cloud Run.
- Découvrez comment choisir les composants de votre architecture d'IA agentive.
- (Vidéo) Regardez le podcast Agent Factory sur la création d'outils personnalisés pour les agents.
- Découvrez d'autres guides sur l'architecture de l'IA agentique.
- Pour obtenir une présentation des principes et des recommandations d'architecture spécifiques aux charges de travail d'IA et de ML dans Google Cloud, consultez la perspective de l'IA et du ML dans le framework Well-Architected.
- 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
- Andrey Shakirov | Architecte de solutions, Google Cloud
- Ayo Adedeji | Ingénieur relations avec les développeurs
- Christina Lin | Responsable de l'équipe d'ingénieurs chargés des relations avec les développeurs
- Kumar Dhanagopal Développeur de solutions multiproduits
- Ryan Pei | Responsable produit, Google Cloud