Sistema di AI con un singolo agente che utilizza l'ADK e Cloud Run

Questo documento fornisce un'architettura di riferimento per aiutarti a progettare un sistema di AI con un singolo agente su Google Cloud. Il sistema con un singolo agente in questa architettura è creato utilizzando l'Agent Development Kit (ADK) e viene implementato su Cloud Run. Puoi anche eseguire il deployment dell'agente su Vertex AI Agent Engine o Google Kubernetes Engine (GKE). L'architettura utilizza il Model Context Protocol (MCP), che consente all'agente di accedere ed elaborare informazioni da più fonti in modo da fornire approfondimenti ricchi di contesto.

Questo documento è rivolto ad architetti, sviluppatori e amministratori di applicazioni di AI. Presuppone che tu abbia una conoscenza di base dei concetti di AI, machine learning (ML) e modelli linguistici di grandi dimensioni (LLM). Il documento presuppone inoltre che tu abbia una conoscenza di base degli agenti e dei modelli di AI. Non fornisce indicazioni specifiche per la progettazione e la codifica di agenti AI.

La sezione Deployment di questo documento elenca esempi di codice che puoi utilizzare per imparare a creare e distribuire sistemi di AI con un singolo agente.

Architettura

Il seguente diagramma mostra un'architettura per un sistema di AI a singolo agente di cui è stato eseguito il deployment su Cloud Run:

Un'architettura a singolo agente di cui è stato eseguito il deployment su Cloud Run.

Componenti dell'architettura

L'architettura di esempio è costituita dai seguenti componenti:

Componente Descrizione
Frontend Gli utenti interagiscono con l'agente tramite un frontend, ad esempio un'interfaccia di chat, che viene eseguita come servizio Cloud Run serverless.
Agente L'agente riceve le richieste degli utenti, interpreta l'intento dell'utente, seleziona gli strumenti appropriati e poi sintetizza le informazioni per rispondere alle query.
Runtime dell'agente L'agente è creato utilizzando l'ADK e viene implementato come servizio serverless Cloud Run. Puoi anche eseguire il deployment dell'agente su Vertex AI Agent Engine o come app containerizzata su GKE. Per informazioni su come scegliere un runtime dell'agente, vedi Scegliere i componenti dell'architettura di AI agentica.
ADK ADK fornisce strumenti e un framework per sviluppare, testare ed eseguire il deployment degli agenti. ADK astrae la complessità della creazione di agenti e consente agli sviluppatori di AI di concentrarsi sulla logica e sulle funzionalità dell'agente. Quando sviluppi agenti utilizzando l'ADK, puoi configurarli per accedere e utilizzare strumenti integrati come la Ricerca Google.
Modello di AI e runtime del modello Per la pubblicazione delle inferenze, l'agente in questa architettura di esempio utilizza il modello di AI Gemini su Vertex AI.
Strumenti MCP MCP Toolbox for Databases fornisce strumenti specifici per il database per l'agente. Può gestire complessità come il pooling delle connessioni e l'autenticazione.
Client, server e strumenti MCP MCP facilita l'accesso agli strumenti standardizzando l'interazione tra agenti e strumenti. Per ogni coppia agente-strumento, un client MCP invia richieste a un server MCP tramite il quale l'agente accede a uno strumento come un file system o un'API. Ad esempio, strumenti esterni come lo strumento StackOverflow LangChain e lo strumento Ricerca Google possono fornire dati e grounding.
Osservabilità L'agente viene monitorato utilizzando Google Cloud Observability per logging, monitoraggio e tracciamento.

Flusso agentico

Il sistema con un singolo agente di esempio nell'architettura precedente ha il seguente flusso:

  1. Un utente inserisce un prompt tramite un frontend, ad esempio un'interfaccia di chat, che viene eseguita come servizio Cloud Run serverless.
  2. Il frontend inoltra il prompt all'agente.
  3. L'agente utilizza il modello di AI per ragionare sul prompt dell'utente e sintetizzare una risposta:
    • Il modello AI determina quali strumenti utilizzare per raccogliere informazioni contestuali o per eseguire un'attività.
    • L'agente esegue chiamate di strumenti e aggiunge la risposta al contesto.
    • L'agente esegue la verifica intermedia e la messa a terra.

Prodotti utilizzati

Questa architettura di riferimento utilizza i seguenti prodotti e strumenti Google Cloud open source:

Casi d'uso

Questa sezione descrive i possibili casi d'uso per l'architettura descritta in questo documento.

Classificazione automatica delle segnalazioni di bug

Puoi adattare questa architettura di riferimento per automatizzare la valutazione dei bug in arrivo: comprendere il problema, cercare duplicati, raccogliere il contesto tecnico pertinente e quindi creare un bug nel sistema. Un agente basato sull'AI può fungere da assistente intelligente in grado di eseguire l'indagine iniziale, consentendo agli esperti umani di concentrarsi sulla risoluzione di problemi più complessi.

