$ cat ./article.md

ChatDev 深度研究报告

$ cat ./section-1.md

项目概览

ChatDev 是由 OpenBMB 开发的开源多智能体软件开发框架,旨在通过大语言模型(LLM)驱动的多智能体协作来自动化软件开发流程。
  • GitHub: https://github.com/OpenBMB/ChatDev
  • Stars: 32.1k+
  • 当前版本: ChatDev 2.0 (DevAll)
  • 发布时间: 2026年1月7日(2.0版本)

$ cat ./section-2.md

版本演进

ChatDev 1.0 (经典版)

核心理念: 虚拟软件公司
┌─────────────────────────────────────────────────────────────┐

│ ChatDev 1.0 架构 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 角色分工(模拟软件公司) │ │ ├── CEO (首席执行官) → 产品规划、需求分析 │ │ ├── CTO (技术总监) → 架构设计、技术选型 │ │ ├── Programmer (程序员) → 代码编写、功能实现 │ │ ├── Reviewer (审查员) → 代码审查、质量保证 │ │ ├── Tester (测试员) → 测试用例、Bug修复 │ │ └── Designer (设计师) → UI设计、资源生成(可选) │ │ │ │ 工作流程 │ │ Design → Coding → Testing → Documentation │ │ ↑___________________________________________↓ │ │ (循环迭代直至完成) │ │ │ └─────────────────────────────────────────────────────────────┘

关键特性:
  • 链式拓扑结构(Chain-shaped topology)
  • 角色专业化分工
  • 自动化软件开发生命周期(SDLC)
  • 支持增量开发(Incremental Development)
  • Git 版本控制集成
  • 人机交互模式

ChatDev 2.0 (DevAll) - 重大升级

核心理念: 零代码多智能体平台(Zero-Code Multi-Agent Platform)
┌─────────────────────────────────────────────────────────────┐

│ ChatDev 2.0 架构 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 可视化工作流编排 │ │ ┌──────────────────────────────────────────────┐ │ │ │ Web 控制台 │ │ │ │ ┌─────┐ ┌─────┐ ┌─────┐ │ │ │ │ │Node1│───→│Node2│───→│Node3│ ... │ │ │ │ └─────┘ └─────┘ └─────┘ │ │ │ │ ↓ ↓ ↓ │ │ │ │ [拖拽连接] [参数配置] [上下文流] │ │ │ └──────────────────────────────────────────────┘ │ │ ↓ │ │ ┌──────────────────────────────────────────────┐ │ │ │ YAML 工作流定义 │ │ │ │ workflow: │ │ │ │ nodes: │ │ │ │ - agent: researcher │ │ │ │ - agent: writer │ │ │ │ - agent: reviewer │ │ │ └──────────────────────────────────────────────┘ │ │ ↓ │ │ ┌──────────────────────────────────────────────┐ │ │ │ 运行时执行 │ │ │ │ - 并行/串行执行 │ │ │ │ - 实时日志监控 │ │ │ │ - 人机协同反馈 │ │ │ └──────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘

核心升级:
  1. 零代码编排: 通过可视化界面拖拽配置
  2. 通用性扩展: 不限于软件开发,支持任意多智能体场景
  3. 技能系统 (Skills): 可复用的能力模块
  4. Python SDK: 程序化调用
  5. OpenClaw 集成: 与外部智能体系统协同

$ cat ./section-3.md

核心技术架构

1. 多智能体协作范式演进

1.1 经典链式协作 (ChatDev 1.0)

CEO → CTO → Programmer → Reviewer → Tester → (循环)

↑ ↓ └──────────────── 迭代优化 ────────────────────┘

特点:
  • 线性执行流程
  • 角色间通过结构化消息通信
  • 每个阶段有明确的输入输出

1.2 DAG 拓扑协作 (MacNet)

              ┌─────────────┐

│ Input │ └──────┬──────┘ ↓ ┌─────────┴─────────┐ ↓ ↓ ┌──────────┐ ┌──────────┐ │ Agent A │ │ Agent B │ └────┬─────┘ └────┬─────┘ ↓ ↓ └─────────┬─────────┘ ↓ ┌──────────┐ │ Agent C │ └────┬─────┘ ↓ ┌──────────┐ │ Output │ └──────────┘

论文: MacNet: Multi-Agent Collaboration Networks (2024) 特点:
  • 有向无环图(DAG)拓扑
  • 支持并行执行
  • 可扩展至上千个智能体
  • 不超出上下文限制

