OpenBMB/ChatDev
ChatDev 2.0: Dev All through LLM-powered Multi-Agent Collaboration
📚 什麼是 ChatDev 2.0 – DevAll?
ChatDev 2.0(命名為 DevAll)是一個開源、零程式碼多智能體編排平台。它讓你無需撰寫任何 Python 或 JavaScript 程式碼,即可建構、設定並執行由多個 LLM 驅動的智能體(例如 CEO、程式員、設計師、審查員等)組成的複雜工作流程。你只需在 YAML 檔案中描述智能體、它們的連接關係,以及應執行的任務,然後透過 Web 控制台或輕量級 Python SDK 啟動工作流程。
此專案源自最初的 ChatDev 1.0 —— 一個能自動設計、編碼、測試與撰寫文件的「虛擬軟體公司」。DevAll 將此概念擴展至軟體開發之外,適用於任何可表示為 LLM 基礎智能體序列或圖形的場景,例如資料視覺化、3D 模型生成、遊戲創作、深度研究,甚至地緣政治模擬。
🚀 核心功能
| 功能 | 對你的意義 |
|---|---|
| 零程式碼工作流程編寫 | 透過簡單的 YAML 檔案定義智能體、角色及資料流動方式,無需 Python/JS。 |
| 視覺化拖曳編輯畫布 | 基於 Vue 的 Web 控制台提供節點圖形編輯器,可放置智能體、設定參數並視覺化連接。 |
| 人機協同(Human-in-the-loop) | 某些節點可標記為需人工審查(例如「審查員」角色),在執行過程中允許人工介入。 |
| 可擴展的 Python SDK | pip install chatdev 即可取得 run_workflow 函數,可程式化啟動任意 YAML 工作流程並取得最終訊息。 |
| 模組化後端 | FastAPI 伺服器(server/)負責編排;runtime/ 實作通用智能體抽象與工具執行。 |
| 可插拔工具 | 在 functions/ 中新增自訂 Python 工具,並暴露給智能體作為「工具」(例如,用於 3D 生成的 Blender-MCP 橋接)。 |
| 多模態支援 | 智能體可根據工作流程呼叫 LLM API、產生圖像、執行 Blender、生成影片(Manim)等。 |
| Docker 與 Makefile | 一條指令 make dev 或 docker compose up --build 即可啟動後端與 Vue 前端,並支援熱重載。 |
| 預建工作流程程式庫 | yaml_instance/ 包含數十個即開即用的範例(資料視覺化、3D、遊戲開發、深度研究、教學影片等)。 |
| 強化學習編排器(Puppeteer 分支) | 研究分支實作了一個可學習的中央編排器,能動態激活智能體以提升推理效率(參見 NeurIPS 2025 論文)。 |
🎯 典型應用場景
- AI 驅動應用的快速原型開發 – 建構「設計師 → 程式員 → 測試員」流程,從自然語言描述生成小型 Web 應用。
- 資料分析與視覺化 – 輸入 CSV,讓資料分析智能體產生圖表,設計師智能體美化圖像。
- 3D 內容創作 – 結合「概念藝術家」LLM 與 Blender-MCP,自動建構 3D 模型(例如聖誕樹)。
- 遊戲開發 – 完整的全端工作流程,涵蓋遊戲機制設計、程式撰寫與資源生成。
- 研究輔助 – 智能體收集論文、總結發現,並為指定主題生成簡短報告。
- 地緣政治或商業模擬 – 定義多個利益相關方智能體,透過互動探索未來可能情境。
🛠️ 快速入門
# 1. 安裝後端相依性(需 uv,Python 3.12+)
uv sync
# 2. 安裝前端相依性(Node 18+)
cd frontend && npm install
# 3. 複製環境變數範本並加入你的 LLM API 金鑰
cp .env.example .env
# 編輯 .env → 設定 API_KEY 與 BASE_URL
# 4. 啟動服務(推薦)
make dev # 後端在 6400,前端在 5173
在瀏覽器中開啟 http://localhost:5173 —— 你將看到 DevAll 控制台,可從 yaml_instance/ 加載工作流程,上傳所需檔案,點擊 Launch 即可執行。
從 Python 執行工作流程
from runtime.sdk import run_workflow
result = run_workflow(
yaml_file="yaml_instance/deep_research_v1.yaml",
task_prompt="總結最近的 LLM-agent 強化學習論文。",
attachments=[],
variables={"API_KEY": "sk-xxxx"}
)
print(result.final_message.text_content())
SDK 已發布於 PyPI,套件名為 chatdev(v0.1.0,撰寫時版本)。
🤝 貢獻指南
- 程式碼 – Fork 個人倉儲,在
functions/新增節點/工具,或在yaml_instance/新增工作流程範本,提交 PR。 - 文件 – 改進
docs/中的使用者指南,或新增教學影片。 - 錯誤回報 – 開啟 Issue 並提供最小可重現範例。
- 研究 – 查看
puppeteer與macnet分支中的實驗性編排器,歡迎貢獻。
所有貢獻者均列於 README,並在專案的 Contributors 章節中獲得署名。
📄 更多資訊
- 論文:Multi-Agent Collaboration via Evolving Orchestration(NeurIPS 2025)– https://arxiv.org/abs/2505.19591
- 官方公告帖 宣布 ChatDev 2.0:https://x.com/OpenBMB/status/2008916790399701335
- 使用者指南:
docs/user_guide/en/index.md - 線上示範(SaaS 版本,目前已過時):https://chatdev.modelbest.cn/
簡而言之:ChatDev 2.0(DevAll)是一個開箱即用的平台,適合任何希望以可配置、視覺化、無程式碼方式運用多個 LLM 智能體的人。它彌補了多智能體編排研究與軟體生成、資料分析、創意內容創作等實際應用之間的差距。
相關
- 專案
- 專案
- 專案
- 專案
- 專案