babyagi  by yoheinakajima

Experimental framework for self-building autonomous agents

created 2 years ago
21,689 stars

Top 2.0% on sourcepulse

GitHubView on GitHub
Project Summary

BabyAGI is an experimental framework for building self-improving autonomous agents, focusing on a novel function-based architecture for task planning and execution. It's designed for developers and researchers interested in exploring autonomous agent development, offering a structured way to manage, execute, and chain functions with dependency tracking and a web-based dashboard.

How It Works

The core innovation is functionz, a system for storing, managing, and executing functions from a database. It uses a graph-based structure to track imports, function dependencies, and secrets, enabling automatic loading and comprehensive logging. This approach allows for modularity and dynamic function composition, facilitating the creation of agents that can build and adapt their own capabilities.

Quick Start & Requirements

  • Install: pip install babyagi
  • Run dashboard:
    import babyagi
    if __name__ == "__main__":
        app = babyagi.create_app('/dashboard')
        app.run(host='0.0.0.0', port=8080)
    
  • Access dashboard: http://localhost:8080/dashboard
  • Key Dependencies: OpenAI API key is required for AI-related functions.
  • Documentation: X/Twitter thread

Highlighted Details

  • Graph-based function management with dependency tracking.
  • Integrated web dashboard for managing functions, secrets, and logs.
  • Built-in function packs for default operations and AI-driven tasks (e.g., description generation).
  • Experimental self-building agent examples for code generation and task decomposition.

Maintenance & Community

The project is primarily maintained by Yohei Nakajima, who notes it's a solo effort on nights and weekends. Contributions are welcome but may be slow. A form is available for those interested in supporting the work.

Licensing & Compatibility

MIT License. Permissive for commercial use and closed-source linking.

Limitations & Caveats

The project is explicitly stated as experimental and not intended for production use, with a caution for users. The developer has no prior professional development experience. Draft features are experimental and may require significant improvements. The project is currently a solo effort, which may impact the pace of development and PR management.

Health Check
Last commit

8 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
356 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.