Per questo caso d'uso, l'architettura offre i seguenti vantaggi:

  • Tempi di risoluzione più rapidi: l'agente automatizza la ricerca iniziale e la raccolta del contesto, il che può ridurre significativamente il tempo necessario per assegnare e risolvere i ticket di bug.
  • Maggiore accuratezza e coerenza: l'agente può eseguire ricerche sistematiche in più origini dati (database interni, repository di codice e web pubblico). Questa funzionalità fornisce un'analisi più completa e coerente rispetto a quella che potrebbe consentire il triage manuale.
  • Riduzione del carico di lavoro manuale: l'agente può scaricare le attività di triage ripetitive dai team di assistenza IT e ingegneria, consentendo loro di concentrarsi su attività di valore superiore.

Questa architettura è ideale per qualsiasi organizzazione che sviluppa software e che vuole migliorare l'efficienza e l'efficacia del processo di risoluzione dei bug. Per ulteriori informazioni e opzioni di deployment, vedi Software Bug Assistant - ADK Python Sample Agent e Tools Make an Agent: From Zero to Assistant with ADK.

Assistenza clienti

Puoi adattare questa architettura di riferimento per offrire ai clienti un'esperienza di acquisto fluida e personalizzata. Un agente basato sull'AI può fornire assistenza clienti, consigliare prodotti, gestire ordini e pianificare servizi, consentendo ai rappresentanti umani di concentrarsi su altre attività.

Per questo caso d'uso, l'architettura offre i seguenti vantaggi:

  • Upselling e promozioni: l'agente può contribuire ad aumentare le vendite suggerendo prodotti, servizi e promozioni. I suggerimenti dell'agente si basano sull'ordine corrente del cliente e sulle vendite pertinenti, sulla cronologia degli ordini del cliente e sugli articoli presenti nel carrello.

  • Gestione e pianificazione degli ordini: l'agente può aumentare l'efficienza e ridurre i problemi dei clienti gestendo i contenuti del carrello e facilitando l'autopianificazione dei servizi.

  • Riduzione del carico di lavoro manuale: l'agente gestisce richieste generali, ordini e pianificazione, il che consente agli agenti del servizio clienti umani di concentrarsi su problemi più complessi.

Questa architettura è ideale per qualsiasi organizzazione retail che voglia migliorare la customer experience, aumentare le vendite e semplificare la gestione e la pianificazione degli ordini. Per ulteriori informazioni e opzioni di deployment, vedi Cymbal Home & Garden Customer Service Agent.

Previsione delle serie temporali

Puoi adattare questa architettura di riferimento per prevedere risultati, ad esempio previsione della domanda, previsione dei modelli di traffico o analisi e previsione di guasti alle macchine. Un agente basato sull'AI può analizzare dati in tempo reale, tendenze storiche ed eventi imminenti. L'agente può utilizzare queste analisi per prevedere i risultati per un periodo di tempo specificato. Queste previsioni possono aiutarti a pianificare e ridurre il tempo dedicato dagli analisti di dati.

Questo caso d'uso può essere utile alle organizzazioni in molti scenari, ad esempio:

  • Gestione dell'inventario: utilizzando l'analisi avanzata combinata con i dati storici sulle vendite e le tendenze di mercato, l'agente può aiutarti a pianificare gli ordini di riassortimento in modo da prepararti a picchi o cali della domanda dei clienti.
  • Itinerari di viaggio: l'agente può contribuire a risparmiare tempo e ridurre i costi di viaggio per i fornitori di servizi e consegne analizzando i modelli di traffico in tempo reale e storici, nonché eventi come lavori in corso o chiusure stradali.
  • Evitare interruzioni: l'agente può aiutarti a evitare potenziali interruzioni del servizio identificando la causa principale delle interruzioni storiche. Può anche aiutare a prevedere potenziali stati di errore futuri, in modo da poter mitigare un problema prima che diventi tale.

Questa architettura è ideale per qualsiasi organizzazione che deve adattarsi a modelli in evoluzione in base a tendenze consolidate. È ideale anche per le organizzazioni i cui clienti possono trarre vantaggio da approfondimenti proattivi che li aiutano a pianificare il futuro. Per maggiori informazioni e opzioni di deployment, vedi Time Series Forecasting Agent con ADK e MCP Toolbox di Google.

Recupero dei documenti

Puoi adattare questa architettura di riferimento per utilizzare Vertex AI RAG Engine e creare un agente per gestire il recupero dei dati contestuali. Un agente di recupero di documenti può recuperare dati pertinenti da un insieme selezionato di documenti per fornire risposte basate su fatti con citazioni del materiale di origine.

