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 e evoluzioni
BabyAGI, pur con codice essenziale, diventa riferimento concettuale per una generazione di agent: molti framework successivi (CrewAI, OpenAgents, varianti LangChain) partono dall’idea di scomposizione-priorizzazione-esecuzione formulata qui. Nel 2024, Nakajima pubblica BabyAGI 2.0, una revisione che introduce funzionalità più ricche mantenendo l’impostazione minimalista. L’importanza storica di BabyAGI non risiede nella produzione reale, ma nell’aver condensato in poche righe leggibili il nucleo concettuale dell’agent autonomo.
