====== ChatDev ====== **ChatDev** is an open-source multi-agent framework that automates software development by simulating a virtual company of LLM-powered agents collaborating through structured conversations(([[https://arxiv.org/abs/2307.07924|Qian et al. "Communicative Agents for Software Development" arXiv:2307.07924, 2023]])). Inspired by the waterfall model of software engineering, ChatDev assigns agents to roles such as CEO, CTO, programmer, and tester, enabling end-to-end software creation from a single natural language requirement. The project evolved from its initial 2023 release (v1.0) to the more flexible ChatDev 2.0 (DevAll) architecture. * **Website:** [[https://chatdev.ai|chatdev.ai]] * **[[github|GitHub]]:** [[https://github.com/OpenBMB/ChatDev|github.com/OpenBMB/ChatDev]] * **Paper:** [[https://arxiv.org/abs/2307.07924|arXiv:2307.07924]] * **Built on:** CAMEL framework ===== Agent Collaboration Model ===== Agents role-play as members of a software company hierarchy: * **CEO:** Sets vision, defines requirements from user input * **CTO / CPO:** Handles technical design, architectural decisions, and product planning * **Programmer:** Writes code based on specifications * **Tester:** Validates functionality through testing * **Reviewer:** Conducts code review and quality checks * **Art Designer:** Creates UI assets and visual elements The core **ChatChain** mechanism breaks development into subtasks following a waterfall sequence. Each subtask involves multi-turn dialogues between agent pairs that work toward consensus. **Communicative dehallucination** prompts agents to seek clarification before responding, reducing errors like incomplete code or hallucinated functions. ===== Version 1.0 vs 2.0 ===== ^ Aspect ^ Version 1.0 ^ Version 2.0 (DevAll) ^ | **Structure** | Fixed roles in virtual company | Decoupled, domain-agnostic workflows | | **Interface** | Prompt-based orchestration | Visual drag-and-drop (Vue3 console) + Python SDK | | **Workflow** | Linear waterfall ChatChain | DAG topologies with parallel tasks and dynamic routing | | **Scope** | Software development only | Any complex multi-agent task | | **Architecture** | Monolithic | Three-layer: Server (state), Runtime (execution), Workflow (logic) | ===== Results and Performance ===== * Completes simple projects (e.g., Rock-Paper-Scissors game) in minutes * Cost-efficient: approximately $0.30 per simple project using GPT-3.5-turbo * Full SDLC automation: design, coding, testing, documentation from a single prompt * Communicative dehallucination significantly reduces [[llm_hallucination|LLM hallucination]]-related errors * Version 2.0 enables non-technical users via no-code tools while retaining developer control ===== Limitations ===== * Quality dependent on underlying LLM capabilities * Complex projects may require human intervention for architectural decisions * LLM hallucinations remain a challenge despite mitigation strategies * Version 1.0's rigid waterfall structure limits flexibility (addressed in v2.0) ===== Related Pages ===== * [[multi_agent_systems|Multi-Agent Systems]] * [[autogen|AutoGen]] * [[crewai|CrewAI]] * [[metagpt|MetaGPT]] * [[agent_protocol|Agent Protocol]] ===== See Also ===== * [[opendev|OpenDev]] * [[how_to_build_a_chatbot|How to Build a Chatbot]] * [[flowise|Flowise]] * [[waydev|Waydev]] * [[chatgpt|ChatGPT]] ===== References =====