Con un agente di recupero dei documenti, puoi contribuire a garantire che clienti e utenti interni ricevano risposte informate e sensibili al contesto alle loro query. Questa implementazione può contribuire a ridurre errori e imprecisioni, contribuendo a garantire che le risposte si basino sulle informazioni che hai convalidato.

Un'architettura di recupero dei documenti è ideale per le knowledge base su norme e procedure, infrastrutture tecniche, funzionalità dei prodotti e altra documentazione basata sui fatti. Per informazioni su come sviluppare un agente di recupero dei documenti basato sulla Retrieval Augmented Generation (RAG), consulta Agente di recupero della documentazione.

Alternative di progettazione

Questa sezione presenta approcci di progettazione alternativi che puoi prendere in considerazione per il deployment del tuo agente AI in Google Cloud.

Runtime dell'agente

Nell'architettura descritta in questo documento, l'agente e i relativi strumenti vengono deployati su Cloud Run. Puoi anche utilizzare GKE o Vertex AI Agent Engine come runtime alternativo. Per informazioni su come scegliere un runtime dell'agente, vedi Runtime dell'agente in "Scegliere i componenti dell'architettura di AI agentica".

Runtime del modello di AI

Nell'architettura descritta in questo documento, il runtime del modello di AI è Vertex AI. Puoi anche utilizzare Cloud Run o GKE come runtime alternativo. Per informazioni su come scegliere un runtime del modello, vedi Runtime del modello in "Scegliere i componenti dell'architettura di AI agentica".

Considerazioni sulla progettazione

Questa sezione fornisce indicazioni per aiutarti a utilizzare questa architettura di riferimento per sviluppare un'architettura che soddisfi i tuoi requisiti specifici di sicurezza, affidabilità, costi, efficienza operativa e prestazioni.

Progettazione del sistema

Questa sezione fornisce indicazioni per aiutarti a scegliere le Google Cloud regioni per il deployment e a selezionare prodotti e strumenti Google Cloud appropriati.

Selezione delle regioni

Quando selezioni le regioni Google Cloud per le tue applicazioni di AI, considera i seguenti fattori:

Per selezionare le località Google Cloud appropriate per le tue applicazioni, utilizza i seguenti strumenti:

  • Google Cloud Selettore di regioni: uno strumento web interattivo per selezionare la regione Google Cloud ottimale per le tue applicazioni e i tuoi dati in base a fattori quali l'impronta di carbonio, il costo e la latenza.
  • API Cloud Location Finder: Un'API pubblica che fornisce un modo programmatico per trovare posizioni di deployment in Google Cloud, Google Distributed Cloud e altri provider cloud.

Progettazione di agenti

Questa sezione fornisce consigli generali per la progettazione di agenti AI. Le indicazioni dettagliate sulla scrittura del codice e della logica dell'agente non rientrano nell'ambito di questo documento.

Focus sul design Consigli
Definizione e progettazione dell'agente
  • Definisci chiaramente l'obiettivo aziendale del sistema di AI agentica e l'attività che ogni agente svolge.
  • Scegli un pattern di progettazione dell'agente che soddisfi al meglio i tuoi requisiti.
  • Utilizza l'ADK per creare, implementare e gestire in modo efficiente la tua architettura basata su agenti.
Interazioni con l'agente
  • Progetta gli agenti rivolti agli utenti nell'architettura per supportare interazioni in linguaggio naturale.
  • Assicurati che ogni agente comunichi chiaramente le proprie azioni e il proprio stato ai client dipendenti.
  • Progetta gli agenti per rilevare e gestire query ambigue e interazioni più complesse.
Contesto, strumenti e dati
  • Assicurati che gli agenti abbiano un contesto sufficiente per monitorare le interazioni multi-turn e i parametri di sessione.
  • Descrivi chiaramente lo scopo, gli argomenti e l'utilizzo degli strumenti che gli agenti possono utilizzare.
  • Assicurati che le risposte degli agenti si basino su fonti di dati affidabili per ridurre le allucinazioni.
  • Implementa la logica per gestire le situazioni di mancata corrispondenza, ad esempio quando un prompt è fuori tema.

Memoria e spazio di archiviazione della sessione

L'architettura di esempio mostrata in questo documento non include la memoria o l'archiviazione delle sessioni. In un ambiente di produzione, puoi migliorare le risposte e aggiungere la personalizzazione integrando lo stato e la memoria nell'agente.

  • Sessione: una sessione è il thread conversazionale tra un utente e l'agente, dall'interazione iniziale alla fine del dialogo.
  • Stato: Lo stato è l'insieme dei dati che l'agente utilizza e raccoglie all'interno di una sessione specifica. I dati di stato raccolti includono la cronologia dei messaggi che l'utente e l'agente si sono scambiati, i risultati di eventuali chiamate di strumenti e altre variabili di cui l'agente ha bisogno per comprendere il contesto della conversazione.

