Immagina questo.
Dai a un agente cinque strumenti e un'unica istruzione.
Il tuo processo di rimborso potrebbe funzionare alla perfezione.
Poi l'email di conferma fallisce.
L'agente ricomincia la sequenza da capo, ripete un'azione che era già riuscita.
Il risultato? Un doppio rimborso.
Il prototipo funzionava benissimo. Il sistema in produzione no.
Il problema non è il prompt.
Il problema è chiedere al modello di eseguire un processo che, in primo luogo, non dovrebbe mai eseguire!
Gli LLM vengono costantemente costretti a occuparsi di routing, pianificazione e gestione degli errori.
Sono compiti che il software tradizionale gestisce già con una prevedibilità perfetta.
Eppure chiediamo all'AI di fare due lavori in conflitto tra loro:
- Leggere il mondo: dare un senso a dati imprevedibili e non strutturati
- Eseguire il processo: orchestrare una sequenza rigida e predefinita di eventi
Nel primo caso l'AI dà il meglio di sé. Nel secondo, serve il codice tradizionale.
Quando il passo successivo è noto, un modello non dovrebbe doverlo indovinare.
Immagina un singolo agente autonomo a cui vengono dati cinque strumenti e una grande istruzione:
→ recuperare la cronologia degli acquisti
→ verificare la politica di rimborso
→ emettere il rimborso se idoneo
→ inviare un'email
→ poi chiudere il ticket
Per riuscirci, l'agente deve ricordare la sequenza, esaminare il risultato di ogni strumento e dedurre cosa succede dopo.
Se quell'email di conferma fallisce dopo che il denaro è stato inviato, il modello cerca di ricostruire il flusso di lavoro dalla sua finestra di contesto invece di ripartire da uno stato di esecuzione sicuro.
Il risultato è quel doppio rimborso di cui parlavamo prima.
Come ADK 2.0 mette ordine nel caos
ADK 2.0 di Google risolve tutto questo con un approccio completamente nuovo.
Trasforma le azioni prevedibili in passaggi di flusso di lavoro concreti, inserendo l'AI solo dove serve davvero l'interpretazione:

[Grafico del flusso di rimborso - fonte: “Why we built ADK 2.0”]
Nell'esempio qui sopra, recuperare la cronologia degli acquisti, emettere il rimborso e chiudere il ticket sono normali azioni software.
Analizzare il reclamo e redigere un messaggio di conferma personalizzato sono compiti affidati all'AI.
Il risultato è un ibrido bellissimo: esecuzione fissa combinata con ragionamento mirato.
Ma forse stai pensando: non è solo un ritorno all'automazione rigida?
Stiamo forse codificando rigidamente i flussi di lavoro che gli agenti avrebbero dovuto sostituire?
Beh, non proprio.
Il flusso di lavoro definisce i confini che sono già noti.
Gli agenti continuano a gestire le parti che richiedono interpretazione, linguaggio o giudizio.
L'obiettivo non è eliminare la flessibilità, ma smettere di costringere il modello a riscoprire ogni volta lo stesso percorso di esecuzione.
Eliminando queste decisioni superflue del modello, l'architettura cambia completamente le carte in tavola.
Stesso flusso di rimborso. Stesso modello.
Ma con ADK 2.0, i token sono passati da 5.152 a 2.265, e la latenza è scesa da 7,2 s a 5,7 s 🔥

[fonte: “Why we built ADK 2.0”]
Questa struttura funge da filtro naturale e dimezza l'uso dei token.
Invece di ricevere l'intera cronologia, gli agenti vedono solo ciò che serve loro (ad es., l'agente delle policy vede solo il reclamo).
I vantaggi sono immediati:
- Meno rumore nel prompt e maggiore privacy
- Esecuzione strettamente vincolata
- Meccanismi di sicurezza: un modello può prendere una decisione sbagliata, ma non potrà mai inventarsi un percorso alternativo
Anche il frontend ha bisogno di confini: come A2UI tiene sotto controllo le tue UI
Ottimo. Il flusso di rimborso è ora sotto controllo.
ADK 2.0 ha definito il percorso e ha impedito all'agente di inventarsi una sequenza propria.
Ma l'utente ha comunque bisogno di un modo sicuro per vedere e interagire con ciò che l'agente produce.
In altre parole, anche il frontend ha bisogno di confini!
Immagina che ogni rimborso approvato ora richieda l'approvazione di un supervisore.
L'agente non dovrebbe semplicemente generare testo del tipo:
“Questo rimborso è approvato.”
Deve mostrare una scheda strutturata contenente
- l'importo
- la transazione
- il motivo della policy
- pulsanti chiari 'Approva/Rifiuta'
È esattamente qui che entra in gioco A2UI di Google!
Con A2UI, l'agente restituisce un payload JSON dichiarativo anziché codice frontend eseguibile.
L'host valida quel payload e renderizza solo i componenti supportati dal suo catalogo.
L'agente decide quali informazioni mostrare, e l'app controlla come renderizzarle.
👇 Ecco alcuni esempi di schede renderizzate con A2UI, che mostrano l'ampia varietà di composizioni UI che A2UI può realizzare:

La demo A2UI-over-MCP Recipe Studio di Google mostra questa architettura in pratica:

Fonte: Google Developers Blog.
👆 Puoi vedere che un modulo di selezione statico viene fornito tramite una risorsa MCP, mentre una scheda ricetta generata dinamicamente viene restituita tramite uno strumento MCP.
A2UI renderizza entrambi nativamente all'interno dell'applicazione host.
Noti la simmetria?
- ADK 2.0 limita ciò che l'agente può fare sul backend
- A2UI limita ciò che può creare sul frontend
In entrambi i casi, il modello ha spazio per ragionare, ma solo all'interno dei confini definiti dall'applicazione.
Per tornare all'esempio del rimborso di cui parlavamo prima, un rimborso standard potrebbe richiedere solo una semplice scheda di approvazione.
Ma un caso contestato che coinvolge eccezioni, allegati o rimborsi parziali potrebbe richiedere un'esperienza più ricca.
È qui che entra in gioco un'app MCP, che offre uno spazio di lavoro contenuto per interazioni complesse:

→ ADK controlla cosa può accadere
→ A2UI rende il risultato visibile e utilizzabile
→ Le app MCP gestiscono gli spazi di lavoro complessi
Curioso di saperne di più?
Ecco tutto ciò che ti serve per esplorare ADK 2.0, A2UI e la piattaforma agenti più ampia di Google Cloud:
- ADK 2.0: https://fandf.co/4yJhcyh
- A2UI: https://fandf.co/3S1O9pe
- A2UI over MCP: https://fandf.co/45vomJ3
- Gemini Enterprise Agent Platform: https://fandf.co/4x59VY7
È stato un privilegio collaborare con @googlecloud a questo progetto! 🤝
Se vuoi restare aggiornato sulle ultime novità su LLM, agenti AI e flussi di lavoro, puoi seguirmi @datachaz per approfondimenti quotidiani.