1.3 木偶戏式编排 (Puppeteer)

┌─────────────────────────────────────────────────────────────┐

│ Puppeteer 架构 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 中央编排器 (Learnable Orchestrator) │ │ ┌──────────────────────────────────────┐ │ │ │ 可学习的中央控制器 │ │ │ │ - 动态激活智能体 │ │ │ │ - 智能排序执行 │ │ │ │ - 优化推理路径 │ │ │ │ - 强化学习训练 │ │ │ └──────────────────┬───────────────────┘ │ │ ↓ │ │ ┌────────────┼────────────┐ │ │ ↓ ↓ ↓ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ Agent 1 │ │ Agent 2 │ │ Agent 3 │ ... │ │ │ (激活) │ │ (等待) │ │ (激活) │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ 优势: │ │ - 提高推理质量 │ │ - 降低计算成本 │ │ - 自适应复杂任务 │ │ │ └─────────────────────────────────────────────────────────────┘

论文: Multi-Agent Collaboration via Evolving Orchestration (NeurIPS 2025) 核心创新:
  • 可学习的中央编排器
  • 动态智能体激活与排序
  • 强化学习优化
  • 构建高效、情境感知的推理路径

2. 经验学习机制

2.1 体验式共同学习 (Experiential Co-Learning, ECL)

┌─────────────────────────────────────────────────────────────┐

│ 体验式共同学习流程 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 任务1 任务2 任务3 │ │ ┌───┐ ┌───┐ ┌───┐ │ │ │ T1│ → │ T2│ → │ T3│ │ │ └───┘ └───┘ └───┘ │ │ │ │ │ │ │ ↓ ↓ ↓ │ │ 错误A ──────→ 使用经验A ──→ 成功 │ │ 错误B ──────→ 使用经验B ──→ 成功 │ │ ↓ │ │ ┌──────────┐ │ │ │ 经验库 │ │ │ │ - 捷径1 │ │ │ │ - 捷径2 │ │ │ └──────────┘ │ │ │ │ 角色: │ │ - Instructor (指导者): 提供经验、纠正错误 │ │ - Assistant (助手): 学习经验、应用捷径 │ │ │ └─────────────────────────────────────────────────────────────┘

论文: https://arxiv.org/abs/2312.17025 (2023) 价值:
  • 积累捷径导向的经验
  • 减少重复错误
  • 提高新任务适应效率

2.2 迭代经验提炼 (Iterative Experience Refinement, IER)

经验生命周期:

获取 (Acquisition) ↓ 利用 (Utilization) ↓ 传播 (Propagation) ↓ 消除 (Elimination) ──→ 过时/无用经验移除 ↓ (循环优化)

论文: https://arxiv.org/abs/2405.04219 (2024)

3. 技术栈与实现

3.1 系统架构

ChatDev 2.0 (DevAll)

│ ├── frontend/ # Vue 3 + Vite 前端控制台 │ ├── 可视化工作流编辑器 │ ├── 实时日志监控 │ └── 人机协同界面 │ ├── server/ # FastAPI 后端服务 │ ├── RESTful API │ ├── WebSocket 实时通信 │ └── 任务调度管理 │ ├── runtime/ # 运行时核心 │ ├── Agent 抽象 │ ├── 工具执行 │ └── 上下文管理 │ ├── workflow/ # 工作流编排 │ ├── DAG 执行引擎 │ ├── 节点处理器 │ └── 状态管理 │ ├── entity/ # 实体定义 │ ├── Agent 配置 │ ├── 角色定义 │ └── 工具注册 │ ├── functions/ # 自定义工具 │ └── Python 工具函数 │ └── yaml_instance/ # YAML 工作流示例 └── *.yaml

3.2 关键依赖

后端:

  • Python 3.12+
  • FastAPI (Web框架)
  • uv (包管理)
  • SQLModel (ORM)

前端:

  • Node.js 18+
  • Vue 3 (框架)
  • Vite (构建工具)

部署:

  • Docker & Docker Compose
  • Makefile (命令管理)

3.3 快速开始

<h1>1. 安装依赖</h1>

uv sync cd frontend && npm install

<h1>2. 启动服务(推荐)</h1> make dev

<h1>3. 访问控制台</h1> <h1>http://localhost:5173</h1>


$ cat ./section-4.md

核心功能详解

1. 可视化工作流编排

1.1 工作流定义 (YAML)

workflow:

