Agent Development Kit Google

Agent Development Kit Google

L’Agent Development Kit (ADK) è un framework open-source di Google, annunciato il 9 aprile 2025 a Google Cloud NEXT 2025, concepito per semplificare lo sviluppo end-to-end di agenti e sistemi multi-agent in Python . ADK fornisce un’architettura modulare, con supporto a diversi modelli (Gemini, LiteLLM, modelli esterni via Vertex AI Model Garden) e a un ecosistema di strumenti pre-integrati, oltre a orchestrazione flessibile (Sequential, Parallel, Loop, LlmAgent), interazione bidirezionale streaming, valutazione integrata e deployment containerizzato. Il kit è ottimizzato per l’integrazione in Google Cloud (Apigee, BigQuery, AlloyDB) ma rimane agnostico rispetto a modelli e infrastrutture . Con ADK si costruiscono applicazioni multi-agent gerarchiche, controllando ruoli e deleghe tra agenti in modo dichiarativo attraverso descrizioni chiare e codice Python . La fase di valutazione avviene tramite test case definiti in JSON, eseguiti con AgentEvaluator, mentre il deployment può avvenire su qualsiasi runtime container o su Vertex AI Agent Engine. A confronto con Genkit (framework per Node.js/Go focalizzato su flussi e plugin), ADK emerge per le astrazioni di orchestrazione e la comunicazione agent-agent . Infine, Vertex AI è la piattaforma unificata Google Cloud per ML/AI, che spazia dal training alla messa in produzione di modelli e agenti generativi .

Il protocollo A2A di Google definisce un linguaggio comune per l’interoperabilità tra agenti (Agent Cards, Task, Part, Artifact, streaming SSE e webhook), mentre il Model Context Protocol (MCP) di Anthropic è uno standard per fornire contesto alle LLM da sistemi esterni, più orientato alla connessione di AI e applicazioni rispetto alla cooperazione agent-agent.

Cos’è l’Agent Development Kit (ADK)

Agent Development Kit (ADK) è un framework Python open-source per lo sviluppo di agenti autonomi e sistemi multi-agent, progettato per integrare modelli di linguaggio, strumenti esterni, orchestrazione e deployment in un unico toolset.

Origini e data di lancio

ADK è stato introdotto ufficialmente il 9 aprile 2025 durante Google Cloud NEXT 2025 da Erwin Huizenga e Bo Yang, e rappresenta la stessa tecnologia alla base di Agentspace e Google Customer Engagement Suite (CES) .

Scopo principale

L’obiettivo di ADK è rendere lo sviluppo di agenti e architetture agent-centriche più simile alla programmazione software tradizionale, con un’esperienza Python-first che facilita test, debugging, versioning e deployment anywhere.

Caratteristiche principali – Agent Development Kit Google

  • Multi-Agent by Design: supporto nativo alla composizione gerarchica di agenti (sub_agents) per coordinazione e delega dei compiti .
  • Ecosistema di Tool: strumenti pre-built (Search, Code Exec), integrazione OpenAPI, strumenti MCP, librerie di terze parti (LangChain, LlamaIndex) e possibilità di usare altri agenti come tool .
  • Orchestrazione Flessibile: Workflow agents (SequentialAgent, ParallelAgent, LoopAgent) per pipeline prevedibili o LlmAgent per routing dinamico via LLM .
  • Interazione Streaming: audio/video bidirezionali in real-time per dialoghi multimodali .
  • Evaluation Integrata: framework di valutazione automatica con AgentEvaluator.evaluate() e comandi CLI o Web UI per verificare traiettorie e qualità delle risposte secondo test case JSON .
  • Deployment Anywhere: containerizzazione e deploy su Cloud Run, GKE o Vertex AI Agent Engine, garantendo scalabilità enterprise-grade.

Costruire applicazioni multi-agent con ADK

Esempio di agente singolo:

from google.adk.agents import LlmAgent  
from google.adk.tools import google_search  

qa_agent = LlmAgent(  
    model="gemini-2.0-flash-exp",  
    name="question_answer_agent",  
    description="Assistente che risponde usando Google Search",  
    instruction="Rispondi usando google_search",  
    tools=[google_search],  
)  

Esempio gerarchico con delega:

def get_weather(city: str) -> dict:  
    # Mock implementation  
    return {"status":"success","report":f"Temperature in {city}: 20°C"}  

greeting = LlmAgent(model="anthropic/claude-3-sonnet", name="greet_agent",  
                    instruction="Fai solo saluti", description="Saluta l’utente")  
weather = LlmAgent(model="gemini-2.0", name="weather_agent",  
                   instruction="Fornisci meteo", description="Gestisce query meteo",  
                   tools=[get_weather], sub_agents=[greeting])  

In questo setup, weather_agent delega automaticamente a greet_agent se il prompt è un saluto, altrimenti richiama get_weather

Evaluation e Deployment

Per la valutazione si definiscono test case in file JSON (es. evaluation.test.json) e si eseguono con:

adk eval --project=my_project --tests=evaluation.test.json

Oppure in codice:

from google.adk.evaluation import AgentEvaluator  
AgentEvaluator.evaluate(agent=weather, tests="evaluation.test.json")  

La fase di deployment sfrutta la containerizzazione Docker o l’integrazione con Vertex AI Agent Engine, che fornisce un runtime fully managed scalabile e sicuro

Confronto con Genkit

Cos’è Genkit

Genkit è un framework open-source (Node.js/Go) per lo sviluppo di applicazioni AI-powered basate su pattern code-centrici, con supporto a plugin (modelli, database vettoriali), flussi (Flows), CLI e UI locale per debug ed evaluation.

Differenze principali

CaratteristicaADKGenkit
LinguaggioPythonNode.js, Go
FocusMulti-agent systems, orchestrationFlussi AI generici, RAG, plugin
OrchestrazioneWorkflow + LLM-driven routingFlussi (Flows)
Streaming multimodaleSì (audio/video)Sì (streaming prompt/response)
DeploymentContainer, Vertex AI Agent EngineAPI Endpoints via CLI/UI locale
Integrazione modelliGemini, LiteLLM, Vertex AI Model GardenQualunque modello via plugin

Panoramica di Vertex AI

Vertex AI è la piattaforma ML/AI unificata di Google Cloud che combina data engineering, data science e ML engineering in un unico ambiente, offrendo Model Garden (modelli pre-addestrati e open-source), Generative AI (modelli multimodali Gemini), Studio per prototipi e prompt design, Pipeline per orchestrare workflow, Explainable AI, Agent Engine per il deployment di agenti e servizi fully managed.

Protocollo A2A vs Protocollo MCP

  • A2A (Agent2Agent): open protocol Google per interoperabilità tra agenti eterogenei, basato su Agent Card (/.well-known/agent.json), Task, Message, Part, Artifact, streaming SSE e push webhook .
  • MCP (Model Context Protocol): standard open-source di Anthropic (lanciato il 25 novembre 2024) per fornire contesto alle LLM da sistemi esterni (file, API, database), con due componenti base (MCP server e client) e workflow di scoperta e scambio di contesto, più orientato all’integrazione AI-applicazioni piuttosto che alla comunicazione tra agenti.

Conclusioni – Agent Development Kit Google

ADK si distingue per il livello di astrazione e controllo dedicato alle architetture multi-agent, integrando orchestrazione, streaming, valutazione e deployment in un unico framework Python ottimizzato per Google Cloud. Genkit offre un’alternativa più generica per esperienze AI-powered basate su flussi e plugin in Node.js/Go. Vertex AI fornisce l’infrastruttura sottostante per addestrare, testare e mettere in produzione modelli e agenti. Il protocollo A2A abilita la cooperazione fra agenti indipendenti, mentre MCP standardizza l’accesso contestuale ai dati da parte delle LLM, rispondendo a esigenze complementari nel panorama agent-centric AI.

(fonte) (fonte)

Innovaformazione, scuola informatica specialistica promuove la cultura dell’AI utilizzata in maniera consapevole ed affianca le aziende nella formazione continua del team di sviluppatori. Nell’ offerta formativa trovate i Corsi AI Generativa rivolti alle aziende.

INFO: info@innovaformazione.net – tel. 3471012275 (Dario Carrassi)

Vuoi essere ricontattato? Lasciaci il tuo numero telefonico e la tua email, ti richiameremo nelle 24h:

    Ti potrebbe interessare

    Articoli correlati