L'ADK può monitorare le sessioni nella memoria a breve termine utilizzando l'oggetto Session e gli attributi state. L'ADK supporta anche la memoria a lungo termine tra le sessioni con lo stesso utente, anche tramite Memory Bank. Per archiviare lo stato della sessione, puoi anche utilizzare servizi come Memorystore for Redis.

Per informazioni sulle opzioni di memoria dell'agente, vedi Scegliere i componenti dell'architettura di AI agentica.

Sicurezza

Questa sezione descrive le considerazioni e i consigli di progettazione per progettare una topologia in Google Cloud che soddisfi i requisiti di sicurezza del tuo workload.

Componente Considerazioni e consigli sulla progettazione
Agenti

Gli agenti AI introducono determinati rischi per la sicurezza unici e critici che le pratiche di sicurezza convenzionali e deterministiche potrebbero non essere in grado di mitigare adeguatamente. Google consiglia un approccio che combini i punti di forza dei controlli di sicurezza deterministici con difese dinamiche basate sul ragionamento. Questo approccio si basa su tre principi fondamentali: supervisione umana, autonomia dell'agente definita con attenzione e osservabilità. Di seguito sono riportati consigli specifici in linea con questi principi fondamentali.

Supervisione umana: un sistema di AI autonomo a volte potrebbe non funzionare o non funzionare come previsto. Ad esempio, il modello potrebbe generare contenuti imprecisi o un agente potrebbe selezionare strumenti inappropriati. Nei sistemi di AI agentica business-critical, incorpora un flusso human-in-the-loop per consentire ai supervisori umani di monitorare, ignorare e mettere in pausa gli agenti. Ad esempio, gli utenti umani possono esaminare l'output degli agenti, approvare o rifiutare gli output e fornire ulteriori indicazioni per correggere gli errori o prendere decisioni strategiche. Questo approccio combina l'efficienza dei sistemi di AI basati su agenti con il pensiero critico e l'esperienza nel settore degli utenti umani.

Controllo dell'accesso per gli agenti: configura le autorizzazioni degli agenti utilizzando i controlli di Identity and Access Management (IAM). Concedi a ogni agente solo le autorizzazioni necessarie per svolgere le proprie attività e per comunicare con strumenti e con altri agenti. Questo approccio contribuisce a ridurre al minimo il potenziale impatto di una violazione della sicurezza, perché un agente compromesso avrebbe un accesso limitato ad altre parti del sistema. Per saperne di più, vedi Configurare l'identità e le autorizzazioni per l'agente e Gestire l'accesso per gli agenti di cui è stato eseguito il deployment.

Monitoraggio: monitora il comportamento degli agenti utilizzando funzionalità di tracciamento complete che ti offrono visibilità su ogni azione intrapresa da un agente, tra cui il processo di ragionamento, la selezione degli strumenti e i percorsi di esecuzione. Per saperne di più, vedi Logging di un agente in Vertex AI Agent Engine e Logging nell'ADK.

Per saperne di più sulla protezione degli agenti AI, consulta Sicurezza per gli agenti AI.

Vertex AI

Responsabilità condivisa: la sicurezza è una responsabilità condivisa. Vertex AI protegge l'infrastruttura sottostante e fornisce strumenti e controlli di sicurezza per aiutarti a proteggere i tuoi dati, il tuo codice e i tuoi modelli. Sei responsabile della corretta configurazione dei tuoi servizi, della gestione dei controlli di accesso e della protezione delle tue applicazioni. Per ulteriori informazioni, vedi Responsabilità condivisa di Vertex AI.

Controlli di sicurezza: Vertex AI supporta i controlli di sicurezza Google Cloud che puoi utilizzare per soddisfare i tuoi requisiti di residenza dei dati, chiavi di crittografia gestite dal cliente (CMEK), sicurezza di rete tramite i controlli di servizio VPC e Access Transparency. Per saperne di più, consulta la seguente documentazione:

Sicurezza: i modelli di AI potrebbero produrre risposte dannose, a volte in risposta a prompt dannosi.

  • Per migliorare la sicurezza e mitigare il potenziale uso improprio del sistema di AI con agenti, puoi configurare i filtri dei contenuti in modo che fungano da barriere per input e risposte dannosi. Per maggiori informazioni, consulta Filtri di sicurezza e dei contenuti.
  • Per ispezionare e sanificare le richieste e le risposte di inferenza per minacce come l'injection di prompt e i contenuti dannosi, puoi utilizzare Model Armor. Model Armor ti aiuta a prevenire input dannosi, verificare la sicurezza dei contenuti, proteggere i dati sensibili, mantenere la conformità e applicare in modo coerente le norme di sicurezza.

