Origine e paper di riferimento
AutoGen viene pubblicato nell’ottobre 2023 come progetto open source sviluppato da Microsoft Research in collaborazione con Penn State University e University of Washington. Il lavoro è accompagnato dal paper “AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation”, che formalizza il modello teorico alla base del framework. La licenza adottata inizialmente è una combinazione di Creative Commons Attribution 4.0 per la documentazione e MIT per il codice.
L’obiettivo dichiarato è fornire un framework generale per costruire applicazioni LLM in cui più agent cooperano attraverso conversazioni strutturate, con un livello di controllo esplicito superiore rispetto ai pattern single-agent.
Modello conversazionale
AutoGen organizza le applicazioni attorno a tipologie di agent con ruoli distinti. L’AssistantAgent rappresenta un agent basato su LLM, tipicamente configurato con un prompt di sistema e un insieme di tool. Lo UserProxyAgent agisce come ponte fra l’utente e il sistema: può inoltrare input umano, eseguire codice in ambiente sandboxed o delegare l’esecuzione a funzioni registrate. Il GroupChat coordina più agent all’interno di una conversazione condivisa, con policy di selezione del prossimo speaker.
L’esecuzione di codice è una caratteristica centrale: uno UserProxyAgent può ricevere blocchi Python o bash generati da un AssistantAgent ed eseguirli in un ambiente isolato, tipicamente un container Docker. Il risultato dell’esecuzione torna nella conversazione come messaggio, abilitando cicli di scrittura-esecuzione-debug.
Il refactor della versione 0.4
Nel gennaio 2025 viene rilasciata AutoGen 0.4, una riscrittura significativa che introduce un’architettura event-driven e asincrona. La nuova versione separa il protocollo di messaggistica fra agent dalla logica conversazionale, consentendo di eseguire agent in processi distinti e di comporre sistemi distribuiti. Vengono introdotti livelli API di diverso grado di astrazione, dal core a basso livello fino a interfacce ad alto livello che preservano compatibilità concettuale con le versioni precedenti.
Posizionamento
AutoGen è stato uno dei primi framework a proporre il multi-agent come pattern applicativo di primo livello, influenzando progetti successivi nello stesso spazio. Il focus sull’esecuzione di codice come parte della conversazione lo rende particolarmente adatto a scenari di ricerca, automazione di task tecnici e data analysis assistita da LLM, pur richiedendo attenzione nella gestione dell’ambiente di esecuzione sandboxed.
