Riconsiderazione degli agenti IA: il codice diventa strato operativo piuttosto che risultato finale
Il concetto di agenti dell’intelligenza artificiale è in evoluzione: la ricerca di Microsoft, Meta e Stanford rivela che il ruolo del codice si è spostato, non più considerato soltanto come output finale, ma come fondamenta su cui i modelli linguistici sviluppano comportamenti complessi, interagiscono e collaborano efficacemente.
Il ruolo crescente del codice e della stratificazione software
Finora il codice veniva visto soprattutto come risultato delle capacità di generazione linguistica dei modelli IA. Ora si riconosce che funge da strato intermedio operativo, fondamentale per il funzionamento a lungo termine degli agenti. La chiave di questa trasformazione è una struttura software circostante chiamata "Harness": essa include strumenti, interfacce, ambienti isolati, meccanismi di controllo, limiti di utilizzo, cicli di esecuzione e canali di feedback.
Il "Harness" permette a un modello originariamente privo di stato di funzionare come sistema autonomo in modo reiterativo e coerente. Questo strato software trasforma un modello puro, non adatto a compiti complessi a lungo termine, in un agente in grado di affrontare compiti in un ciclo di pianificazione, esecuzione e valutazione.
Perché il codice è il formato ideale
Sebbene il codice tradizionalmente venisse considerato solo un risultato, oggi gli esperti lo vedono come un elemento attivo e persistente all’interno del comportamento dell’agente. Il codice ha tre qualità essenziali:
- Esprimibilità eseguibile: permette al modello di produrre operazioni eseguibili, il cui output può essere verificabile;
- Evidenza strutturata: permette di tenere traccia e memorizzare calcoli intermedi;
- Continuità temporale: il codice in esecuzione mantiene un registro strutturato del progresso in modo che l’agente possa riprendere da dove ha lasciato.
Le componenti di sistemi a agenti a lungo termine
I sistemi di agenti autonomi comprendono tre tipi di componenti principali:
- Funzioni interne: capacità native del modello, come ragionamento e pianificazione;
- Infrastruttura fornita: ambiente esterno che accompagna l’agente;
- Codice generato: strumenti brevi, codice ripetibile, test di supporto e routine operative.
I primi due aspetti sono stati maggiormente studiati, mentre il terzo, i prodotti dell’agente durante il lavoro, è emerso come un ambito poco sperimentato e con potenziale significativo.
Un modello in tre livelli di interazione
Gli esperti organizzano la letteratura in tre strati interconnessi che spiega la crescita del ruolo del codice nello sviluppo autonomo degli agenti IA:
Primo livello: Codice come struttura intermediaria
Al primo strato il codice funge da tramite tra modello e ambiente esterno. Soluzioni come Program-of-Thought o Chain of Code esternalizzano i calcoli in forme eseguibili. Un’altra tecnica, Code-as-Policies, traduce direttamente comandi testuali in codice eseguibile per controllare robot.
Secondo livello: Ciclo di pianificazione e controllo
Il secondo livello si concentra su meccanismi che mantengono l’agente operativo per più passaggi. Include:
- un sistema di pianificazione;
- un database esterno;
- una gestione degli strumenti operativi;
- un ciclo ripetitivo: Plan-Execute-Check.
La gestione controllata rende il modello affidabile e prevedibile piuttosto che reagire solo in caso di errore isolato.
Terzo livello: Collaborazione multi-agente
Il terzo livello si occupa di sistemi di agenti che interagiscono tra loro. I codici generati e i report esecutivi fungono da base comune. Il modello prevede ruoli specifici di manager, pianificatori, programmatori e verificatori. Sistemi avanzati, come ChatDev e MetaGPT, adottano queste distribuzioni. In pratica, Claude Code di Anthropic ora può analizzare pull requests attraverso un team di agenti con funzioni parallele.
Esempi industriali
Gli esempi concreti in campo commerciale illustrano chiaramente il concetto. Anthropic ha reso pubbliche accidentalmente centinaia di migliaia di righe del codice sorgente di Claude Code, rivelando funzioni come "Dreaming" (ottimizzazione compiti) e il supporto ad agenti di coding.
- Claude Code: integra terminali locali e ambienti di sviluppo in un ciclo operativo di modifica codice;
- Codex di OpenAI: gestisce attività sviluppate in controllati ambienti cloud;
- Deepseek: sta investendo risorse in Pechino per costruire un proprio strato "Harness";
- GitHub Copilot: implementa agenti autonomi in cloud gestiti come parte del CI/CD.
Il ruolo dinamico del ciclo "Agent-Environment"
Ci sono sistemi di ricerca avanzati che trattano il "Harness" stesso come oggetto di ottimizzazione:
- AutoHarness: genera codice per rifiutare azioni non ammissibili;
- Meta-Harness: utilizza dati storici per sviluppare nuove versioni;
- Hyperagents di Meta: permette all’agente di modificare autonomamente il proprio sistema operativo.
Gli esperti segnalano che i sistemi in produzione diventano dati di allenamento per modelli futuri. Per esempio, i prodotti come Cursors Composer e GPT-codex sfruttano esperienze operativa per migliorare le versioni successive. Si osserva dunque una sorta di autoapprendimento, dove l’ambiente e lo stesso agente si adattano l’un l’altro.
Sfide aperte
La ricerca identifica criticità che devono essere affrontate per maturare ulteriormente il campo:
- Bisogno di valutazioni basate su più criteri, non soltanto su tassi di successo;
- Manca una valutazione rigorosa e in profondità del contenuto generato, anche nel caso di test passati;
- Le strutture attuali non riescono a gestire pienamente l’evoluzione dinamica del comportamento degli agenti;
- I meccanismi di valut