Accesso al modello: puoi configurare le policy dell'organizzazione per limitare il tipo e le versioni dei modelli di AI che possono essere utilizzati in un progetto Google Cloud . Per saperne di più, vedi Controllare l'accesso ai modelli di Model Garden.

Protezione dei dati: per rilevare e anonimizzare i dati sensibili nei prompt e nelle risposte e nei dati di log, utilizza l'API Cloud Data Loss Prevention. Per saperne di più, guarda questo video: Proteggere i dati sensibili nelle app di AI.

MCP Quando configuri gli agenti per utilizzare MCP, assicurati che l'accesso a dati e strumenti esterni sia autorizzato, implementa controlli della privacy come la crittografia, applica filtri per proteggere i dati sensibili e monitora le interazioni dell'agente. Per saperne di più, consulta MCP e sicurezza.
A2A

Sicurezza del trasporto: il protocollo A2A impone HTTPS per tutte le comunicazioni A2A negli ambienti di produzione e consiglia Transport Layer Security (TLS) versione 1.2 o successive.

Autenticazione: il protocollo A2A delega l'autenticazione a meccanismi web standard come le intestazioni HTTP e a standard come OAuth2 e OpenID Connect. Ogni agente pubblicizza i requisiti di autenticazione nella propria scheda. Per saperne di più, vedi Autenticazione A2A.

Cloud Run

Sicurezza in entrata (per il servizio frontend): per controllare l'accesso all'applicazione, disattiva l'run.appURL predefinito del servizio Cloud Run frontend e configura un bilanciatore del carico delle applicazioni esterno regionale. Oltre a bilanciare il carico del traffico in entrata verso l'applicazione, il bilanciatore del carico gestisce i certificati SSL. Per una maggiore protezione, puoi utilizzare i criteri di sicurezza di Google Cloud Armor per fornire il filtro delle richieste, la protezione dagli attacchi DDoS e limitazione di frequenza per il servizio.

Autenticazione utente:

  • Utenti all'interno della tua organizzazione: per autenticare l'accesso degli utenti interni al servizio Cloud Run frontend, utilizza Identity-Aware Proxy (IAP). Quando un utente tenta di accedere a una risorsa protetta da IAP, IAP esegue i controlli di autenticazione e autorizzazione.
  • Utenti esterni alla tua organizzazione: per autenticare l'accesso degli utenti esterni al servizio frontend, utilizza Identity Platform o Firebase Authentication. Per gestire l'accesso degli utenti esterni, configura l'applicazione in modo che gestisca un flusso di accesso e per effettuare chiamate API autenticate al servizio Cloud Run.

Per saperne di più, consulta Autenticazione degli utenti.

Sicurezza delle immagini container: per garantire che venga eseguito il deployment su Cloud Run solo delle immagini container autorizzate, puoi utilizzare Autorizzazione binaria. Per identificare e mitigare i rischi per la sicurezza nelle immagini container, utilizza Artifact Analysis per eseguire automaticamente le scansioni delle vulnerabilità. Per maggiori informazioni, consulta Panoramica dell'analisi dei container.

Residenza dei dati: Cloud Run ti aiuta a soddisfare i requisiti di residenza dei dati. Le tue Cloud Run Functions vengono eseguite all'interno della regione selezionata.

Per ulteriori indicazioni sulla sicurezza dei container, consulta Suggerimenti generali per lo sviluppo di Cloud Run.

Tutti i prodotti nell'architettura

Crittografia dei dati: per impostazione predefinita, Google Cloud cripta i dati at-rest utilizzando Google-owned and Google-managed encryption keys. Per proteggere i dati dei tuoi agenti utilizzando chiavi di crittografia che controlli, puoi utilizzare le CMEK che crei e gestisci in Cloud KMS. Per informazioni sui servizi Google Cloud compatibili con Cloud KMS, consulta la sezione Servizi compatibili.

Mitiga il rischio di esfiltrazione di dati: per ridurre il rischio di esfiltrazione di dati, crea un perimetro di Controlli di servizio VPC attorno all'infrastruttura. I Controlli di servizio VPC supportano tutti i servizi Google Cloud utilizzati da questa architettura di riferimento.

Controllo dell'accesso: quando configuri le autorizzazioni per le risorse nella topologia, segui il principio del privilegio minimo.

Sicurezza dell'ambiente cloud: utilizza gli strumenti di Security Command Center per rilevare vulnerabilità, identificare e mitigare le minacce, definire e implementare una strategia di sicurezza ed esportare i dati per ulteriori analisi.

Ottimizzazione post-deployment: dopo aver eseguito il deployment dell'applicazione in Google Cloud, ricevi consigli per ottimizzare ulteriormente la sicurezza utilizzando Active Assist. Esamina i consigli e applicali in base al tuo ambiente. Per maggiori informazioni, consulta Trovare i suggerimenti in Active Assist.

