# OpenBMB/ChatDev

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/openbmb-chatdev).**

31,039 stars · 3,827 forks · Python · apache-2.0

## Links

- GitHub: https://github.com/OpenBMB/ChatDev
- Homepage: https://arxiv.org/abs/2307.07924
- awesome-repositories: https://awesome-repositories.com/repository/openbmb-chatdev.md

## Description

ChatDev is an automated software engineering platform that orchestrates the end-to-end development lifecycle through a multi-agent framework. It functions as a programmable engine that coordinates specialized autonomous agents to handle design, coding, testing, and documentation tasks by transitioning through predefined phases of a software project.

The system distinguishes itself by using role-based agent specialization to simulate a professional engineering team, assigning distinct personas and knowledge bases to individual agents. It employs prompt-driven task decomposition to break high-level requirements into granular sub-tasks and maintains artifact-centric versioning to track the evolution of code and documentation throughout the collaboration process.

The platform supports secure execution through containerized sandbox isolation, ensuring that generated code is validated without impacting the host environment. Users can manage these workflows via a command-line interface, a programmatic software development kit, or a graphical web console for real-time monitoring of agent interactions.

## Tags

### Artificial Intelligence & ML

- [Agent Orchestration Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-orchestration-frameworks.md) — Coordinates specialized autonomous agents that interact through a structured communication protocol to complete complex software development tasks.
- [Agentic Development Environments](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-development-environments.md) — Execute multi-agent software development tasks by configuring environments, running applications via command-line or containerized interfaces, and managing the development lifecycle through automated workflows. ([source](https://github.com/OpenBMB/ChatDev/tree/main))
- [Autonomous Software Engineering Systems](https://awesome-repositories.com/f/artificial-intelligence-ml/autonomous-software-engineering-systems.md) — Building complete software applications by orchestrating specialized autonomous agents that handle design, coding, testing, and documentation tasks.
- [Multi-Agent Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/multi-agent-frameworks.md) — Provides a collaborative environment where autonomous agents perform specialized software engineering roles.
- [Agentic Workflow Orchestrators](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-workflow-orchestrators.md) — A programmable engine that executes multi-step software development processes by coordinating interactions between distinct functional agents.
- [Multi-Agent Orchestration Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/multi-agent-orchestration-frameworks.md) — Coordinating multiple intelligent agents to collaborate on complex technical projects by delegating specific roles and responsibilities within a shared environment.
- [Agentic Workflow Automation](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-workflow-automation.md) — Streamlining repetitive development processes by executing predefined sequences of tasks through autonomous agents instead of manual human intervention.
- [Task Decomposition Systems](https://awesome-repositories.com/f/artificial-intelligence-ml/task-decomposition-systems.md) — Breaks down high-level project requirements into granular sub-tasks by dynamically generating instructions for agents based on the current project state.
- [Agent Persona Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-persona-frameworks.md) — Assigns distinct personas with specific responsibilities and knowledge bases to individual agents to simulate a professional software engineering team.

### Software Engineering & Architecture

- [Automated Engineering Platforms](https://awesome-repositories.com/f/software-engineering-architecture/automated-engineering-platforms.md) — A system that orchestrates complex development lifecycles by delegating technical tasks to specialized agents through predefined workflows.
- [Lifecycle Management Platforms](https://awesome-repositories.com/f/software-engineering-architecture/lifecycle-management-platforms.md) — Managing the end-to-end creation of software projects from initial requirements and architectural planning through to final code generation and testing.
- [Workflow Orchestration Engines](https://awesome-repositories.com/f/software-engineering-architecture/workflow-orchestration-engines.md) — Manages the software development lifecycle by transitioning through predefined phases where agents perform specific actions and validate outputs.
- [Lifecycle Automation](https://awesome-repositories.com/f/software-engineering-architecture/lifecycle-automation.md) — Manages the end-to-end creation of software by automating project management, coding, and quality assurance tasks.
- [Development Workflow Libraries](https://awesome-repositories.com/f/software-engineering-architecture/development-workflow-libraries.md) — Execute complex software development processes by selecting from a library of pre-defined agent-based workflows tailored for specific coding and project management tasks. ([source](https://github.com/OpenBMB/ChatDev/tree/main))
- [Version Control Systems](https://awesome-repositories.com/f/software-engineering-architecture/version-control-systems.md) — Tracks the evolution of generated code and documentation by maintaining a persistent record of file changes throughout the agent collaboration process.

### DevOps & Infrastructure

- [Sandboxing Environments](https://awesome-repositories.com/f/devops-infrastructure/sandboxing-environments.md) — Executes generated code within restricted environments to ensure secure testing and validation of software artifacts without impacting the host system.

### Programming Languages & Runtimes

- [Software Development Kits](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/software-development-kits.md) — Embed automated software development functions into custom applications by invoking agent-based workflows directly through a programmatic interface. ([source](https://github.com/OpenBMB/ChatDev/tree/main))

### User Interface & Experience

- [Agent Interaction Dashboards](https://awesome-repositories.com/f/user-interface-experience/agent-interaction-dashboards.md) — Interact with the development environment through a graphical web interface to initiate projects, track agent collaboration, and view generated software artifacts in real-time. ([source](https://github.com/OpenBMB/ChatDev/tree/main))
