用多个AI角色通过聊天协作,自动写代码、测代码、写文档
一、核心架构(4层)
层级 | 功能 | 关键点 |
---|
Agent | 角色:CEO、CTO、开发、测试、文档 | 每人有Prompt+职责,用自然语言沟通 |
Chat Chain | 会话流程控制器 | 决定谁在什么时候说啥,防止跑偏 |
Execution | 生成代码 + 运行测试 | 输出真实文件(.py/.js),可执行 |
Visualizer | 对话可视化 | 看清每个agent说了什么、进度如何 |
所有协作基于语言,没有GUI,全是文本交互。
二、实施步骤
# 1. 克隆
git clone https://github.com/OpenBMB/ChatDev.git && cd ChatDev
# 2. 环境(Python 3.9+)
conda create -n chatdev python=3.9 -y && conda activate chatdev
# 3. 安装 + 设置API
pip install -r requirements.txt
# 编辑 config.py,填入你的 OpenAI API Key:
# OPENAI_API_KEY="sk-..."
# MODEL="gpt-4"
# 4. 运行示例(生成一个TODO应用)
python main.py --task "Build a simple TODO app in Python with CLI"
输出:自动生成 app.py
、test_app.py
、README.md
—— 完整软件项目。
三、定制三大入口
目标 | 如何做 |
---|
换角色 | 修改 agents/ 目录下对应 .json 或 .py 的 prompt 和职责 |
换模型 | 在 config.py 改 MODEL="claude-3" 或本地模型API地址 |
加工具 | 编写 tools/ 中的新函数(如:run_shell() , git_commit() ),注册到 agent |
工具 = agent 能“动手”的能力,比如执行命令、读写文件。
四、值得注意的地方
风险 | 解法 |
---|
生成代码有bug | 每次运行后必跑 pytest 自动测试 |
花钱太多 | 用本地模型(Llama3, Qwen)或限制 token |
agent 说胡话 | 用“验证链”:开发 → 测试 → 修正 → 再测试(论文核心:communicative dehallucination) |
不知道进度 | 启动 visualizer.py 看对话流 |
五、相关内容
GitHub https://github.com/OpenBMB/ChatDev
论文 https://arxiv.org/abs/2307.07924
在线体验 https://chatdev.ai
标签:ai, agent