Altri suggerimenti per la sicurezza

Affidabilità

Questa sezione descrive considerazioni e consigli di progettazione per creare e gestire un'infrastruttura affidabile per il tuo deployment in Google Cloud.

Componente Considerazioni e consigli sulla progettazione
Agente

Simula errori: prima di eseguire il deployment del sistema di AI agentica in produzione, convalidalo simulando un ambiente di produzione. Identifica e correggi problemi e comportamenti imprevisti.

Scalabilità orizzontale: per garantire alta disponibilità e tolleranza di errore, esegui più istanze dell'applicazione agente dietro un bilanciatore del carico. Questo approccio può anche contribuire a ridurre la latenza e i timeout distribuendo le richieste tra le istanze. Alcuni runtime dell'agente gestiscono automaticamente il bilanciamento del carico, ad esempio con la scalabilità automatica delle istanze nei servizi Cloud Run.

Recupero da interruzioni: per garantire che l'agente possa gestire correttamente i riavvii e mantenere il contesto, disaccoppia lo stato dal runtime. Per implementare un'applicazione agente stateless, utilizza un datastore esterno come un database o una cache distribuita. Ad esempio, puoi utilizzare Memory Bank, Memorystore for Redis o un servizio di database come Cloud SQL.

Gestisci gli errori: per consentire la diagnosi e la risoluzione dei problemi relativi agli errori, implementa meccanismi di registrazione, gestione delle eccezioni e nuovi tentativi.

Vertex AI

Gestione delle quote: Vertex AI supporta la quota condivisa dinamica (DSQ) per i modelli Gemini. DSQ consente di gestire in modo flessibile le richieste con pagamento a consumo ed elimina la necessità di gestire manualmente la quota o di richiedere aumenti della quota. DSQ alloca dinamicamente le risorse disponibili per un determinato modello e una determinata regione tra i clienti attivi. Con DSQ, non esistono limiti di quota predefiniti per i singoli clienti.

Pianificazione della capacità: se il numero di richieste al modello supera la capacità allocata, viene restituito il codice di errore 429. Per i workload business critical che richiedono un throughput costantemente elevato, puoi riservare il throughput utilizzando il throughput riservato.

Disponibilità dell'endpoint del modello: se i dati possono essere condivisi in più regioni o paesi, puoi utilizzare un endpoint globale per il modello.

Cloud Run

Robustezza alle interruzioni dell'infrastruttura: Cloud Run è un servizio regionale. Archivia i dati in modo sincrono in più zone all'interno di una regione e bilancia automaticamente il carico del traffico tra le zone. In caso di interruzione della zona, Cloud Run continua a essere eseguito e i dati non vengono persi. Se si verifica un'interruzione a livello di regione, il servizio smette di funzionare finché Google non risolve l'interruzione.

Scalabilità orizzontale: i servizi Cloud Run gestiscono la scalabilità automatica delle istanze per te. La scalabilità automatica contribuisce a garantire che le istanze possano gestire tutte le richieste, gli eventi e l'utilizzo della CPU in entrata necessari per garantire l'alta disponibilità.

Tutti i prodotti nell'architettura

Ottimizzazione post-deployment: dopo aver eseguito il deployment dell'applicazione in Google Cloud, ricevi consigli per ottimizzare ulteriormente la sicurezza utilizzando Active Assist. Esamina i consigli e applicali in base al tuo ambiente. Per ulteriori informazioni, consulta Trovare i suggerimenti in Active Assist.

Per principi e consigli di affidabilità specifici per i carichi di lavoro AI e ML, consulta Prospettiva AI e ML: affidabilità nel framework Well-Architected.

Operazioni

Questa sezione descrive i fattori da considerare quando utilizzi questa architettura di riferimento per progettare una topologia Google Cloud che puoi gestire in modo efficiente.

Componente Considerazioni e consigli sulla progettazione
Agente

Debug e analisi: implementa il logging strutturato all'interno dell'applicazione agente. La registrazione e la tracciabilità consentono di acquisire informazioni chiave in un formato strutturato, ad esempio quali strumenti sono stati chiamati, gli input e gli output dell'agente e la latenza di ogni passaggio.

Vertex AI

Monitoraggio tramite log: per impostazione predefinita, i log dell'agente scritti nei flussi stdout e stderr vengono indirizzati a Cloud Logging. Per un logging avanzato, puoi integrare il logger Python con Logging. Se hai bisogno del controllo completo su logging e log strutturati, utilizza il client Logging. Per ulteriori informazioni, consulta Registrazione di un agente e Accesso all'ADK.

Valutazione continua: esegui regolarmente una valutazione qualitativa dell'output degli agenti e della traiettoria o dei passaggi eseguiti dagli agenti per produrre l'output. Per implementare la valutazione dell'agente, puoi utilizzare il servizio Gen AI Evaluation o i metodi di valutazione supportati da ADK.

