BabyAGI
Type: full-code · Vendor: Yohei Nakajima · Language: Python · License: MIT · Status: maintenance · Status in practice: experimental · First released: 2023-03-28
Explore the self-building autonomous-agent direction via the functionz function framework — a database-backed store of named functions with dependency tracking that experimental agents like process_user_input and self_build can extend at runtime. The original March-2023 task-list agent has been archived.
Description. BabyAGI is Yohei Nakajima's experimental autonomous-agent project. The original March 2023 BabyAGI — the viral task-creation / prioritisation / execution loop that defined the early 'autonomous agent' category — has been archived to babyagi_archive (September 2024 snapshot). The current repository is a complete rewrite around functionz: a Python function framework that stores, manages, and executes functions from a database with graph-based dependency tracking, automatic loading, logging, and a web dashboard. Experimental agents (process_user_input, self_build) generate new functions from user requests, decomposing them into 'smaller reusable components'. Yohei is the sole maintainer ('nights and weekends'); PR throughput is slow.
Agent loop shape. Self-building function-graph loop. The functionz store holds named Python functions with declared dependencies. Self-building agents (process_user_input, self_build) receive a user request, break it into 'smaller reusable components', generate the required functions, register them in the database, and execute them — logging every step and surfacing the graph in a web dashboard. The original task-list shape (task creation → prioritisation → execution → enqueue) lives in the archived repo, not the current code.
Primary use cases
- self-building agent research prototype
- function-store / function-graph experimentation
- historical reference for the 2023 task-list agent shape (via babyagi_archive)
Key concepts
- functionz — Function framework for storing, managing, and executing functions from a database; graph-based dependency tracking, automatic loading, logging.
- self-building agents → todo-list-driven-agent — process_user_input and self_build generate new functions from user requests, breaking tasks into reusable components.
- Web dashboard — Built-in dashboard for managing functions and viewing logs.
- babyagi_archive — September-2024 snapshot of the original task-list BabyAGI.
Patterns this full-code implements —
- ★Todo-List-Driven Autonomous Agent
Self-building agents break user requests into 'smaller reusable components' and generate functions for them — a function-graph variant of the task-list shape that BabyAGI originally popularised.
- ★★Tool Use
functionz is literally a tool/function store with dependency graph; agents execute functions from it.
- ·Self-Archaeology
self_build generates candidate tasks then process_user_input extends the function store at runtime, inspecting whether existing functions suffice before generating new ones — a partial fit to self-ar…
- ★★ReAct
Function generation and execution use LLM reasoning but the loop is not the ReAct interleaved thought-action-observation cycle. No mention of ReAct, reason+act, or interleaved thought/action in the c…
- ★★Scheduled Agent
The original BabyAGI ran a continuous infinite loop rather than cron-style scheduled execution; the archive README explicitly frames it as run-continuously.
Neighbourhood
Click any neighbour to follow the lineage. Scroll to zoom, drag to pan.