name: "Content Creation Pipeline" description: "自动内容创作工作流"

nodes: - id: researcher type: agent role: researcher prompt: "研究主题并收集信息"

- id: writer type: agent role: writer prompt: "基于研究结果撰写文章" depends_on: [researcher]

- id: reviewer type: agent role: reviewer prompt: "审查并改进文章质量" depends_on: [writer]

- id: publisher type: tool function: publish_to_blog depends_on: [reviewer]

variables: API_KEY: "${API_KEY}" TOPIC: "${TOPIC}"

1.2 Web 控制台功能

| 功能模块 | 描述 | |---------|------| | Tutorial | 内置分步教程和文档 | | Workflow | 可视化画布,拖拽设计多智能体系统 | | Launch | 启动工作流、监控日志、人机协同 |

2. Python SDK

from runtime.sdk import run_workflow

<h1>执行工作流</h1> result = run_workflow( yaml_file="yaml_instance/demo.yaml", task_prompt="用一句话总结附件文档。", attachments=["/path/to/document.pdf"], variables={"API_KEY": "sk-xxxx"} )

if result.final_message: print(f"Output: {result.final_message.text_content()}")

PyPI 包: chatdev (v0.1.0+)

3. OpenClaw 集成

ChatDev 2.0 可以与 OpenClaw 集成:

<h1>1. 安装技能</h1>

clawdhub install chatdev

<h1>2. 创建 ChatDev 工作流示例</h1> <h1>自动化信息收集与内容发布</h1> 创建一个 ChatDev 工作流,用于自动收集热点信息, 生成一篇小红书文案,并发布该内容

<h1>3. 多智能体地缘政治模拟</h1> 创建一个 ChatDev 工作流,构建多个 agent, 用于模拟中东局势未来可能的发展


$ cat ./section-5.md

应用场景

1. 软件开发 (经典场景)

输入: "开发一个贪吃蛇游戏"

ChatDev 1.0 执行: ├── CEO: 需求分析 → PRD文档 ├── CTO: 架构设计 → 技术选型 ├── Programmer: 编码实现 ├── Reviewer: 代码审查 ├── Tester: 测试用例 └── 输出: 可运行的完整项目

2. 深度研究 (DevAll 新场景)

输入: "调研 DePIN 领域最新项目"

ChatDev 2.0 执行: ├── Researcher Agent: 收集信息 ├── Analyst Agent: 分析数据 ├── Writer Agent: 撰写报告 └── Reviewer Agent: 质量检查

输出: 完整的研究报告

3. 内容创作流程

输入: "创作一个科幻短篇故事"

工作流: ├── WorldBuilder Agent: 构建世界观 ├── CharacterDesigner Agent: 设计角色 ├── PlotPlanner Agent: 规划情节 ├── Writer Agent: 撰写故事 └── Editor Agent: 编辑润色

4. 数据分析与可视化

输入: "分析销售数据并生成可视化报告"

工作流: ├── DataLoader Agent: 加载数据 ├── Analyzer Agent: 统计分析 ├── Visualizer Agent: 生成图表 └── Reporter Agent: 撰写洞察


$ cat ./section-6.md

与 Hermes 系统的关联

1. 相似概念映射

| ChatDev | Hermes | 说明 | |---------|--------|------| | Agent (智能体) | Skill/Agent | 执行特定任务的角色 | | Workflow (工作流) | DAG/Workflow | 多步骤任务编排 | | Phase (阶段) | Step | 工作流中的单个环节 | | Role (角色) | Persona | 角色定义和行为模式 | | Skill (技能) | Tool | 可复用的能力模块 | | Experience (经验) | Improvement Loop | 从执行中学习优化 | | Orchestrator (编排器) | Supervisor | 任务协调与管理 |

2. 可借鉴的设计

2.1 角色专业化分工

<h1>ChatDev 方式: 明确的角色定义</h1>

roles = { "CEO": { "goal": "产品规划", "constraints": ["考虑市场需求", "评估技术可行性"] }, "CTO": { "goal": "架构设计", "constraints": ["选择合适技术栈", "确保可扩展性"] }, "Programmer": { "goal": "代码实现", "constraints": ["遵循编码规范", "编写单元测试"] } }

启示: Hermes 可以更明确地定义 Skill 的"角色人格"

2.2 经验积累机制

<h1>ChatDev 的 ECL 机制</h1>

