Un agent in 100 righe
Il 3 aprile 2023, pochi giorni dopo la pubblicazione di AutoGPT, Yohei Nakajima — partner generale del fondo Untapped Capital — pubblica BabyAGI, un agent autonomo task-driven scritto in circa 100 righe di Python. L’intenzione non è costruire un prodotto, ma documentare il pattern minimo necessario per implementare un agent autonomo basato su LLM. La sua brevità lo rende immediatamente didattico: BabyAGI è più letto, forkato e riadattato che usato in produzione.
Il loop task-driven
L’architettura di BabyAGI si articola in tre funzioni:
- Task creation: a partire dall’obiettivo e dall’ultimo risultato ottenuto, il modello genera nuovi task da aggiungere alla coda
- Task prioritization: la lista dei task pendenti viene riordinata per priorità in base all’obiettivo generale
- Task execution: il task in cima alla coda viene eseguito invocando l’LLM con il contesto disponibile
Il loop itera finché restano task in coda o fino a terminazione esplicita. Questa struttura, semplice, identifica in modo chiaro le primitive dell’agent task-driven: scomposizione, priorizzazione, esecuzione.
Integrazioni
BabyAGI utilizza OpenAI come provider LLM di default e Pinecone come memoria vettoriale esterna per conservare il contesto tra iterazioni, superando i limiti della context window. La licenza è MIT, pienamente permissiva.
Impatto
BabyAGI, pur con codice essenziale, si candida a diventare riferimento concettuale per la nuova generazione di agent: l’idea di scomposizione-priorizzazione-esecuzione ispira molti framework successivi. L’importanza di BabyAGI non risiede nella produzione reale, ma nell’aver condensato in poche righe leggibili il nucleo concettuale dell’agent autonomo.