Cloud Run

Stato e prestazioni: monitora i tuoi servizi Cloud Run utilizzando Google Cloud Observability. Configura avvisi in Cloud Monitoring per ricevere una notifica di potenziali problemi, ad esempio un aumento dei tassi di errore, una latenza elevata o un utilizzo anomalo delle risorse.

Database

Stato e prestazioni: monitora il database utilizzando Google Cloud Observability. Configura avvisi in Monitoring per ricevere notifiche su potenziali problemi, ad esempio un aumento dei tassi di errore, latenza elevata o utilizzo anomalo delle risorse.

MCP

Strumenti per database: per gestire in modo efficiente gli strumenti per database per i tuoi agenti AI e per assicurarti che gestiscano in sicurezza complessità come il pooling delle connessioni e l'autenticazione, utilizza MCP Toolbox for Databases. Fornisce una posizione centralizzata per archiviare e aggiornare gli strumenti di database. Puoi condividere gli strumenti tra gli agenti e aggiornarli senza doverli ridistribuire. La casella degli strumenti include un'ampia gamma di strumenti per Google Cloud database come AlloyDB per PostgreSQL e per database di terze parti come MongoDB.

Modelli di AI generativa: per consentire agli agenti AI di utilizzare i modelli di AI generativa di Google come Imagen e Veo, puoi utilizzare i server MCP per le Google Cloud API multimediali generative.

Prodotti e strumenti di sicurezza Google: per consentire agli agenti AI di accedere a prodotti e strumenti di sicurezza Google come Google Security Operations, Google Threat Intelligence e Security Command Center, utilizza i server MCP per i prodotti di sicurezza Google.

Tutti i prodotti Google Cloud dell'architettura

Tracciamento: raccogli e analizza continuamente i dati di traccia utilizzando Trace. I dati di Trace consentono di identificare e diagnosticare rapidamente i problemi di latenza all'interno di flussi di lavoro complessi degli agenti. Puoi eseguire analisi approfondite tramite le visualizzazioni nella pagina EsploraTracea console Google Cloud . Per maggiori informazioni, vedi Tracciare un agente.

Per principi e consigli di eccellenza operativa specifici per i workload di AI e ML, consulta Prospettiva AI e ML: eccellenza operativa nel framework Well-Architected.

Ottimizzazione dei costi

Questa sezione fornisce indicazioni per ottimizzare il costo di configurazione e gestione di una topologia Google Cloud che crei utilizzando questa architettura di riferimento.

Componente Considerazioni e consigli sulla progettazione
Vertex AI

Analisi e gestione dei costi: per analizzare e gestire i costi di Vertex AI, ti consigliamo di creare metriche di base per le query al secondo (QPS) e i token al secondo (TPS). Poi, monitora queste metriche dopo il deployment. La baseline aiuta anche con la pianificazione della capacità. Ad esempio, la baseline ti aiuta a determinare quando potrebbe essere necessario il throughput sottoposto a provisioning.

Selezione del modello: il modello che selezioni per la tua applicazione AI influisce direttamente su costi e rendimento. Per identificare il modello che offre un equilibrio ottimale tra prestazioni e costi per il tuo caso d'uso specifico, testa i modelli in modo iterativo. Ti consigliamo di iniziare con il modello più conveniente e passare gradualmente a opzioni più potenti.

Prompt a costi contenuti: la lunghezza dei prompt (input) e delle risposte generate (output) influisce direttamente sulle prestazioni e sui costi. Scrivi prompt brevi, diretti e che forniscano un contesto sufficiente. Progetta i prompt per ottenere risposte concise dal modello. Ad esempio, includi frasi come "riassumi in due frasi" o "elenca tre punti chiave". Per saperne di più, consulta le best practice per la progettazione dei prompt.

Memorizzazione nella cache del contesto: per ridurre il costo delle richieste che contengono contenuti ripetuti con un numero elevato di token di input, utilizza la memorizzazione nella cache del contesto.

Richieste batch: se pertinente, valuta la possibilità di utilizzare la previsione batch. Le richieste batch comportano un costo inferiore rispetto alle richieste standard.

Cloud Run

Allocazione delle risorse: quando crei un servizio Cloud Run, puoi specificare la quantità di memoria e CPU da allocare. Inizia con le allocazioni predefinite di CPU e memoria. Osserva l'utilizzo e il costo delle risorse nel tempo e modifica l'allocazione in base alle necessità. Per saperne di più, consulta la seguente documentazione:

Ottimizzazione della tariffa: se puoi prevedere i requisiti di CPU e memoria, puoi risparmiare denaro con gli sconti per impegno di utilizzo (CUD).