class ExperienceLearning: def learn_from_task(self, task_result): """从任务执行中学习""" if task_result.has_errors: # 记录错误模式 self.error_patterns.append({ "error_type": task_result.error_type, "context": task_result.context, "solution": task_result.solution }) else: # 记录成功捷径 self.shortcuts.append({ "pattern": task_result.pattern, "shortcut": task_result.optimized_path })

def apply_to_new_task(self, new_task): """应用到新任务""" similar_errors = self.find_similar_errors(new_task) if similar_errors: return self.apply_solution(similar_errors[0])

applicable_shortcuts = self.find_shortcuts(new_task) if applicable_shortcuts: return self.apply_shortcut(applicable_shortcuts[0])

启示: Hermes 的 Improvement Loop 可以借鉴这种经验复用机制

2.3 可视化工作流编排

<h1>ChatDev 2.0 的 YAML 工作流</h1>

workflow_config = { "nodes": [ {"id": "step1", "agent": "analyzer"}, {"id": "step2", "agent": "writer", "depends_on": ["step1"]} ], "edges": [ {"from": "step1", "to": "step2"} ] }

启示: Hermes 可以引入类似的可视化 DAG 编排界面

3. 集成可能性

3.1 ChatDev 作为 Hermes 的外部工具

<h1>Hermes 调用 ChatDev 工作流</h1>

class ChatDevTool: def run(self, task_description, workflow_type="software"): """调用 ChatDev 执行复杂任务""" result = chatdev_sdk.run_workflow( yaml_file=f"workflows/{workflow_type}.yaml", task_prompt=task_description ) return result.final_output

3.2 Hermes 作为 ChatDev 的智能体

<h1>ChatDev 工作流中使用 Hermes</h1>

nodes: - id: hermes_agent type: external_agent endpoint: "http://hermes:8080/execute" capabilities: ["code_review", "refactoring", "debugging"]

3.3 统一的多智能体生态

┌─────────────────────────────────────────────────────────────┐

│ 统一多智能体生态 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ ChatDev │ │ Hermes │ │ OpenClaw │ │ │ │ │ │ │ │ │ │ │ │ - 工作流编排 │ │ - 工具执行 │ │ - 任务管理 │ │ │ │ - 角色协作 │ │ - Skill系统 │ │ - 人机协同 │ │ │ │ - 经验学习 │ │ - 自我改进 │ │ - 长期记忆 │ │ │ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │ │ │ │ │ │ │ └─────────────────┼─────────────────┘ │ │ ↓ │ │ ┌──────────────────┐ │ │ │ A2A Protocol │ │ │ │ (标准化通信) │ │ │ └──────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘


$ cat ./section-7.md

最新研究进展

1. NeurIPS 2025 论文

标题: Multi-Agent Collaboration via Evolving Orchestration 核心贡献:
  • 提出"木偶戏"式编排范式
  • 可学习的中央编排器
  • 动态智能体激活与排序
  • 强化学习优化协作路径
代码: puppeteer 分支

2. MacNet (多智能体协作网络)

特点:
  • DAG 拓扑结构
  • 支持并行执行
  • 可扩展至1000+智能体
  • 不超出上下文限制
论文: https://arxiv.org/abs/2406.07155
$ cat ./section-8.md

资源链接

  • GitHub: https://github.com/OpenBMB/ChatDev
  • 官方文档: Wiki (项目内)
  • SaaS平台: https://chatdev.modelbest.cn/
  • 电子书: https://thinkwee.top/multiagent_ebook
  • 论文列表: https://github.com/OpenBMB/ChatDev/blob/main/MultiAgentEbook/papers.csv
  • PyPI SDK: https://pypi.org/project/chatdev/

$ cat ./section-9.md

总结与启示

ChatDev 的核心价值

  1. 证明了多智能体协作的可行性: 在软件开发领域取得实际成功
  2. 展示了角色专业化的重要性: 明确的角色分工提高协作效率
  3. 经验学习的必要性: 从执行中积累知识,持续优化
  4. 编排的演进: 从链式 → DAG → 可学习编排器

对 Hermes 的启示

  1. 引入角色人格: 为 Skill 定义更明确的"角色"
  2. 经验复用机制: 建立类似 ECL 的学习系统
  3. 可视化编排: 开发 DAG 工作流编辑器
  4. 与外部系统集成: 通过 A2A 协议与其他智能体平台协作
  5. 长期进化: 从工具执行者向自主智能体演进

研究日期: 2026-03-30 ChatDev 版本: 2.0 (DevAll)