Connecter des agents Agent Development Kit à Cloud Storage

Vous pouvez connecter des agents Agent Development Kit (ADK) à Cloud Storage pour permettre aux charges de travail agentiques d'accéder aux données stockées et aux ensembles d'outils ADK intégrés. Cette intégration vous permet de conserver l'état, la mémoire et les points de contrôle pour les tâches de longue durée, et de partager des fichiers intermédiaires entre les workflows multi-agents.

Pour obtenir des instructions de configuration et des exemples de code, consultez le guide d'intégration de l'ADK.

Avantages de l'intégration de Cloud Storage à ADK

Lorsque vous intégrez Cloud Storage à vos agents, ils peuvent gérer des fichiers volumineux, conserver l'historique des conversations et réutiliser votre infrastructure de stockage existante.

  • Extension de contexte dynamique : donnez aux agents l'accès à de grands ensembles de données, à des manuels ou à des fichiers multimédias sans atteindre les limites de ce qu'un LLM peut lire à la fois.
  • Persistance durable des artefacts : stockez des fichiers temporaires, des journaux ou des éléments générés (comme des rapports ou des images) de manière fiable en dehors de l'historique des conversations.
  • Compatibilité avec tous les types d'artefacts : traitez et générez différents formats, y compris du texte, des images, de l'audio et de la vidéo, en utilisant Cloud Storage comme stockage partagé.
  • Contrôle des accès ultraprécis : contrôlez précisément l'accès des agents à Cloud Storage à l'aide de rôles IAM. ADK utilise l'authentification Cloud de Confiance by S3NS standard pour s'assurer que les agents ne disposent que des autorisations minimales nécessaires pour accéder aux données ou effectuer une tâche.

Cas d'utilisation

En équipant vos agents de fonctionnalités Cloud Storage, vous pouvez répondre aux cas d'utilisation suivants :

  • Récupération de contexte dynamique, également appelée génération augmentée par récupération (RAG)
  • Persistance et archivage des artefacts
  • Traitement des charges utiles volumineuses
  • Gestion automatisée des ressources

Récupération dynamique du contexte via le RAG

Les agents peuvent agir en tant que chercheurs en découvrant et en lisant des documents dans Cloud Storage pour répondre aux questions en temps réel. Cette approche est utile pour les bases de connaissances internes ou les bots d'assistance.

  • Recherche de règles : vous pouvez demander à un agent de lister et de lire les derniers manuels au format PDF dans un bucket compliance-docs pour répondre aux questions des utilisateurs sur les règles de l'entreprise.
  • Synthèse multi-objets : vous pouvez créer un agent pour récupérer et combiner des informations provenant de plusieurs objets de stockage afin de synthétiser un résumé unifié.

Persistance et archivage des artefacts

Enregistrez de manière fiable de grandes quantités de données générées par l'agent pour un examen humain, d'autres systèmes ou un audit.

  • Reporting automatisé : vous pouvez créer un agent qui analyse les métriques de base de données, génère un rapport récapitulatif et l'importe dans un bucket reports-archive.
  • Stocker les contenus multimédias générés : vous pouvez configurer un système multi-agent pour enregistrer les images ou les objets audio générés dans Cloud Storage et ne renvoyer que l'URI de stockage ou une URL signée.

Traitement des charges utiles volumineuses

Concevez des agents de manière à ce qu'ils utilisent des URI de stockage (chemins d'accès aux fichiers) au lieu de coller l'intégralité du contenu des fichiers dans le chat. Cela évite les coûts élevés et l'inefficacité liés à l'envoi de fichiers CSV ou de codebases volumineux au LLM.

  • Gestionnaires de pipeline de données : vous pouvez faire en sorte que votre agent reçoive un URI de stockage au lieu de consommer un fichier CSV volumineux. L'agent peut ensuite effectuer une analyse en traitant des fragments ou en inspectant les métadonnées, puis renvoyer un tableau de bord récapitulatif.
  • Workflows dissociés : vous pouvez concevoir un agent qui agit en tant que superviseur et reçoit un URI de stockage pour un préfixe, un dossier ou un bucket Cloud Storage. L'agent peut transmettre cet URI aux workers de backend pour traiter les objets et réécrire les résultats finaux dans l'espace de stockage. Ce modèle est compatible avec les services basés sur des événements tels que Cloud Run Functions ou Cloud Run pour traiter les données de manière asynchrone.

Gestion automatisée des ressources

Les agents peuvent vous aider à optimiser l'utilisation de l'espace de stockage, à automatiser les tâches administratives et à appliquer la gouvernance sur plusieurs buckets. Cette fonctionnalité est particulièrement utile pour les équipes qui gèrent une infrastructure de stockage étendue.

  • Audit de l'infrastructure : vous pouvez créer un agent pour analyser les configurations de bucket (comme l'emplacement ou la classe de stockage), et suggérer des optimisations ou identifier les paramètres non conformes.
  • Nettoyage des ressources : vous pouvez créer un agent pour identifier les buckets vides ou obsolètes, et automatiser le processus de nettoyage en fonction de vos règles de conservation.