Tutti i prodotti nell'architettura Ottimizzazione post-deployment: dopo aver eseguito il deployment dell'applicazione in Google Cloud, ricevi consigli per ottimizzare ulteriormente i costi utilizzando Active Assist. Esamina i consigli e applicali in base al tuo ambiente. Per saperne di più, consulta Trovare i suggerimenti in Active Assist.

Per stimare il costo delle tue risorse Google Cloud , utilizza il Google Cloud Calcolatore prezzi.

Per principi e suggerimenti di ottimizzazione dei costi specifici per i workload AI e ML, consulta Prospettiva AI e ML: ottimizzazione dei costi nel framework Well-Architected.

Ottimizzazione delle prestazioni

Questa sezione descrive le considerazioni e i consigli di progettazione per progettare una topologia in Google Cloud che soddisfi i requisiti di rendimento dei tuoi workload.

Componente Considerazioni e consigli sulla progettazione
Agenti

Selezione del modello: quando selezioni i modelli per il tuo sistema di AI agentica, considera le funzionalità richieste per le attività che gli agenti devono svolgere.

Ottimizzazione dei prompt: per migliorare e ottimizzare rapidamente il rendimento dei prompt su larga scala ed eliminare la necessità di riscrittura manuale, utilizza lo strumento di ottimizzazione dei prompt di Vertex AI. L'ottimizzatore ti aiuta ad adattare in modo efficiente i prompt a diversi modelli.

Vertex AI

Selezione del modello: il modello che selezioni per la tua applicazione AI influisce direttamente su costi e rendimento. Per identificare il modello che offre un equilibrio ottimale tra prestazioni e costi per il tuo caso d'uso specifico, testa i modelli in modo iterativo. Ti consigliamo di iniziare con il modello più conveniente e passare gradualmente a opzioni più potenti.

Prompt engineering: la lunghezza dei prompt (input) e delle risposte generate (output) influisce direttamente sulle prestazioni e sui costi. Scrivi prompt brevi, diretti e che forniscano un contesto sufficiente. Progetta i prompt per ottenere risposte concise dal modello. Ad esempio, includi frasi come "riassumi in due frasi" o "elenca tre punti chiave". Per saperne di più, consulta le best practice per la progettazione dei prompt.

Memorizzazione nella cache del contesto: per ridurre la latenza delle richieste che contengono contenuti ripetuti con un numero elevato di token di input, utilizza la memorizzazione nella cache del contesto.

Cloud Run

Allocazione delle risorse: a seconda dei requisiti di prestazioni, configura la memoria e la CPU da allocare al servizio Cloud Run. Per saperne di più, consulta la seguente documentazione:

Per ulteriori indicazioni sull'ottimizzazione del rendimento, consulta Suggerimenti generali per lo sviluppo di Cloud Run.

Tutti i prodotti nell'architettura Ottimizzazione post-deployment: dopo aver eseguito il deployment dell'applicazione in Google Cloud, ricevi consigli per ottimizzare ulteriormente il rendimento utilizzando Active Assist. Esamina i consigli e applicali in base al tuo ambiente. Per saperne di più, consulta Trovare i suggerimenti in Active Assist.

Per principi e consigli di ottimizzazione delle prestazioni specifici per i carichi di lavoro di AI e ML, consulta Prospettiva AI e ML: ottimizzazione delle prestazioni nel Well-Architected Framework.

Deployment

L'implementazione automatica per questa architettura di riferimento non è disponibile. Utilizza i seguenti esempi di codice per creare un'architettura con un singolo agente:

Per esempi di codice per iniziare a utilizzare l'ADK insieme ai server MCP, consulta Strumenti MCP.

Per esempi di sistemi di AI single-agent aggiuntivi, puoi utilizzare i seguenti esempi di codice. Questi esempi di codice sono punti di partenza completamente funzionali per l'apprendimento e la sperimentazione. Per un funzionamento ottimale negli ambienti di produzione, devi personalizzare il codice in base ai tuoi requisiti aziendali e tecnici specifici.

  • Shopping personalizzato: fornisci consigli personalizzati sui prodotti per un brand, un commerciante o un marketplace online specifico.
  • Gestione degli incidenti: convalida il token e l'identità dell'utente finale in base alla richiesta utilizzando la propagazione dinamica dell'identità.
  • Elaborazione degli ordini: elabora e archivia gli ordini e coordina la conferma via email con una revisione umana condizionale per le quantità di ordini specificate.
  • Ingegneria dei dati: sviluppa pipeline Dataform, risolvi i problemi delle pipeline e gestisci l'ingegneria dei dati da query SQL complesse a trasformazioni dei dati e dipendenze dei dati.
  • Recupero della documentazione: utilizza RAG per eseguire query sui documenti che carichi in Vertex AI RAG Engine e ottenere risposte con citazioni di documentazione e codice.

Passaggi successivi

Collaboratori