autogpt-orch-mode.mp4
AutoGPT is a pure rust framework that simplifies AI agent creation and management for various tasks. Its remarkable speed and versatility are complemented by a mesh of built-in interconnected GPTs, ensuring exceptional performance and adaptability.
- Agent Creation: Easily create different types of agents tailored to specific tasks.
- Task Management: Efficiently manage tasks and distribute them among agents.
- Extensible: Extend functionality by adding new agent types and task handling capabilities.
- CLI Interface: Command-line interface for seamless interaction with the framework.
- SDK Integration: Software development kit for integrating AutoGPT into existing projects.
Please refer to our tutorial for guidance on installing, running, and/or building the CLI from source using either Cargo or Docker.
Note
For optimal performance and compatibility, we strongly advise utilizing a Linux operating system to install this CLI.
AutoGPT supports two modes of operation, enabling both standalone and distributed use cases:
autogpt-stand-mode.mp4
In this mode, the user runs an individual autogpt
agent directly via a subcommand (e.g., autogpt arch
). Each agent operates independently without needing a networked orchestrator.
+------------------------------------+
| User |
| Provides |
| Project Prompt |
+------------------+-----------------+
|
v
+------------------+-----------------+
| ManagerGPT |
| Distributes Tasks |
| to Backend, Frontend, |
| Designer, Architect |
+------------------+-----------------+
|
v
+--------------------------+-----------+----------+----------------------+
| | | |
| v v v
+--+---------+ +--------+--------+ +-----+-------+ +-----+-------+
| Backend | | Frontend | | Designer | | Architect |
| GPT | | GPT | ... | GPT | | GPT |
| | | | | (Optional) | | |
+--+---------+ +-----------------+ +-------------+ +-------------+
| | | |
v v v v
(Backend Logic) (Frontend Logic) ... (Designer Logic) (Architect Logic)
| | | |
+--------------------------+----------+------------+-----------------------+
|
v
+------------------+-----------------+
| ManagerGPT |
| Collects and Consolidates |
| Results from Agents |
+------------------+-----------------+
|
v
+------------------+-----------------+
| User |
| Receives Final |
| Output from |
| ManagerGPT |
+------------------------------------+
- βοΈ User Input: Provide a project's goal (e.g. "Develop a full stack app that fetches today's weather. Use the axum web framework for the backend and the Yew rust framework for the frontend.").
- π Initialization: AutoGPT initializes based on the user's input, creating essential components such as the
ManagerGPT
and individual agent instances (ArchitectGPT, BackendGPT, FrontendGPT). - π οΈ Agent Configuration: Each agent is configured with its unique objectives and capabilities, aligning them with the project's defined goals. This configuration ensures that agents contribute effectively to the project's objectives.
- π Task Allocation: ManagerGPT distributes tasks among agents considering their capabilities and project requirements.
- βοΈ Task Execution: Agents execute tasks asynchronously, leveraging their specialized functionalities.
- π Feedback Loop: Continuous feedback updates users on project progress and addresses issues.
autogpt-orch-mode.mp4
In networking mode, autogpt
connects to an external orchestrator (orchgpt
) over a secure TLS-encrypted TCP channel. This orchestrator manages agent lifecycles, routes commands, and enables rich inter-agent collaboration using a unified protocol.
AutoGPT introduces a novel and scalable communication protocol called IAC
(Inter/Intra-Agent Communication), enabling seamless and secure interactions between agents and orchestrators, inspired by operating system IPC mechanisms.
In networking mode, AutoGPT utilizes a layered architecture:
+------------------------------------+
| User |
| Sends Prompt via CLI |
+------------------+-----------------+
|
v
TLS + Protobuf over TCP to:
+------------------+-----------------+
| Orchestrator |
| Receives and Routes Commands |
+-----------+----------+-------------+
| |
+-----------------------------+ +----------------------------+
| |
v v
+--------------------+ +--------------------+
| ArchitectGPT |<---------------- IAC ------------------>| ManagerGPT |
+--------------------+ +--------------------+
| Agent Layer: |
| (BackendGPT, FrontendGPT, DesignerGPT) |
+-------------------------------------+---------------------------------+
|
v
Task Execution & Collection
|
v
+---------------------------+
| User |
| Receives Final Output |
+---------------------------+
All communication happens securely over TLS + TCP, with messages encoded in Protocol Buffers (protobuf) for efficiency and structure.
-
User Input: The user provides a project prompt like:
/architect create "fastapi app" | python
This is securely sent to the Orchestrator over TLS.
-
Initialization: The Orchestrator parses the command and initializes the appropriate agent (e.g.,
ArchitectGPT
). -
Agent Configuration: Each agent is instantiated with its specialized goals:
- ArchitectGPT: Plans system structure
- BackendGPT: Generates backend logic
- FrontendGPT: Builds frontend UI
- DesignerGPT: Handles design
-
Task Allocation:
ManagerGPT
dynamically assigns subtasks to agents using the IAC protocol. It determines which agent should perform what based on capabilities and the original user goal. -
Task Execution: Agents execute their tasks, communicate with their subprocesses or other agents via IAC (inter/intra communication), and push updates or results back to the orchestrator.
-
Feedback Loop: Throughout execution, agents return status reports. The
ManagerGPT
collects all output, and the Orchestrator sends it back to the user.
At the current release, Autogpt consists of 8 built-in specialized autonomous AI agents ready to assist you in bringing your ideas to life! Refer to our guide to learn more about how the built-in agents work.
Your can refer to our examples for guidance on how to use the cli in a jupyter environment.
For detailed usage instructions and API documentation, refer to the AutoGPT Documentation.
Contributions are welcome! See the Contribution Guidelines for more information on how to get started.
This project is licensed under the MIT License - see the LICENSE file for details.