Ensembles d'outils ADK pour Cloud Storage

ADK fournit les ensembles d'outils suivants en Python pour Cloud Storage. Comprendre ces deux concepts vous aide à définir les rôles des agents et à limiter leurs autorisations.

GCSToolset pour la gestion des données

L'ensemble d'outils GCSToolset permet à votre agent de manipuler des fichiers dans des buckets existants. Utilisez-le pour des tâches telles que la lecture de documents, l'importation de résultats ou la suppression d'objets temporaires.

  • Lire des objets : récupérez du contenu directement à l'aide de get_object_data.
  • Découvrir du contenu : répertoriez les objets disponibles à l'aide de list_objects.
  • Inspecter les propriétés d'un objet : vérifiez la taille de l'objet ou les métadonnées Content-Type à l'aide de get_object_metadata.
  • Importer et conserver : créez des objets à l'aide de create_object.
  • Supprimer des objets : supprimez les objets temporaires à l'aide de delete_objects.

GCSAdminToolset pour l'infrastructure

Utilisez l'ensemble d'outils GCSAdminToolset pour gérer l'infrastructure de stockage, par exemple pour créer des buckets ou automatiser des tâches d'administration.

  • Découvrir l'infrastructure : listez les buckets d'un projet à l'aide de list_buckets.
  • Provisionner l'espace de stockage : créez des buckets à l'aide de create_bucket.
  • Reconfigurer le stockage : modifiez les configurations à l'aide de update_bucket.
  • Déprovisionner l'espace de stockage : supprimez les buckets à l'aide de delete_bucket.
  • Inspecter le contexte du bucket : obtenez les métadonnées du bucket à l'aide de get_bucket pour vérifier l'emplacement du bucket, la classe de stockage ou les contrôles d'accès.

Bonnes pratiques

Pour optimiser les performances et la sécurité de l'agent lors de l'intégration à Cloud Storage, tenez compte des bonnes pratiques suivantes :

  • Dissociez les charges utiles volumineuses de l'historique des conversations : évitez de transmettre des fichiers volumineux directement à l'agent. Stockez-les dans Cloud Storage et envoyez plutôt des références de fichiers (URI). Cela réduit les coûts des jetons et évite d'atteindre les limites de contexte.
  • Appliquez le principe du moindre privilège : n'accordez à l'agent que les autorisations minimales nécessaires pour effectuer ses tâches. Évitez les rôles généraux comme roles/storage.admin, sauf si vous gérez l'infrastructure. Pour les opérations standards sur les fichiers, utilisez des rôles ciblés tels que roles/storage.objectUser ou roles/storage.objectViewer, limités à des buckets spécifiques.
  • Gérez les configurations de manière centralisée : évitez de coder en dur les noms de buckets ou les chemins d'accès aux noms d'objets dans la logique de votre agent. Utilisez des variables d'environnement ou des gestionnaires de configuration pour basculer entre les environnements de stockage de développement, de test et de production.
  • Implémentez des stratégies de récupération efficaces : lorsque vous utilisez Cloud Storage comme couche pour la récupération de connaissances, ne chargez pas de documents volumineux entiers dans le contexte de l'agent. Prétraitez et segmentez les documents, ou utilisez des outils de recherche dédiés pour ne récupérer que les segments pertinents.

Limites

Lorsque vous intégrez Cloud Storage à ADK, tenez compte des limites suivantes :

  • Objets immuables : les objets Cloud Storage sont immuables. Vous ne pouvez pas ajouter de données à un objet existant. Si votre agent doit consigner des événements en continu dans un seul fichier, il doit écraser complètement l'objet ou créer plusieurs petits objets et les composer ultérieurement.
  • Latence dans la gestion d'état à haute fréquence : Cloud Storage est idéal pour le stockage d'artefacts durables et de charges utiles volumineuses. Toutefois, l'utilisation de Cloud Storage pour les mises à jour d'état à haute fréquence et à faible latence peut entraîner une latence. Par exemple, le suivi de chaque tour de parole dans un échange rapide peut être plus lent que l'utilisation de caches ou de bases de données en mémoire.
  • Manque d'atomicité multi-objet : les opérations Cloud Storage s'appliquent à des objets individuels. Si votre agent nécessite des mises à jour atomiques sur plusieurs fichiers simultanément, vous devez implémenter une logique de coordination dans votre application.

Étapes suivantes

  • Pour obtenir des exemples de code détaillés, des instructions de configuration et des références de paramètres pour initialiser les ensembles d'outils Cloud Storage dans votre application Python, consultez le guide d'intégration de l'ADK.
  • Pour utiliser des compétences d'agent prédéfinies avec vos agents ADK ou vos assistants d'assistance au codage IA, consultez Compétences d'agent Cloud Storage.