Questo documento fornisce indicazioni per aiutarti a scegliere i componenti dell'architettura per le tue applicazioni di AI agentica in Google Cloud. Descrive come valutare le caratteristiche dell'applicazione e del workload per scegliere un prodotto o un servizio appropriato che meglio si adatta alle tue esigenze. Il processo di progettazione di un'architettura di AI agentica è iterativo. Dovresti rivalutare periodicamente la tua architettura man mano che cambiano le caratteristiche del workload, si evolvono i requisiti o diventano disponibili nuovi prodotti e funzionalità di Google Cloud .
Gli agenti AI sono efficaci per le applicazioni che risolvono problemi aperti, che potrebbero richiedere un processo decisionale autonomo e una gestione complessa del workflow in più passaggi. Gli agenti sono eccellenti nel risolvere i problemi in tempo reale utilizzando dati esterni e nell'automatizzare le attività ad alta intensità di conoscenza. Queste funzionalità consentono agli agenti di fornire un valore aziendale maggiore rispetto alle funzionalità di assistenza e generazione di un modello di AI.
Puoi utilizzare gli agenti AI per problemi deterministici con passaggi predefiniti. Tuttavia, altri approcci possono essere più efficienti ed economici. Ad esempio, non hai bisogno di un Agentic Workflow per attività come riassumere un documento, tradurre un testo o classificare il feedback dei clienti.
Per informazioni su soluzioni di AI non basate su agenti alternative, consulta le seguenti risorse:
- Qual è la differenza tra agenti AI, assistenti AI e bot?
- Scegli modelli e infrastruttura per la tua applicazione di AI generativa
Panoramica dell'architettura dell'agente
Un agente è un'applicazione che raggiunge un obiettivo elaborando l'input, eseguendo il ragionamento con gli strumenti disponibili e intraprendendo azioni in base alle sue decisioni. Un agente utilizza un modello di AI come motore di ragionamento principale per automatizzare attività complesse. L'agente utilizza un insieme di strumenti che consentono al modello di AI di interagire con sistemi e origini dati esterni. Un agente può utilizzare un sistema di memoria per mantenere il contesto e imparare dalle interazioni. L'obiettivo di un'architettura agentica è creare un sistema autonomo in grado di comprendere l'intent di un utente, creare un piano in più passaggi ed eseguirlo utilizzando gli strumenti disponibili.
Il seguente diagramma mostra una panoramica generale dei componenti dell'architettura di un sistema basato su agenti:
L'architettura del sistema agentico include i seguenti componenti:
- Framework frontend: una raccolta di componenti, librerie e strumenti predefiniti che utilizzi per creare l'interfaccia utente (UI) della tua applicazione.
- Framework di sviluppo degli agenti: i framework e le librerie che utilizzi per creare e strutturare la logica dell'agente.
- Strumenti dell'agente: la raccolta di strumenti, come API, servizi e funzioni, che recuperano i dati ed eseguono azioni o transazioni.
- Memoria dell'agente: il sistema utilizzato dall'agente per archiviare e richiamare le informazioni.
- Pattern di progettazione degli agenti: approcci architetturali comuni per strutturare la tua applicazione agentica.
- Agent Runtime: l'ambiente di computing in cui viene eseguita la logica dell'applicazione dell'agente.
- Modelli di AI: il motore di ragionamento principale che alimenta le capacità decisionali dell'agente.
- Runtime del modello: l'infrastruttura che ospita e gestisce il modello di AI.
Le sezioni seguenti forniscono un'analisi dettagliata dei componenti per aiutarti a prendere decisioni su come creare la tua architettura. I componenti che scegli influenzeranno le prestazioni, la scalabilità, i costi e la sicurezza dell'agente. Questo documento si concentra sui componenti architetturali essenziali che utilizzi per creare ed eseguire il deployment della logica di ragionamento ed esecuzione di base di un agente. Argomenti come i framework di sicurezza dell'AI responsabile e la gestione delle identità degli agenti sono considerati fuori ambito per questo documento.
Framework frontend
Il framework di frontend è una raccolta di componenti, librerie e strumenti predefiniti che utilizzi per creare l'interfaccia utente per la tua applicazione basata su agenti. Il framework di frontend che scegli definisce i requisiti per il backend. Un'interfaccia semplice per una demo interna potrebbe richiedere solo un'API HTTP sincrona, mentre un'applicazione di livello di produzione richiede un backend che supporti i protocolli di streaming e una gestione dello stato solida.
Prendi in considerazione le seguenti categorie di framework:
- Framework di prototipazione e strumenti interni: per uno sviluppo rapido, demo interne e applicazioni proof of concept, scegli framework che diano priorità all'esperienza e alla velocità degli sviluppatori. In genere, questi framework favoriscono un modello semplice e sincrono chiamato modello richiesta-risposta. Un modello di richiesta-risposta ti consente di creare una UI funzionale con un codice minimo e un backend più semplice rispetto a un framework di produzione. Questo approccio è ideale per testare rapidamente la logica degli agenti e le integrazioni degli strumenti, ma potrebbe non essere adatto per applicazioni pubbliche altamente scalabili che richiedono interazioni in tempo reale. I framework comuni in questa categoria includono Mesop e Gradio.
- Framework di produzione: per applicazioni scalabili, reattive e ricche di funzionalità per utenti esterni, scegli un framework che consenta componenti personalizzati. Questi framework richiedono un'architettura di backend in grado di supportare un'esperienza utente moderna. Un framework di produzione deve includere il supporto per i protocolli di streaming, un design dell'API stateless e un sistema di memoria esterno e robusto per gestire lo stato della conversazione in più sessioni utente. I framework comuni per le applicazioni di produzione includono Streamlit, React e Flutter AI Toolkit.
Per gestire la comunicazione tra questi framework e il tuo agente AI, puoi utilizzare il protocollo Agent–User Interaction (AG-UI). AG-UI è un protocollo aperto che consente agli agenti AI di backend di interagire con il tuo framework di frontend. AG-UI indica al framework frontend quando eseguire il rendering della risposta dell'agente, aggiornare lo stato dell'applicazione o attivare un'azione lato client. Per creare applicazioni di AI interattive, combina AG-UI con Agent Development Kit (ADK). Per informazioni sull'ADK, vai alla sezione successiva "Framework di sviluppo degli agenti".
Framework di sviluppo degli agenti
I framework di sviluppo degli agenti sono librerie che semplificano il processo di creazione, test e deployment di applicazioni di AI agentica. Questi strumenti di sviluppo forniscono componenti e astrazioni predefiniti per le capacità agentiche principali, tra cui cicli di ragionamento, memoria e integrazione degli strumenti.
Per accelerare lo sviluppo degli agenti in Google Cloud, ti consigliamo di utilizzare l'ADK. ADK è un framework open source, strutturato e modulare che fornisce un livello elevato di astrazione per la creazione e l'orchestrazione di workflow, da attività semplici a sistemi multi-agente complessi.
ADK è ottimizzato per i modelli Gemini eGoogle Cloud, ma è progettato per essere compatibile con altri framework. ADK supporta altri modelli di AI e runtime, quindi puoi utilizzarlo con qualsiasi modello o metodo di deployment. Per i sistemi multi-agente, l'ADK supporta l'interazione tramite stati di sessione condivisi, la delega basata su modelli per instradare le attività tra gli agenti e la chiamata esplicita che consente a un agente di chiamare un altro agente come funzione o strumento.
Per aiutarti a iniziare rapidamente, l'ADK fornisce esempi di codice in Python, Java e Go che mostrano una serie di casi d'uso in più settori. Sebbene molti di questi esempi evidenzino i flussi conversazionali, l'ADK è adatto anche per la creazione di agenti autonomi che eseguono attività di backend. Per questi casi d'uso non interattivi, scegli un pattern di progettazione degli agenti che eccelle nell'elaborazione di una singola richiesta autonoma e che implementa una gestione degli errori efficace.
Per creare un'architettura di agenti personalizzata, puoi anche utilizzare un framework di AI per finalità generali come Genkit. Genkit fornisce primitive che ti consentono di avere un controllo granulare sulla logica dell'agente senza l'astrazione di alto livello offerta dall'ADK. Tuttavia, un framework di agenti dedicato come ADK fornisce strumenti specializzati per lo sviluppo di applicazioni basate su agenti.
Strumenti per agenti
La capacità di un agente di interagire con sistemi esterni tramite strumenti ne definisce l'efficacia. Gli strumenti dell'agente sono funzioni o API disponibili per il modello di AI e che l'agente utilizza per migliorare l'output e consentire l'automazione delle attività. Quando colleghi un agente AI a sistemi esterni, gli strumenti trasformano l'agente da un semplice generatore di testo a un sistema in grado di automatizzare attività complesse in più passaggi.
Per abilitare le interazioni con gli strumenti, scegli uno dei seguenti pattern di utilizzo degli strumenti:
| Caso d'uso | Pattern di utilizzo degli strumenti |
|---|---|
| Devi eseguire un'attività comune, come completare una ricerca web, eseguire un calcolo o un codice, e vuoi accelerare lo sviluppo iniziale. | Strumenti integrati |
| Vuoi creare un sistema modulare o multi-agente che richieda strumenti interoperabili e riutilizzabili. | Model Context Protocol (MCP) |
| Devi gestire, proteggere e monitorare un numero elevato di strumenti basati su API su scala aziendale. | Piattaforma di gestione delle API |
| Devi eseguire l'integrazione con un'API interna o di terze parti specifica che non dispone di un server MCP. | Strumenti per funzioni personalizzate |
Quando selezioni gli strumenti per il tuo agente, valutali in base alle loro funzionalità e alla loro affidabilità operativa. Dai la priorità a strumenti osservabili, facili da sottoporre a debug e che includono una gestione degli errori efficace. Queste funzionalità ti aiutano a garantire la tracciabilità delle azioni e la risoluzione rapida degli errori. Inoltre, valuta la capacità dell'agente di selezionare lo strumento giusto per completare correttamente le attività assegnate.
Strumenti integrati
L'ADK fornisce diversi strumenti integrati direttamente nel runtime dell'agente. Puoi chiamare questi strumenti come funzioni senza configurare protocolli di comunicazione esterni. Questi strumenti forniscono funzionalità comuni, tra cui l'accesso alle informazioni in tempo reale dal web, l'esecuzione di codice in modo programmatico in un ambiente sicuro, il recupero di informazioni da dati aziendali privati per implementare la RAG e l'interazione con dati strutturati nei database cloud. Gli strumenti integrati funzionano insieme a tutti gli strumenti personalizzati che crei.
MCP
Per consentire ai componenti del tuo sistema di agenti di interagire, devi stabilire protocolli di comunicazione chiari. MCP è un protocollo aperto che fornisce un'interfaccia standardizzata per consentire agli agenti di accedere e utilizzare gli strumenti, i dati e altri servizi necessari.
L'MCP separa la logica di ragionamento principale dell'agente dall'implementazione specifica dei suoi strumenti, in modo simile a come una porta hardware standard consente a diverse periferiche di connettersi a un dispositivo.
MCP offre i seguenti vantaggi:
- Semplifica l'integrazione degli strumenti fornendo connettori predefiniti. Quando vengono aggiunti altri strumenti a un server MCP, l'agente li rileva senza ulteriori configurazioni.
- Fornisce un modo coerente per creare integrazioni personalizzate.
- Offre flessibilità e promuove l'interoperabilità tra diversi modelli e strumenti.
Puoi implementare i server MCP all'interno del tuo sistema di AI agentica utilizzando i seguenti metodi:
- Server MCP di Google Cloud: Per connettersi a Google e ai servizi Google Cloud , connettersi ai server MCP remoti completamente gestiti da Google. Questi server migliorano l'infrastruttura esistente fornendo un livello unificato per tutti i servizi Google e Google Cloud che utilizzi. Questi server forniscono scalabilità stateless e integrazione con Identity and Access Management (IAM) e Cloud Audit Logs. Per un elenco dei server MCP di Google Cloud, consulta Prodotti supportati.
- Server MCP remoti: per connetterti ad API esterne, connettiti a un server MCP remoto ospitato e gestito da una terza parte.
- Server MCP in hosting autonomo: per implementare la logica degli agenti e gli strumenti personalizzati, ospita il tuo server MCP. Hai il controllo completo su come esporre le API proprietarie o di terze parti ai tuoi agenti. Per ospitare il tuo server MCP personalizzato, eseguine il deployment come applicazione containerizzata su Cloud Run o Google Kubernetes Engine (GKE).
Piattaforma di gestione delle API
Una piattaforma di gestione delle API è un sistema centralizzato che ti consente di proteggere, monitorare e controllare i servizi interni o esterni tramite le API. Una piattaforma di gestione delle API fornisce una posizione centralizzata per catalogare tutte le API della tua organizzazione, semplifica il modo in cui esponi i dati e fornisce osservabilità tramite il monitoraggio dell'utilizzo.
Per gestire gli strumenti basati su API dell'agente su scala aziendale su Google Cloud, ti consigliamo di utilizzare l'hub delle API Apigee. L'hub API consente agli agenti di connettersi ai dati istantaneamente tramite chiamate HTTP dirette, connettori predefiniti, API personalizzate registrate nell'hub o accesso diretto alle origini dati Google Cloud . Questo approccio offre ai tuoi agenti l'accesso immediato alle informazioni di cui hanno bisogno senza la complessità di creare pipeline di caricamento e integrazione dei dati personalizzate.
Una piattaforma di gestione delle API e un protocollo di comunicazione come MCP risolvono problemi di architettura diversi. Un protocollo di comunicazione standardizza il formato di interazione tra l'agente e lo strumento, garantendo che i componenti siano riutilizzabili e possano essere scambiati. Al contrario, una piattaforma di gestione delle API regola il ciclo di vita e la sicurezza dell'endpoint API, gestendo attività come l'autenticazione, la limitazione di frequenza e il monitoraggio. Questi pattern sono complementari. Ad esempio, un agente può utilizzare MCP per comunicare con uno strumento, che a sua volta può essere un endpoint API sicuro gestito e protetto dall'hub API.
Strumento per funzioni personalizzate
Uno strumento di funzione offre a un agente nuove funzionalità. Puoi scrivere uno strumento di funzione personalizzato per fornire al tuo agente funzionalità specializzate, ad esempio per l'integrazione con un'API esterna o un sistema aziendale proprietario. La scrittura di uno strumento di funzione personalizzata è il pattern più comune per estendere le capacità di un agente oltre ciò che gli strumenti integrati possono offrire.
Per creare uno strumento di funzione personalizzata, scrivi una funzione nel tuo linguaggio di programmazione preferito e poi fornisci una descrizione chiara in linguaggio naturale del suo scopo, dei parametri e dei valori restituiti. Il modello dell'agente utilizza questa descrizione per capire quando è necessario lo strumento, quali input fornire e come interpretare l'output per completare la richiesta di un utente.
Puoi anche creare uno strumento di funzione personalizzato che implementa una funzione agente come strumento. Una funzione agente come strumento espone un agente come funzione richiamabile che un altro agente può richiamare. Questa tecnica ti consente di creare sistemi multi-agente complessi in cui un agente può coordinare e delegare attività specializzate ad altri agenti specializzati. Per saperne di più sui pattern di progettazione degli agenti e sul coordinamento dell'orchestrazione multi-agente, consulta la sezione sui pattern di progettazione degli agenti più avanti in questo documento.
Eccesso di strumenti
Il sovraccarico di strumenti si verifica quando fornisci troppe definizioni di strumenti nel prompt di sistema di un modello di AI. Un modello può essere sopraffatto da un numero eccessivo di strumenti, parametri complessi o descrizioni dettagliate nella finestra di contesto del modello.
Quando un agente AI è sovraccarico di strumenti, possono verificarsi i seguenti problemi:
- Accuratezza ridotta: i token irrilevanti diluiscono l'attenzione del modello nella finestra di contesto. Quando l'attenzione del modello è diluita, è difficile per il modello distinguere con precisione lo strumento corretto dal rumore.
- Aumento dei costi e della latenza: una singola richiesta dell'utente può attivare più cicli di ragionamento nascosti ed esecuzioni di strumenti. Un aumento del numero di loop ed esecuzioni causa un aumento corrispondente dei costi e dei tempi di risposta dello strumento.
Per ridurre l'eccesso di strumenti, puoi implementare le seguenti strategie:
- Limita la complessità degli strumenti: di seguito sono riportati i consigli per scrivere definizioni degli strumenti concise:
- Utilizza tipi di dati primitivi anziché oggetti nidificati complessi.
- Limita gli strumenti a meno di cinque parametri.
- Limita il percorso decisionale del modello utilizzando
enumsanziché stringhe di testo libero.
- Fornisci set di strumenti granulari: suddividi i server monolitici in set di strumenti granulari e mirati, basati su percorsi dell'utente specifici. Ad esempio, un server Cloud SQL di grandi dimensioni può essere suddiviso in un set di strumenti di amministrazione per gli agenti DevOps e un set di strumenti di dati per gli agenti delle app.
- Implementa la visualizzazione progressiva: progetta sistemi per sbloccare dinamicamente il contesto e le funzionalità pertinenti solo quando sono necessari, anziché caricare tutto in anticipo. Per implementare un approccio di divulgazione progressiva,
utilizza le seguenti strategie:
- Pattern dello strumento di ricerca: per ridurre il consumo di token, implementa un agente che utilizza un singolo strumento di ricerca per caricare dinamicamente solo lo schema dello strumento pertinente.
- Skill dell'agente: le skill dell'agente sono un formato standard che consente la scoperta progressiva di istruzioni, script e altre risorse. Per ridurre al minimo l'eccesso di contesto, definisci un'abilità dell'agente che lo indirizzi a recuperare un contesto aggiuntivo solo quando necessario.
- Delega multi-agente: per ridurre la finestra di contesto di un agente, implementa un sistema multi-agente che utilizza un agente coordinatore per delegare un'attività specifica a un sub-agente specializzato. Questo approccio garantisce che vengano caricati solo gli strumenti pertinenti e mantiene concisa la finestra di contesto dell'agente coordinatore.
Queste strategie non si escludono a vicenda e devono essere combinate in base ai requisiti della tua architettura e del tuo workload.
Memoria dell'agente
La capacità di un agente di ricordare le interazioni passate è fondamentale per fornire un'esperienza conversazionale coerente e utile. Per creare agenti stateful e sensibili al contesto, devi implementare meccanismi per la memoria a breve termine e la memoria a lungo termine. Le sezioni seguenti esplorano le scelte di progettazione e i servizi Google Cloud che puoi utilizzare per implementare la memoria a breve e a lungo termine per il tuo agente.
Memoria a breve termine
La memoria a breve termine consente a un agente di mantenere il contesto all'interno di una singola conversazione in corso. Per implementare la memoria a breve termine, devi gestire sia la sessione sia lo stato associato.
- Sessione: una sessione è il thread di conversazione tra un utente e l'agente, dall'interazione iniziale alla fine del dialogo.
- Stato: lo stato è costituito dai dati che l'agente utilizza e raccoglie all'interno di una sessione specifica. I dati sullo stato raccolti includono la cronologia dei messaggi scambiati tra l'utente e l'agente, i risultati di eventuali chiamate di strumenti e altre variabili necessarie all'agente per comprendere il contesto della conversazione.
Di seguito sono riportate le opzioni per implementare la memoria a breve termine con l'ADK:
- Archiviazione in memoria: per lo sviluppo, i test o le applicazioni semplici eseguite su una singola istanza, puoi archiviare lo stato della sessione direttamente nella memoria dell'applicazione. L'agente utilizza una struttura di dati, ad esempio un dizionario o un oggetto, per archiviare un elenco di coppie chiave-valore e aggiorna questi valori nel corso della sessione. Tuttavia, quando utilizzi lo spazio di archiviazione in memoria, lo stato della sessione non è permanente. Se l'applicazione viene riavviata, perde tutta la cronologia delle conversazioni.
Gestione dello stato esterno: per le applicazioni di produzione che richiedono scalabilità e affidabilità, ti consigliamo di creare un'applicazione agente stateless e di gestire lo stato della sessione in un servizio di archiviazione esterno. In questa architettura, ogni volta che l'applicazione dell'agente riceve una richiesta, recupera lo stato corrente della conversazione dallo store esterno, elabora il nuovo turno e salva lo stato aggiornato nello store. Questo design ti consente di scalare l'applicazione in orizzontale perché qualsiasi istanza può soddisfare la richiesta di qualsiasi utente. Le scelte più comuni per la gestione dello stato esterno includono Memorystore for Redis, Firestore o Gemini Enterprise Agent Platform Sessions.
Se utilizzi ADK,
DatabaseSessionServicerichiede un database relazionale, come Cloud SQL.
Memoria a lungo termine
La memoria a lungo termine fornisce all'agente una knowledge base persistente che esiste in tutte le conversazioni per i singoli utenti. La memoria a lungo termine consente all'agente di recuperare e utilizzare informazioni esterne, imparare dalle interazioni passate e fornire risposte più accurate e pertinenti.
Di seguito sono riportate le opzioni per implementare la memoria a lungo termine con l'ADK:
- Archiviazione in memoria: per lo sviluppo e i test, puoi archiviare lo stato della sessione direttamente nella memoria dell'applicazione. Questo approccio è semplice da implementare, ma non è persistente. Se l'applicazione viene riavviata,
la cronologia delle conversazioni viene persa. In genere, questo pattern viene implementato utilizzando un provider in-memory all'interno di un framework di sviluppo, come
InMemoryMemoryService, incluso in ADK per i test. - Spazio di archiviazione esterno: per le applicazioni di produzione, gestisci la knowledge base dell'agente in un servizio di archiviazione permanente esterno. Un servizio di archiviazione esterno garantisce che le conoscenze dell'agente siano durevoli, scalabili e accessibili in più istanze dell'applicazione. Utilizza Memory Bank per l'archiviazione a lungo termine con qualsiasi Agent Runtime su Google Cloud.
Pattern di progettazione degli agenti
I pattern di progettazione degli agenti sono approcci architetturali comuni per la creazione di applicazioni agentiche. Questi pattern offrono un framework distinto per organizzare i componenti di un sistema, integrare il modello di AI e orchestrare un singolo agente o più agenti per completare un workflow. Per determinare l'approccio migliore per il tuo flusso di lavoro, devi considerare la complessità e il flusso di lavoro delle tue attività, la latenza, le prestazioni e i requisiti di costo.
Un sistema con un singolo agente si basa sulle capacità di ragionamento di un modello per interpretare la richiesta di un utente, pianificare una sequenza di passaggi e decidere quali strumenti utilizzare. Questo approccio è un punto di partenza efficace che ti consente di concentrarti sul perfezionamento della logica di base, dei prompt e delle definizioni degli strumenti prima di aggiungere complessità architettonica. Tuttavia, le prestazioni di un singolo agente possono peggiorare man mano che le attività e il numero di strumenti diventano più complessi.
Per problemi complessi, un sistema multi-agente orchestra più agenti specializzati per raggiungere un obiettivo che un singolo agente non può gestire facilmente. Questo design modulare può migliorare la scalabilità, l'affidabilità e la manutenibilità del sistema. Tuttavia, introduce anche considerazioni aggiuntive su valutazione, sicurezza e costi rispetto a un sistema con un singolo agente.
Quando sviluppi un sistema multi-agente, devi implementare controlli degli accessi precisi per ogni agente specializzato, progettare un sistema di orchestrazione solido per garantire una comunicazione affidabile tra gli agenti e gestire l'aumento dei costi operativi derivanti dall'overhead di calcolo dell'esecuzione di più agenti. Per facilitare la comunicazione tra gli agenti, utilizza il protocollo Agent2Agent (A2A) con ADK. A2A è un protocollo standard aperto che consente agli agenti AI di comunicare e collaborare su diverse piattaforme e framework, indipendentemente dalle tecnologie sottostanti.
Per saperne di più sui pattern di progettazione degli agenti comuni e su come selezionare un pattern in base ai requisiti del tuo workload, consulta Scegli un pattern di progettazione per il tuo sistema di AI agentica.
Modelli di AI
Le applicazioni agentiche si basano sulle capacità di ragionamento e comprensione di un modello per agire come orchestratore principale delle attività. Per questo ruolo di agente principale, ti consigliamo di utilizzare Gemini Pro.
I modelli di Google, come Gemini, forniscono l'accesso ai modelli proprietari più recenti e potenti tramite un'API gestita. Questo approccio è ideale per ridurre al minimo l'overhead operativo. Al contrario, un modello aperto e in hosting autonomo fornisce il controllo approfondito necessario per l'ottimizzazione dei dati proprietari. I workload con requisiti rigorosi di sicurezza e residenza dei dati richiedono anche un modello self-hosted, perché consente di eseguire il modello all'interno della tua rete.
Per migliorare le prestazioni dell'agente, puoi regolare le capacità di ragionamento del modello. Modelli come gli ultimi modelli Gemini Pro e Flash sono dotati di un processo di pensiero integrato che migliora il ragionamento e la pianificazione in più passaggi. Per il debug e il perfezionamento, puoi esaminare i riepiloghi dei pensieri del modello o le versioni sintetizzate dei suoi pensieri interni per comprendere il suo percorso di ragionamento. Puoi controllare le capacità di ragionamento del modello regolando il budget di ragionamento, ovvero il numero di token di ragionamento, in base alla complessità dell'attività. Un budget di ragionamento più elevato consente al modello di eseguire ragionamenti e pianificazioni più dettagliati prima di fornire una risposta. Un budget di ragionamento più elevato può migliorare la qualità delle risposte, ma potrebbe anche aumentare la latenza e il costo.
Per ottimizzare prestazioni e costi, implementa il routing del modello per selezionare dinamicamente il modello più appropriato per ogni attività in base alla complessità, al costo o ai requisiti di latenza dell'attività. Ad esempio, puoi indirizzare richieste semplici a un modello linguistico di piccole dimensioni (SLM) per attività strutturate come la generazione di codice o la classificazione del testo e riservare un modello più potente e costoso per il ragionamento complesso. Se implementi il routing del modello nella tua applicazione basata su agenti, puoi creare un sistema conveniente che mantiene prestazioni elevate.
Google Cloud fornisce l'accesso a un'ampia selezione di modelli Google, modelli di partner e modelli aperti che puoi utilizzare nella tua architettura basata su agenti. Per ulteriori informazioni sui modelli disponibili e su come scegliere un modello adatto alle tue esigenze, consulta Model Garden su Gemini Enterprise Agent Platform.
Runtime del modello
Un runtime del modello è l'ambiente che ospita e gestisce il modello di AI e che rende disponibili le sue funzionalità di ragionamento all'agente.
Scegli un runtime del modello
Per selezionare il runtime migliore per l'hosting dei tuoi modelli di AI, utilizza le seguenti indicazioni:
| Caso d'uso | Runtime del modello |
|---|---|
| Hai bisogno di un'API completamente gestita per fornire modelli Gemini, modelli partner, modelli aperti o modelli personalizzati con sicurezza, scalabilità e strumenti di AI generativa di livello enterprise. | Agent Platform |
| Devi eseguire il deployment di un modello containerizzato aperto o personalizzato e dare priorità alla semplicità serverless e all'efficienza in termini di costi per il traffico variabile. | Cloud Run |
| Hai bisogno del massimo controllo sull'infrastruttura per eseguire un modello containerizzato aperto o personalizzato su hardware specializzato o per soddisfare requisiti complessi di sicurezza e networking. | GKE |
Le sezioni seguenti forniscono una panoramica dei runtime dei modelli precedenti, incluse le funzionalità chiave e le considerazioni di progettazione. Questo documento si concentra su Agent Platform, Cloud Run e Google Kubernetes Engine (GKE). Tuttavia, Google Cloud offre altri servizi che potresti prendere in considerazione per un runtime del modello:
- API Gemini: l'API Gemini è progettata per gli sviluppatori che hanno bisogno di un accesso rapido e diretto ai modelli Gemini senza le funzionalità di governance aziendale spesso richieste dai sistemi agentici complessi.
- Compute Engine: Compute Engine è un prodotto Infrastructure as a Service (IaaS) adatto alle applicazioni legacy. Introduce un overhead operativo significativo rispetto ai runtime moderni basati su container.
Per saperne di più sulle funzionalità che distinguono tutte le opzioni di servizio per i runtime dei modelli, consulta Infrastruttura di hosting dei modelli.
Agent Platform
Agent Platform fornisce un ambiente serverless completamente gestito che ospita i tuoi modelli di AI. Puoi pubblicare e ottimizzare i modelli Google, i modelli dei partner e i modelli aperti tramite un'API sicura e scalabile. Questo approccio astrae tutta la gestione dell'infrastruttura e ti consente di concentrarti sull'integrazione dell'intelligence del modello nelle tue applicazioni.
Quando utilizzi Agent Platform come runtime del modello, le funzionalità e le considerazioni chiave includono:
- Controllo dell'infrastruttura: un'API completamente gestita per i tuoi modelli. Google gestisce l'infrastruttura sottostante.
- Sicurezza: le impostazioni predefinite di sicurezza gestite e le certificazioni di conformità standard sono sufficienti per le tue esigenze. Per fornire protezione per prompt e risposte e garantire pratiche di AI responsabile, puoi integrare Model Armor in Agent Platform.
- Disponibilità dei modelli: accesso a un'ampia selezione di modelli, inclusi gli ultimi modelli Gemini, tramite un'API gestita.
- Costo: modello di prezzi con pagamento a consumo che scala in base al traffico della tua applicazione. Per saperne di più, consulta Costo della creazione e del deployment dei modelli di AI in Agent Platform.
Cloud Run
Cloud Run fornisce un runtime serverless che ospita i tuoi modelli all'interno di container personalizzati. Cloud Run offre un equilibrio tra la semplicità completamente gestita della piattaforma Agent e il controllo approfondito dell'infrastruttura di GKE. Questo approccio è ideale quando hai bisogno della flessibilità necessaria per eseguire il modello in un ambiente containerizzato senza gestire server o cluster.
Quando utilizzi Cloud Run come runtime del modello, le funzionalità e le considerazioni principali includono:
- Controllo dell'infrastruttura: esegui qualsiasi modello in un container personalizzato, che fornisce il controllo completo sull'ambiente software, mentre la piattaforma gestisce l'infrastruttura serverless sottostante.
- Sicurezza: fornisce sicurezza tramite istanze di computing isolate ed effimere e consente connessioni sicure alle risorse private utilizzando il traffico VPC diretto in uscita o un connettore di accesso VPC serverless. Per saperne di più, consulta Networking privato e Cloud Run.
- Disponibilità dei modelli: gestisci modelli aperti come Gemma o i tuoi modelli personalizzati. Non puoi ospitare o pubblicare modelli Gemini su Cloud Run.
- Costo: offre un modello di prezzi pay-per-use basato sulle richieste che scala fino a zero, il che lo rende altamente conveniente per i modelli con traffico sporadico o variabile. Per saperne di più, consulta Prezzi di Cloud Run.
GKE
GKE offre il massimo controllo e la massima flessibilità per l'hosting dei modelli di AI. Per utilizzare questo approccio, esegui i modelli in container su un cluster GKE che configuri e gestisci. GKE è la scelta ideale quando devi eseguire modelli su hardware specializzato, collocarli insieme alle tue applicazioni per una latenza minima o richiedere un controllo granulare su ogni aspetto dell'ambiente di distribuzione.
Quando utilizzi GKE come runtime del modello, le funzionalità e le considerazioni principali includono:
- Controllo dell'infrastruttura: fornisce il massimo controllo granulare sull'intero ambiente di erogazione, incluse le configurazioni dei nodi, gli acceleratori di macchine specializzati e il software di erogazione del modello specifico.
- Sicurezza: consente il massimo livello di sicurezza e isolamento dei dati perché ti permette di eseguire i modelli interamente all'interno della tua rete e di applicare policy di sicurezza di Kubernetes granulari. Per filtrare il traffico da e verso un cluster GKE e proteggere tutte le interazioni con i modelli di AI, puoi integrare Model Armor con GKE .
- Disponibilità dei modelli: gestisci modelli aperti come Gemma o i tuoi modelli personalizzati. Non puoi ospitare o gestire i modelli Gemini su GKE.
- Costo: presenta un modello di costo basato sulle risorse di computing e cluster sottostanti che utilizzi, il che lo rende altamente ottimizzato per workload prevedibili e di volume elevato quando utilizzi gli sconti per impegno di utilizzo (CUD). Per saperne di più, consulta i prezzi di Google Kubernetes Engine.
Agent Runtime
Per ospitare ed eseguire il deployment della tua applicazione agentica, devi scegliere un Agent Runtime. Questo servizio esegue il codice dell'applicazione, ovvero la logica di business e l'orchestrazione che scrivi quando utilizzi un framework di sviluppo degli agenti. Da questo runtime, la tua applicazione effettua chiamate API ai modelli ospitati e gestiti dal runtime del modello scelto.
Scegli un runtime dell'agente
Per selezionare il runtime quando ospiti i tuoi agenti AI, segui queste linee guida:
| Caso d'uso | Agent Runtime |
|---|---|
| La tua applicazione è un agente Python e richiede un'esperienza completamente gestita con un overhead operativo minimo. | Agent Runtime su Gemini Enterprise Agent Platform |
| La tua applicazione è containerizzata e richiede una scalabilità serverless basata su eventi con flessibilità di linguaggio. | Cloud Run |
| La tua applicazione è containerizzata, ha requisiti stateful complessi e necessita di una configurazione dell'infrastruttura granulare. | GKE |
Se gestisci già applicazioni su Cloud Run o su GKE, puoi accelerare lo sviluppo e semplificare le operazioni a lungo termine utilizzando la stessa piattaforma per il tuo workload basato su agenti.
Le sezioni seguenti forniscono una panoramica di ogni runtime dell'agente, incluse le funzionalità chiave e le considerazioni di progettazione.
Agent Runtime
Agent Runtime è un runtime completamente gestito e prescrittivo che puoi utilizzare per eseguire il deployment, il funzionamento e la scalabilità delle applicazioni basate su agenti. Agent Runtime astrae l'infrastruttura sottostante, consentendoti di concentrarti sulla logica dell'agente anziché sulle operazioni.
Di seguito sono riportate le funzionalità e le considerazioni per Agent Runtime:
- Flessibilità di linguaggio di programmazione e framework: sviluppa agenti in Python con qualsiasi framework supportato.
- Protocolli di comunicazione: orchestra agenti e strumenti che utilizzano MCP e A2A. Agent Runtime gestisce in modo efficiente il runtime di questi componenti, ma non supporta l'hosting di server MCP personalizzati.
Memoria: fornisce funzionalità di memoria gestita integrate, eliminando la necessità di configurare database esterni per la memoria dell'agente principale.
- Per l'archiviazione della memoria a breve termine, utilizza Agent Platform Sessions
- Per l'archiviazione della memoria a lungo termine, utilizza Memory Bank
- Per la ricerca e il recupero dei database, utilizza Cloud SQL o AlloyDB per PostgreSQL.
- Scalabilità automatica: scala automaticamente per soddisfare le esigenze del tuo workload agentico, eliminando la necessità di una configurazione manuale.
- Osservabilità: fornisce servizi integrati di logging, monitoraggio e tracciamento tramite i servizi Google Cloud Observability.
- Sicurezza: offre i seguenti livelli di affidabilità, scalabilità e conformità di livello enterprise:
- Identità del servizio integrata per chiamate sicure e autenticate alle API Cloud di Google.
- Esegui il codice in una sandbox sicura, isolata e gestita con Gemini Enterprise Agent Platform Code Execution.
- Proteggi i tuoi dati con la tua chiave di crittografia gestita dal cliente (CMEK) in Secret Manager.
- Limita le autorizzazioni IAM e utilizza le regole firewall VPC per impedire chiamate di rete indesiderate.
Per informazioni sulle funzionalità di sicurezza di Agent Runtime, consulta Sicurezza Enterprise.
Agent Runtime accelera il percorso verso la produzione perché fornisce un ambiente gestito appositamente creato che gestisce molti aspetti complessi durante l'utilizzo degli agenti, come la gestione del ciclo di vita e del contesto. Agent Runtime è meno adatto per i casi d'uso che richiedono un'ampia personalizzazione dell'ambiente di computing o che richiedono linguaggi di programmazione diversi da Python. Per i workload con requisiti di sicurezza rigorosi per la gestione delle dipendenze private, Cloud Run e GKE offrono un percorso di configurazione più diretto basato su IAM.
Cloud Run
Cloud Run è una piattaforma serverless completamente gestita che ti consente di eseguire il codice dell'applicazione dell'agente in un container stateless. Cloud Run è ideale quando vuoi eseguire il deployment dell'intera applicazione dell'agente, di singoli componenti o di strumenti personalizzati come endpoint HTTP scalabili senza dover gestire l'infrastruttura sottostante.
Di seguito sono riportate le funzionalità e le considerazioni per Cloud Run:
- Flessibilità di linguaggio di programmazione e framework: quando pacchettizzi la tua applicazione in un container, puoi sviluppare agenti in qualsiasi linguaggio di programmazione e con qualsiasi framework.
- Protocolli di comunicazione: orchestra agenti e strumenti che utilizzano MCP e A2A. Ospita client e server MCP con trasporto HTTP trasmissibile in streaming su Cloud Run.
- Memoria: le istanze Cloud Run sono stateless, il che significa che un'istanza perde tutti i dati in memoria dopo la terminazione. Per implementare la memoria persistente, connetti il tuo servizio a un servizio di archiviazione Google Cloud gestito:
Per la memoria a breve termine, prendi in considerazione i seguenti prodotti e servizi:
Per la memoria a lungo termine, prendi in considerazione i seguenti prodotti:
- Firestore
- Memory Bank con Cloud Run
Per la ricerca e il recupero di database, prendi in considerazione i seguenti prodotti:
- Cloud SQL
- AlloyDB per PostgreSQL
- Scalabilità: scala automaticamente il numero di istanze in base al traffico in entrata e riduce le istanze fino a zero. Questa funzionalità contribuisce a rendere Cloud Run conveniente per le applicazioni con workload variabili.
- Osservabilità: fornisce servizi integrati di logging, monitoraggio e tracciamento tramite i servizi di Google Cloud Observability. Per saperne di più, consulta la panoramica su monitoraggio e logging.
- Sicurezza: fornisce i seguenti controlli di sicurezza per i tuoi agenti:
- Servizio di identità integrato per chiamate sicure e autenticate alle API Cloud di Google.
- Esegui il codice non testato in un ambiente sicuro con l'ambiente sandbox di Cloud Run o con l'esecuzione di codice di Agent Platform.
- Archivia i dati sensibili utilizzati da Cloud Run configurando i secret in Secret Manager.
- Impedisci chiamate di rete indesiderate limitando le autorizzazioni IAM e utilizzando le regole firewall VPC.
Cloud Run offre una notevole semplicità operativa e un'ottima efficienza in termini di costi, perché elimina la gestione dell'infrastruttura. Tuttavia, la natura stateless di Cloud Run richiede l'utilizzo di un servizio di archiviazione per gestire il contesto in un flusso di lavoro in più passaggi. Inoltre, il timeout massimo delle richieste per i servizi Cloud Run è di un'ora, il che potrebbe limitare le attività degli agenti di lunga durata.
GKE
Google Kubernetes Engine è un servizio di orchestrazione dei container gestito che fornisce un controllo granulare sull'architettura e sull'infrastruttura dell'applicazione basata su agenti. GKE è adatto per sistemi agentici complessi che richiedono funzionalità solide e di livello di produzione o se sei già un cliente GKE e vuoi implementare un workflow agentico sulla tua applicazione esistente.
Di seguito sono riportate le funzionalità e le considerazioni disponibili su GKE:
- Flessibilità di linguaggio di programmazione e framework: quando pacchettizzi la tua applicazione in un container, puoi sviluppare agenti in qualsiasi linguaggio di programmazione e con qualsiasi framework.
- Protocolli di comunicazione: orchestra agenti e strumenti che utilizzano MCP e A2A. Ospita client e server MCP su GKE quando li pacchettizzi come container.
- Memoria: i pod GKE sono temporanei.
Tuttavia, puoi creare agenti stateful con memoria persistente utilizzando risorse all'interno del cluster o connettendoti a servizi esterni.
Per la memoria a breve termine, prendi in considerazione i seguenti prodotti e servizi:
Per la memoria a lungo termine, prendi in considerazione i seguenti prodotti:
- Firestore
- Memory Bank con GKE
Per la ricerca e il recupero di database, prendi in considerazione i seguenti prodotti:
- StatefulSets e volumi permanenti per l'archiviazione durevole all'interno del cluster.
- Cloud SQL
- AlloyDB per PostgreSQL
- Scalabilità: i cluster GKE eseguono automaticamente il provisioning e la scalabilità dei node pool per soddisfare i requisiti del tuo workload.
- Osservabilità: fornisce logging, monitoraggio e tracciamento integrati a livello di cluster, nodo e pod con Google Cloud Observability. Per raccogliere le metriche di terze parti e definite dall'utente configurate e inviarle a Cloud Monitoring, puoi anche utilizzare Google Cloud Managed Service per Prometheus. Per saperne di più, consulta la panoramica dell'osservabilità di GKE.
- Sicurezza: fornisce controlli di sicurezza granulari per i tuoi agenti:
- Utilizza la federazione delle identità per i workload per GKE per l'autenticazione sicura alle API Google Cloud.
- Isola il codice non attendibile con GKE Sandbox.
- Archivia i dati sensibili utilizzati dai cluster GKE in Secret Manager.
- Limita le autorizzazioni IAM e utilizza le regole firewall VPC e le policy di rete per impedire chiamate di rete indesiderate.
GKE offre il massimo controllo e la massima flessibilità, consentendoti di eseguire agenti stateful complessi. Tuttavia, questo controllo introduce un overhead operativo e una complessità significativi. Devi configurare e gestire il cluster Kubernetes, inclusi i pool di nodi, il networking e le policy di scalabilità, il che richiede più competenze e sforzi di sviluppo rispetto a una piattaforma serverless.
Passaggi successivi
- Strumenti dell'agente:
- Creazione di strumenti personalizzati per gli agenti.
- Tools Make an Agent: From Zero to Assistant with ADK.
- Recap di Agent Factory: un approfondimento sulla valutazione degli agenti, sugli strumenti pratici e sui sistemi multi-agente.
- Come eseguire il deployment di un server MCP sicuro su Cloud Run.
- Memoria dell'agente:
- Pattern di progettazione degli agenti:
- Agent Runtime:
- Altre risorse sull'AI agentica su Google Cloud:
- Per ulteriori architetture di riferimento, diagrammi e best practice, esplora Cloud Architecture Center.
Collaboratori
Autore: Samantha He | Technical Writer
Altri collaboratori:
- Amina Mansour | Tech Lead, Global Developer Relations & Strategic Content
- Amit Maraj | Developer Relations Engineer
- Casey West | Architecture Advocate, Google Cloud
- Jack Wotherspoon | Developer Advocate
- Joe Fernandez | Staff Technical Writer
- Joe Shirey | Cloud Developer Relations Manager
- Karl Weinmeister | Director of Cloud Product Developer Relations
- Kumar Dhanagopal | Cross-Product Solution Developer
- Kurtis Van Gent | Staff Software Engineer
- Lisa Shen | Senior Outbound Product Manager, Google Cloud
- Mandy Grover | Head of Architecture Center
- Megan O'Keefe | Developer Advocate
- Olivier Bourgeois | Developer Relations Engineer
- Polong Lin | Developer Relations Engineering Manager
- Ryan Pei | Product Manager, Google Cloud
- Shir Meir Lador | Developer Relations Engineering Manager
- Vlad Kolesnikov | Developer Relations Engineer