名称:编排器 描述:自动化多代理编排器,并行生成CLI子代理,通过MCP Memory协调,并监控进度
编排器 - 自动化多代理协调器
何时使用
- 复杂功能需要多个专业代理并行工作
- 用户希望自动执行,无需手动生成代理
- 全栈实施涵盖后端、前端、移动端和QA
- 用户说“自动运行”、“并行运行”或类似的自动化请求
何时不使用
- 简单的单领域任务 -> 直接使用特定代理
- 用户希望逐步手动控制 -> 使用工作流指南
- 快速修复错误或微小更改
重要信息
此技能通过 gemini -p "..." --approval-mode=yolo 编排CLI子代理。它使用MCP Memory工具作为共享状态总线。每个子代理作为独立进程运行。
配置
| 设置 | 默认值 | 描述 |
|---|---|---|
| MAX_PARALLEL | 3 | 最大并发子代理数 |
| MAX_RETRIES | 2 | 每个失败任务的重试尝试次数 |
| POLL_INTERVAL | 30秒 | 状态检查间隔 |
| MAX_TURNS (实施) | 20 | 后端/前端/移动端的轮次限制 |
| MAX_TURNS (审查) | 15 | qa/debug的轮次限制 |
| MAX_TURNS (计划) | 10 | pm的轮次限制 |
内存配置
内存提供者和工具名称可通过 mcp.json 配置:
{
"memoryConfig": {
"provider": "serena",
"basePath": ".serena/memories",
"tools": {
"read": "read_memory",
"write": "write_memory",
"edit": "edit_memory"
}
}
}
工作流阶段
阶段1 - 计划:分析请求 -> 分解任务 -> 生成会话ID
阶段2 - 设置:使用内存写入工具创建 orchestrator-session.md + task-board.md
阶段3 - 执行:按优先级层生成代理(从不超出MAX_PARALLEL)
阶段4 - 监控:每POLL_INTERVAL轮询一次;处理完成/失败/崩溃的代理
阶段4.5 - 验证:对每个完成的代理运行 oh-my-ag verify {agent-type}
阶段5 - 收集:读取所有 result-{agent}.md,编译摘要,清理进度文件
查看 resources/subagent-prompt-template.md 获取提示构造。
查看 resources/memory-schema.md 获取内存文件格式。
内存文件所有权
| 文件 | 所有者 | 其他 |
|---|---|---|
orchestrator-session.md |
编排器 | 只读 |
task-board.md |
编排器 | 只读 |
progress-{agent}.md |
该代理 | 编排器读取 |
result-{agent}.md |
该代理 | 编排器读取 |
验证门(阶段4.5)
每个代理完成后,在接受结果前运行自动化验证:
oh-my-ag verify {agent-type} --workspace {workspace}
# 或使用JSON输出供程序化使用:
oh-my-ag verify {agent-type} --workspace {workspace} --json
- 通过(退出码0):接受结果,进入下一个任务
- 失败(退出码1):视为失败 → 进入重试逻辑,以验证输出作为错误上下文
- 这是强制性的。即使代理报告成功,也从不跳过验证。
重试逻辑
- 第一次重试:等待30秒,使用错误上下文重新生成(包括验证输出)
- 第二次重试:等待60秒,添加“尝试不同方法”
- 最终失败:向用户报告,询问是否继续或中止
澄清债务(CD)监控
跟踪会话执行期间的用户更正。查看 ../_shared/session-metrics.md 获取完整协议。
事件分类
当用户在会话期间发送反馈时:
- 澄清(+10):用户回答代理的问题
- 纠正(+25):用户纠正代理的误解
- 重做(+40):用户拒绝工作,请求重新开始
阈值操作
| CD 分数 | 操作 |
|---|---|
| CD >= 50 | 需要根本原因分析(RCA):QA代理必须在 lessons-learned.md 中添加条目 |
| CD >= 80 | 会话暂停:请求用户重新指定需求 |
redo >= 2 |
范围锁定:在继续前请求明确的允许列表确认 |
记录
每次用户更正事件后:
[EDIT]("session-metrics.md", 将事件附加到事件表)
会话结束时,如果 CD >= 50:
- 在最终报告中包含CD摘要
- 触发QA代理的RCA生成
- 更新
lessons-learned.md加入预防措施
Serena 内存(CLI模式)
查看 ../_shared/memory-protocol.md。
参考资料
- 提示模板:
resources/subagent-prompt-template.md - 内存模式:
resources/memory-schema.md - 配置:
config/cli-config.yaml - 脚本:
scripts/spawn-agent.sh,scripts/parallel-run.sh,scripts/verify.sh - 任务模板:
templates/ - 技能路由:
../_shared/skill-routing.md - 验证:
scripts/verify.sh <agent-type> - 会话指标:
../_shared/session-metrics.md - API合同:
../_shared/api-contracts/ - 上下文加载:
../_shared/context-loading.md - 难度指南:
../_shared/difficulty-guide.md - 推理模板:
../_shared/reasoning-templates.md - 澄清协议:
../_shared/clarification-protocol.md - 上下文预算:
../_shared/context-budget.md - 经验教训:
../_shared/lessons-learned.md