Subagents 协作模式
Subagent 的价值不是“多开几个模型”,而是让每个角色拥有更小的上下文、更明确的工具权限和更容易验收的输出。
推荐的四角色流水线
Planner
只读定位文件、接口、测试和风险,输出实施步骤,不修改代码。
Coder
在明确目录和工具权限内实现计划,运行局部测试并报告结果。
Reviewer
只读检查 diff、测试证据、安全和兼容性,按优先级给出问题。
Handoff
汇总各角色结果,处理冲突,不替任何角色隐瞒失败。
隔离策略
- 只读任务可以共享工作区。
- 并行修改应使用独立分支或 worktree。
- 需要访问真实凭据的任务应单独审批,默认不给。
- Coder 不应自动拥有发布、推送和生产写权限。
并行与成本
适合并行:
- 多个模块的只读探索;
- 独立方案评审;
- 不共享文件的测试和文档检查。
不适合并行:
- 同一文件的修改;
- 依赖前一步产物的实现;
- 需要统一状态的迁移。
给每个子任务设置预算:最大轮数、最大工具调用数、最长时间和失败重试次数。
输出契约
json
{
"role": "reviewer",
"status": "complete",
"findings": [],
"tests": [
{"command": "go test ./...", "status": "passed"}
],
"open_questions": []
}结构化输出比自由文本更容易被主 Agent 汇总和验证。
练习
- 为“新增支付幂等”任务设计 Planner、Coder、Reviewer 的权限矩阵。
- 找出一个不能并行的依赖链,并说明原因。
- 给 Subagent 输出设计一个失败状态,而不是只设计成功状态。
