多代理编排器Skill orchestrator

这是一个自动化多代理编排技能,用于协调并行执行的CLI子代理,通过MCP Memory进行状态管理,并监控进度。适用于复杂功能的自动化执行,涉及后端、前端、移动端和QA的全面实施。关键词:多代理编排、自动化执行、并行处理、MCP Memory、监控、协调、CLI子代理、全栈实施。

DevOps 0 次安装 0 次浏览 更新于 3/15/2026

名称:编排器 描述:自动化多代理编排器,并行生成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:

  1. 在最终报告中包含CD摘要
  2. 触发QA代理的RCA生成
  3. 更新 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