Puoi connettere gli agenti Agent Development Kit (ADK) a Cloud Storage per consentire ai workload degli agenti di accedere ai dati archiviati e ai set di strumenti ADK integrati. Questa integrazione ti consente di mantenere lo stato, la memoria e i checkpoint per le attività a lunga esecuzione e di condividere file intermedi tra i workflow multi-agente.
Per istruzioni sulla configurazione ed esempi di codice, consulta la guida all'integrazione dell'ADK.
Vantaggi dell'integrazione di Cloud Storage con ADK
Quando integri Cloud Storage con i tuoi agenti, questi possono gestire file di grandi dimensioni, mantenere la cronologia delle conversazioni e riutilizzare l'infrastruttura di archiviazione esistente.
- Espansione dinamica del contesto: offri agli agenti l'accesso a set di dati, manuali o file multimediali di grandi dimensioni senza raggiungere i limiti di lettura di un LLM in una sola volta.
- Persistenza degli artefatti durevole: archivia file temporanei, log o elementi generati (come report o immagini) in modo affidabile al di fuori della cronologia delle conversazioni.
- Supporto per qualsiasi tipo di artefatto: elabora e genera diversi formati, tra cui testo, immagini, audio e video, utilizzando Cloud Storage come spazio di archiviazione condiviso.
- Controllo granulare dell'accesso: controlla l'accesso degli agenti a Cloud Storage con precisione utilizzando i ruoli IAM. ADK utilizza l'autenticazione Cloud de Confiance by S3NS standard per garantire che gli agenti dispongano solo delle autorizzazioni minime necessarie per accedere ai dati o eseguire un'attività.
Casi d'uso
Dotando i tuoi agenti delle funzionalità di Cloud Storage, puoi gestire i seguenti casi d'uso:
- Recupero dinamico del contesto, noto anche come Retrieval-Augmented Generation (RAG)
- Persistenza e archiviazione degli artefatti
- Elaborazione di payload di grandi dimensioni
- Gestione automatizzata delle risorse
Recupero dinamico del contesto tramite RAG
Gli agenti possono agire come ricercatori, individuando e leggendo i documenti in Cloud Storage per rispondere alle domande in tempo reale. Questo approccio è utile per le knowledge base interne o i bot di assistenza.
- Ricerca delle policy: puoi fare in modo che un agente elenchi e legga i manuali PDF più recenti in un bucket
compliance-docsper rispondere alle domande degli utenti sulle policy aziendali. - Sintesi di più oggetti: puoi creare un agente per recuperare e combinare informazioni da più oggetti di archiviazione per sintetizzare un riepilogo unificato.
Persistenza e archiviazione degli artefatti
Salva in modo affidabile grandi quantità di dati generati dagli agenti per la revisione umana, altri sistemi o l'audit.
- Report automatici: puoi creare un agente che analizza le metriche del database, genera un report riepilogativo e lo carica in un bucket
reports-archive. - Archivia i media generati: puoi configurare un sistema multi-agente per salvare le immagini create dall'AI o gli oggetti audio generati in Cloud Storage e restituire solo l'URI di archiviazione o un URL firmato.
Elaborazione di payload di grandi dimensioni
Progetta gli agenti in modo che utilizzino gli URI di archiviazione (percorsi dei file) anziché incollare i contenuti completi dei file nella chat. In questo modo si evitano i costi elevati e l'inefficienza dell'invio di file CSV o codebase di grandi dimensioni all'LLM.
- Gestori di pipeline di dati: puoi fare in modo che l'agente riceva un URI di archiviazione anziché utilizzare un file CSV di grandi dimensioni. L'agente può quindi eseguire l'analisi elaborando i chunk o ispezionando i metadati e restituire una dashboard di riepilogo.
- Flussi di lavoro disaccoppiati: puoi progettare un agente che agisca come supervisore e riceva un URI di archiviazione per un prefisso, una cartella o un bucket Cloud Storage. L'agente può passare questo URI ai worker di backend per elaborare gli oggetti e scrivere i risultati finali nello spazio di archiviazione. Questo pattern è compatibile con servizi basati su eventi come Cloud Run Functions o Cloud Run per elaborare i dati in modo asincrono.
Gestione automatizzata delle risorse
Gli agenti possono aiutare a ottimizzare l'utilizzo dello spazio di archiviazione, automatizzare le attività amministrative e applicare la governance in più bucket. Questo è particolarmente utile per i team che gestiscono un'infrastruttura di archiviazione estesa.
- Controllo dell'infrastruttura: puoi creare un agente per analizzare le configurazioni dei bucket (come la località o la classe di archiviazione) e suggerire ottimizzazioni o identificare impostazioni non conformi.
- Pulizia delle risorse: puoi creare un agente per identificare i bucket vuoti o obsoleti e automatizzare il processo di pulizia in base alle tue policy di conservazione.
Set di strumenti ADK per Cloud Storage
ADK fornisce i seguenti set di strumenti in Python per Cloud Storage. Comprendere entrambi ti aiuta a definire i ruoli degli agenti e a limitare le loro autorizzazioni.
GCSToolset per la gestione dei dati
Il set di strumenti GCSToolset consente all'agente di manipolare i file all'interno dei bucket esistenti. Utilizzalo per attività come la lettura di documenti, il caricamento di risultati o l'eliminazione di oggetti temporanei.
- Leggi oggetti: recupera i contenuti direttamente utilizzando
get_object_data. - Scopri i contenuti: elenca gli oggetti disponibili utilizzando
list_objects. - Ispeziona le proprietà degli oggetti: controlla le dimensioni degli oggetti o i metadati
Content-Typeutilizzandoget_object_metadata. - Caricamento e persistenza: crea nuovi oggetti utilizzando
create_object. - Rimuovi gli oggetti: rimuovi gli oggetti temporanei utilizzando
delete_objects.
GCSAdminToolset per l'infrastruttura
Utilizza il set di strumenti GCSAdminToolset per gestire l'infrastruttura di archiviazione, ad esempio per creare bucket o automatizzare le attività amministrative.
- Scopri l'infrastruttura: elenca i bucket in un progetto utilizzando
list_buckets. - Esegui il provisioning dello spazio di archiviazione: crea nuovi bucket utilizzando
create_bucket. - Riconfigura lo spazio di archiviazione: modifica le configurazioni utilizzando
update_bucket. - Esegui il deprovisioning dello spazio di archiviazione: rimuovi i bucket utilizzando
delete_bucket. - Ispeziona il contesto del bucket: recupera i metadati del bucket utilizzando
get_bucketper controllare la località, la classe di archiviazione o i controlli di accesso del bucket.
Best practice
Per ottimizzare le prestazioni e la sicurezza degli agenti durante l'integrazione con Cloud Storage, tieni presente le seguenti best practice:
- Disaccoppia i payload di grandi dimensioni dalla cronologia delle conversazioni: evita di passare file di grandi dimensioni direttamente all'agente. Archiviali in Cloud Storage e invia i riferimenti ai file (URI). In questo modo si riducono i costi dei token e si evita di raggiungere i limiti di contesto.
- Applica il principio del privilegio minimo: concedi all'agente solo le autorizzazioni minime necessarie per eseguire le sue attività. Evita ruoli generici come
roles/storage.admin, a meno che non gestisci l'infrastruttura. Per le operazioni su file standard, utilizza ruoli mirati comeroles/storage.objectUseroroles/storage.objectViewerlimitati a bucket specifici. - Gestisci le configurazioni centralmente: evita di impostare come hardcoded i nomi dei bucket o i percorsi dei nomi degli oggetti nella logica dell'agente. Utilizza variabili di ambiente o gestori della configurazione per passare da un ambiente di archiviazione di sviluppo, test e produzione all'altro.
- Implementa strategie di recupero efficienti: quando utilizzi Cloud Storage come livello per il recupero delle conoscenze, non caricare interi documenti di grandi dimensioni nel contesto dell'agente. Pre-elabora e suddividi i documenti in blocchi oppure utilizza strumenti di ricerca dedicati per recuperare solo i segmenti pertinenti.
Limitazioni
Quando integri Cloud Storage con ADK, tieni presente le seguenti limitazioni:
- Oggetti immutabili: gli oggetti Cloud Storage sono immutabili. Non puoi aggiungere dati a un oggetto esistente. Se l'agente deve registrare continuamente gli eventi in un singolo file, deve sovrascrivere completamente l'oggetto o creare più oggetti di piccole dimensioni e comporli in un secondo momento.
- Latenza nella gestione dello stato ad alta frequenza: Cloud Storage è adatto per l'archiviazione di artefatti durevoli e payload di grandi dimensioni. Tuttavia, l'utilizzo di Cloud Storage per aggiornamenti di stato ad alta frequenza e bassa latenza può introdurre latenza. Ad esempio, monitorare ogni turno di una conversazione rapida potrebbe essere più lento rispetto all'utilizzo di database o memoria cache.
- Mancanza di atomicità multi-oggetto: le operazioni di Cloud Storage si applicano ai singoli oggetti. Se l'agente richiede aggiornamenti atomici su più file contemporaneamente, devi implementare la logica di coordinamento all'interno dell'applicazione.
Passaggi successivi
- Per visualizzare esempi di codice dettagliati, istruzioni di configurazione e riferimenti ai parametri per inizializzare i set di strumenti di Cloud Storage nella tua applicazione Python, consulta la guida all'integrazione dell'ADK.
- Per utilizzare le competenze degli agenti predefiniti con gli agenti ADK o gli assistenti al coding AI, consulta Competenze degli agenti Cloud Storage.