-
Notifications
You must be signed in to change notification settings - Fork 0
Agent Roles and Collaboration
输入:用户的原始需求文本
职责:
- 把模糊的原始需求拆解成结构化 PRD
- 定义用户故事(As a..., I want..., So that...)
- 写验收标准(Given/When/Then)
- 排优先级(Must/Should/Could/Won't)
- 识别边界和约束
输出:PRD.md
工具:web_search, retrieve_memory, read_file, write_file, send_message, query_agent
输入:PRD.md
职责:
- 技术选型(语言、框架、数据库、部署方案)
- 系统架构设计(模块划分、数据流、接口定义)
- 可行性评估
- API 接口规范 + 数据库 schema
输出:tech-spec.md
工具:web_search, retrieve_memory, read_file, write_file, send_message, query_agent
输入:tech-spec.md
职责:
- 按接口定义写代码
- 写单元测试,跑代码验证
- 遇到接口不清晰时直接给 Architect 发消息
输出:src/ 目录
工具:web_search, retrieve_memory, read_file, write_file, list_files, execute_code, search_files, send_message, query_agent
输入:src/ + PRD.md
职责:
- 基于验收标准写测试用例
- 边界测试 + 异常路径
- 发现 bug 写报告,blocker 级别触发自动打回
输出:test_report.md
工具:retrieve_memory, read_file, execute_code, list_files, search_files, send_message, query_agent
输入:test_report.md + src/
职责:
- 确认无 blocker 后生成 CHANGELOG
- 打 Git tag
- 守门员:测试不过不给发布
输出:CHANGELOG.md + Git tag
工具:retrieve_memory, read_file, write_file, list_files, execute_code, send_message, query_agent, github_manager
输入:任意
职责:
- 打杂:协助其他 Agent 处理杂项任务
- 跨角色协调(分析→架构→开发→测试→发布 之外的事)
- 文件操作、文档整理、数据收集等通用任务
输出:视任务而定
工具:web_search, retrieve_memory, read_file, write_file, list_files, search_files, send_message, query_agent
关键能力:万金油角色,不绑定 Pipeline 阶段。BOSS 可直接指派杂活,或由其他 Agent 调用协作。
| Agent | web_search | read_file | write_file | list_files | execute_code | search_files | send_message | query_agent |
|---|---|---|---|---|---|---|---|---|
| analyst | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| architect | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| developer | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| tester | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||
| release | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||
| assistant | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
所有 Agent 还拥有 retrieve_memory 工具(未列入上表)。
假设原始需求:「做一个用户管理系统,支持注册登录和权限管理」
收到原始需求 → 输出 PRD.md
Gate: manual → 暂停,等 BOSS 审批
收到 PRD.md → 输出 tech-spec.md
Gate: auto → 自动进入下一阶段
收到 tech-spec.md → 输出 src/
过程中可能发生 Agent 间通信:
Developer → Architect: "audit log 返回字段没定义,分页还是全量?"
Architect → Developer: "分页,每页 50 条"
Gate: auto → 自动进入下一阶段
收到 src/ + PRD.md → 输出 test_report.md
有 blocker → 自动打回 Developer(最多 3 次)
无 blocker → Gate: auto → 进入下一阶段
收到 test_report.md + src/ → 输出 CHANGELOG.md + Git tag
Gate: manual → 暂停,等 BOSS 确认发布
下游 Agent 发现上游产出有歧义时,直接发消息询问,不用 BOSS 转达。所有消息通过 WebSocket 实时广播到前端。
Tester 发现 blocker → 自动打回 Developer → 修复 → 重测 → 最多 3 次 → 超限暂停等 BOSS
| 时间点 | 动作 |
|---|---|
| 开始时 | 提交原始需求 |
| 分析完 | 审批 PRD |
| 中间 | 看 Agent 实时对话 |
| 结束时 | 审批发布 |
- 不绑定 Pipeline 阶段
- BOSS 可随时指派杂活
- 其他 Agent 遇到非本职任务可调用 assistant 协作