Anatomia Agente AI
Anatomia Agente AI
Guida tecnica per sviluppatori e ingegneri informatici
Indice dei contenuti – Anatomia Agente AI
- Cosa si intende per Agente AI nel 2026
- Il Modello LLM: il motore cognitivo
- Tools e Structured Output: le mani dell’agente
- Context e Context Engineering: la memoria di lavoro
- Il Protocollo MCP: la lingua universale degli agenti
- L’Agentic Loop: il ciclo vitale di ogni agente
- Il Harness: il sistema operativo dell’agente
- Multi-Agent e A2A: quando gli agenti collaborano
- Operatività, Tracing e Sicurezza
- Best Practice: pro e contro degli agenti AI
- Formazione continua: come restare aggiornati
- Conclusioni e Contatti
1. Cosa si intende per Agente AI nel 2026
Nonostante la diffusione capillare del termine, una definizione universalmente accettata di “agente AI” non esiste ancora. Lo sottolineava già nel 1994 un paper fondativo di Wooldridge e Jennings, e la situazione non è cambiata: OpenAI, Anthropic, Google e IBM hanno ciascuna la propria definizione.
La distinzione più utile, proposta da Anthropic, è tra agente e sistema agentico: un agente è un singolo componente dotato di autonomia; un sistema agentico è un sistema distribuito composto da più parti che, insieme, derivano autonomia e producono risultati concreti. Questa separazione è cruciale quando si costruiscono applicazioni reali.
Definizione operativa: un agente AI è un sistema che esegue un ciclo Perceive → Reason → Act → Observe (PRAO) su un orizzonte temporale esteso, mantenendo abbastanza contesto per agire in modo coerente tra un passo e l’altro.
Dal punto di vista di mercato, il 2026 è l’anno della svolta: secondo Gartner, il 40% delle applicazioni enterprise incorporerà agenti AI specializzati entro la fine dell’anno, contro meno del 5% nel 2025, con un potenziale impatto di 450 miliardi di dollari di fatturato software entro il 2035.
2. Il Modello LLM: il motore cognitivo – Anatomia Agente AI
Al centro di ogni agente c’è un Large Language Model (LLM), il motore di ragionamento. Nel 2026 i modelli open source (Llama, Mistral, DeepSeek) si avvicinano per capacità ai modelli closed (GPT, Claude, Gemini), al punto che è possibile eseguire modelli da 32 miliardi di parametri in locale su un laptop con 64 GB di RAM.
Il modello non è l’agente: è il suo cervello decisionale. Riceve in ingresso un contesto strutturato e produce un’uscita che guida le azioni del sistema. L’analogia più efficace la offre Phil Schmid: il modello è la CPU, il context window è la RAM, e il harness (che vedremo al paragrafo 7) è il sistema operativo.
La scelta del modello dipende dal task: ragionamento complesso, velocità di risposta, costo per token, o capacità di chiamata a tool. In produzione, l’85% dei team che sviluppano agenti sceglie di interfacciarsi direttamente all’API del modello, senza framework intermedi.
3. Tools e Structured Output: le mani dell’agente – Anatomia Agente AI
Un modello da solo produce solo testo. I tool calls trasformano quel testo in azioni reali: chiamate API, scrittura su database, esecuzione di codice, ricerche web. Il modello non chiama l’API direttamente: produce un output JSON strutturato che l’applicazione host interpreta ed esegue.
Il modello, in sostanza, è un selection brain: gli vengono presentate le definizioni degli strumenti disponibili e lui sceglie quale funzione invocare con quali parametri. Ecco un esempio minimo in Python con l’SDK Anthropic:
import anthropic
client = anthropic.Anthropic()
tools = [{
"name": "get_weather",
"description": "Recupera la temperatura attuale di una città.",
"input_schema": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}]
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
tools=tools,
messages=[{"role": "user", "content": "Che tempo fa a Milano?"}]
)
# Il modello risponde con un tool_use block
# {'type': 'tool_use', 'name': 'get_weather', 'input': {'city': 'Milano'}}
Nel 2026, la tipizzazione dei tool con Pydantic e JSON Schema ha ridotto drasticamente le chiamate malformate, rendendo il layer degli strumenti molto più affidabile in produzione.
4. Context e Context Engineering: la memoria di lavoro
La context window è lo spazio limitato che il modello ha a disposizione per “vedere” tutte le informazioni rilevanti: system prompt, storico della conversazione, risultati dei tool, documenti recuperati. Gestire questo spazio in modo ottimale è diventata una disciplina a sé stante: la context engineering.
Anthropic descrive la context engineering come “l’arte e la scienza di curare ciò che entra nella finestra di contesto limitata, a partire da un universo in continua evoluzione di informazioni possibili”.
Ci sono tre livelli evolutivi nell’approccio al contesto: fino al 2024 si parlava di prompt engineering (scrivere buone istruzioni); nel 2025 è diventata context engineering (gestire tutto ciò che il modello vede); nel 2026 si parla di harness engineering (costruire l’intero sistema attorno al modello).
Un aspetto critico: i modelli sono “lossy” per i contenuti a metà della finestra (problema needle-in-a-haystack). Ciò che si trova all’inizio e alla fine riceve più attenzione. Strutturare il contesto tenendo conto di questa asimmetria impatta la qualità dell’output tanto quanto la scelta del modello stesso.
Il RAG (Retrieval-Augmented Generation) porta conoscenza esterna nel contesto tramite embedding semantici e ricerca vettoriale: due parole completamente diverse in keyword space possono essere quasi identiche nello spazio semantico. Ecco uno schema semplificato:
# Pipeline RAG semplificata
query = 'Come funziona il contratto di appalto?'
# 1. Embedding della query
query_vec = embed(query) # es. text-embedding-3-small
# 2. Ricerca vettoriale nel knowledge base
docs = vector_db.search(query_vec, top_k=5)
# 3. Inserimento nel contesto del modello
context = '\n'.join([d.text for d in docs])
prompt = f'Usa questi documenti: {context}\n\nDomanda: {query}'
5. Il Protocollo MCP: la lingua universale degli agenti – Anatomia Agente AI
Prima del Model Context Protocol (MCP), ogni applicazione doveva scrivere i propri schemi di tool personalizzati per ogni servizio esterno da integrare. Anthropic ha annunciato MCP nel novembre 2024 come standard aperto per la discovery e la descrizione dei tool, permettendo a qualsiasi applicazione di interrogare un server MCP, ottenere schemi ben definiti e passarli direttamente al modello.
In pochi mesi dalla sua presentazione sono comparsi oltre 1.000 server MCP della community. Nel 2025 Anthropic ha donato MCP all’Agentic AI Foundation (AAIF), un fondo diretto dalla Linux Foundation cofondato con Block e OpenAI, con il supporto di Google, Microsoft, AWS, Cloudflare e Bloomberg. Oggi gli SDK ufficiali per Python e TypeScript contano oltre 97 milioni di download mensili.
MCP funziona come USB per i dispositivi: una volta che uno strumento implementa il protocollo, qualsiasi agente compatibile può usarlo senza integrazioni custom.
Un esempio pratico di connessione a un server MCP in TypeScript:
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
const response = await client.messages.create({
model: 'claude-sonnet-4-5',
max_tokens: 1024,
mcp_servers: [{
type: 'url',
url: 'https://mcp.example.com/filesystem',
name: 'filesystem-server'
}],
messages: [{ role: 'user',
content: 'Leggi il file report.txt e riassumilo' }]
});
6. L’Agentic Loop: il ciclo vitale di ogni agente – Anatomia Agente AI
Al centro di ogni sistema agentico c’è un loop. Il modello riceve una query, ragiona sul da farsi, pianifica i passi e decide quali tool usare. L’applicazione esegue il tool, interagisce con l’ambiente esterno (un’API, un file system, un database), poi percepisce il risultato e torna all’inizio del ciclo.
Ogni iterazione del loop è chiamata turn. Il sistema può fermarsi ad ogni turn per una revisione umana (human-in-the-loop) oppure procedere in autonomia (human-on-the-loop). Il livello di autonomia concesso dipende dalla fiducia nel sistema, e la fiducia dipende da valutazione, guardrail, tracing e sicurezza.
# Pseudocodice dell'agentic loop
def agentic_loop(task, max_turns=10):
history = []
for turn in range(max_turns):
# 1. Il modello ragiona e sceglie un tool
response = llm.call(task, history, available_tools)
if response.type == 'final_answer':
return response.content
# 2. Esecuzione del tool
tool_result = execute_tool(response.tool_name,
response.tool_input)
# 3. Aggiornamento del contesto
history.append({'tool': response.tool_name,
'result': tool_result})
return 'Max turns reached'
Un parallel esplicativo: delegare un task a un agente è come delegarlo a un collaboratore. Si delega a chi ci si fida. Prima di concedere autonomia decisionale a un modello, occorre costruire lo stesso livello di confidenza che si costruisce con le persone: attraverso valutazione sistematica, test e guardrail.
7. Il Harness: il sistema operativo dell’agente
Avere tutti i componenti non basta: serve qualcosa che li orchestri a runtime, decidendo quale contesto entra nella finestra, quali tool sono disponibili, quando compattare lo storico, come applicare le regole di sicurezza, quando fermarsi. Questo componente si chiama harness.
La formula è semplice: Agente = Modello + Harness. Un modello “raw” è una funzione (testo in, testo out). Il harness è ciò che lo trasforma in un agente: stato, esecuzione dei tool, feedback loop, vincoli applicabili.
Stanford ha misurato che il design del harness da solo può causare fino a 6x di differenza nelle performance del modello sullo stesso benchmark — con gli stessi pesi, sullo stesso endpoint di inferenza.
Esistono due livelli di harness: il builder harness (quello che viene distribuito con il tool: strategie di compattazione del contesto, permessi, gestione delle sessioni, layer di sicurezza come il sistema ASK/ALLOW/DENY di Claude Code) e lo user harness (quello che il team aggiunge per il progetto specifico: file AGENTS.md, tool custom, linter sintonizzati per produrre messaggi di errore comprensibili al modello, suite di test come sensori di feedback).
L’esperimento Hashline ha dimostrato concretamente il potere del harness: lo stesso modello è passato dal 6.7% al 68.3% di successo su un benchmark, senza alcuna modifica ai pesi. Il harness non è il prodotto, ma è ciò che rende funzionanti insieme tutti gli altri componenti.
8. Multi-Agent e A2A: quando gli agenti collaborano
I sistemi più complessi non si basano su un singolo agente ma su reti di agenti specializzati che si suddividono i compiti. In aprile 2025 Google ha introdotto il protocollo Agent-to-Agent (A2A) per la comunicazione tra agenti: supporta streaming persistente, autenticazione, mTLS e identity management, caratteristiche diverse da MCP, che si concentra sulla discovery dei tool.
In un sistema multi-agent, un orchestratore riceve il task di alto livello e lo decompone assegnando sotto-task ad agenti specializzati (un agente per la ricerca web, uno per la scrittura di codice, uno per l’analisi dati). Il risultato viene poi aggregato. Questo pattern aumenta la scalabilità ma introduce complessità di coordinamento e debug.
# Pattern multi-agent semplificato con OpenAI Agents SDK
from agents import Agent, Runner, handoff
research_agent = Agent(
name='Researcher',
instructions='Cerca informazioni sul web e restituisci fatti verificati.',
tools=[web_search_tool]
)
writer_agent = Agent(
name='Writer',
instructions='Scrivi articoli chiari a partire dai fatti forniti.',
handoffs=[handoff(research_agent, 'Chiedi dati al Researcher')]
)
result = Runner.run(writer_agent, 'Scrivi un post su MCP nel 2026')
9. Operatività, Tracing e Sicurezza – Anatomia Agente AI
Un sistema agentico in produzione prende migliaia di decisioni al giorno. Occorre sapere quali tool ha scelto e se queste scelte erano corrette. Nel 2026 OpenTelemetry è diventato il formato standard de-facto per il tracing degli agenti, con convenzioni semantiche specifiche per gli LLM supportate da piattaforme come LangSmith, Langfuse e Arize Phoenix.
Una verità importante emersa dall’osservabilità in produzione: la maggior parte dei fallimenti degli agenti non sono errori del modello, ma errori di gestione del contesto, del tool layer o della logica di orchestrazione. Il modello è spesso il componente meno sorprendente.
Sul fronte sicurezza, la superficie d’attacco si è ampliata. La minaccia più pervasiva specifica agli agenti è il prompt injection: un contenuto malevolo nei dati esterni (una pagina web, un file, un risultato di tool) che cerca di redirezionare il comportamento dell’agente. Test di Claude Sonnet 4.5 mostrano che con i sistemi di detection attivi il modello previene il 94% degli attacchi in scenari MCP. Altri aspetti critici: sandboxing degli ambienti di esecuzione, gestione sicura delle credenziali, session isolation e audit trail completi.
10. Best Practice: pro e contro degli agenti AI – Anatomia Agente AI
Prima di adottare un’architettura agentica in produzione, ecco un quadro onesto dei vantaggi e delle criticità:
| ✅ PRO | ⚠️ CONTRO |
| + Automazione di task complessi multi-step | – Costi di inferenza elevati (molte chiamate LLM) |
| + Integrazione nativa con API esterne via MCP | – Debugging complesso: stack agentico profondo |
| + Riutilizzabilità dei componenti (tools, memory) | – Rischio di loop o comportamenti non deterministici |
| + Scalabilità con architetture multi-agent | – Security surface ampliata (prompt injection, tool abuse) |
| + Riduzione del carico operativo su team umani | – Latenza più alta rispetto a sistemi rule-based |
Raccomandazioni pratiche per il team di sviluppo
- Inizia small: implementa prima un singolo agente con tool ben definiti, misura prima di scalare a multi-agent.
- Investi nel harness prima del modello: cambiare il harness ha un impatto maggiore che upgradare il modello.
- Usa OpenTelemetry dal giorno 1: il tracing non è un’aggiunta, è infrastruttura core.
- Definisci policy di sicurezza esplicite: ASK / ALLOW / DENY per ogni classe di azione irrecuperabile (cancellazione dati, invio email, transazioni finanziarie).
- Costruisci una test suite come sensore di feedback: i test non servono solo a rilevare bug, ma a misurare la qualità delle decisioni del modello nel loop.
- Gestisci i costi: monitora il numero di turn e di token per sessione; un agente mal configurato può generare spese API inaspettate.
11. Formazione continua: come restare aggiornati
Il panorama degli agenti AI evolve a una velocità senza precedenti: protocolli nuovi (MCP nel 2024, A2A nel 2025), nuove API (Responses API di OpenAI a marzo 2025, Interactions API di Google a fine 2025), nuovi paradigmi (harness engineering nel 2026). Per un team di sviluppo, restare fermi equivale ad arretrare.
Innovaformazione.net offre due percorsi formativi specifici per chi vuole costruire competenze solide e aggiornate:
- Corso Sviluppo Applicazioni LLM
Pensato per aziende che vogliono portare in produzione applicazioni basate su LLM: architetture RAG, function calling, integrazione API, valutazione e ottimizzazione dei modelli. Scopri il corso →
- Corso Agenti AI ed MCP
Il percorso dedicato allo sviluppo di agenti autonomi con il protocollo MCP: agentic loop, harness design, multi-agent systems, sicurezza e osservabilità in produzione. Scopri il corso →
- Finanziamento Fondimpresa: entrambi i corsi sono accessibili tramite il Fondo Interprofessionale Fondimpresa, che permette alle aziende di finanziare la formazione continua dei dipendenti senza costi diretti. Contattaci per verificare l’eligibilità della tua azienda.
12. Conclusioni e Contatti
L’anatomia di un agente AI non è un’astrazione teorica: è una mappa pratica di decisioni di design che ogni team di sviluppo deve prendere prima di andare in produzione. Modello, tool, contesto, MCP, agentic loop, harness, sicurezza e osservabilità sono i tasselli di un sistema che, solo se ben orchestrato, mantiene le promesse dell’AI autonoma.
Il mercato odierno è in continua e accelerata evoluzione. Ciò che era best practice dodici mesi fa può essere già obsoleto. L’unico modo per mantenere un team competitivo e capace di costruire sistemi agentic robusti è investire in formazione continua e sistematica degli sviluppatori — non come iniziativa episodica, ma come parte strutturale della strategia aziendale.
I team che costruiscono competenze oggi, mentre i paradigmi si stanno consolidando, avranno un vantaggio competitivo difficilmente colmabile nei prossimi anni. Chi aspetta che lo scenario si stabilizzi rischia di partire già in ritardo.
📩 Richiedi informazioni e un preventivo personalizzato:
- ✉ Email: info@innovaformazione.net
- 📞 Tel: 347 101 2275 — Dario Carrassi
🌐 Sito: innovaformazione.net
Per altri articoli di settore consigliamo di navigare sul nostro blog QUI.
Articoli correlati
Claude Code e Migrazioni SAP
Claude Code controllo remoto
Opportunità Carriera Contabilità SAP
Guida SIA AI
Guida Dual LLM Verification
