HARNESS ORCH
Harness Orch
在 Codex 集成路径中管理子 Agent 生命周期、消息与报告,而不把执行完成误当成仓库验收。
先说结论
Harness Orch 是 Super Dolphin Harness Driver 的子 Agent 编排层:它负责启动、观察、通信、停止和读取版本化报告。当前完整路径集成于 Codex。Claude Driver 仍在适配、不是默认路径,并且不支持子 Agent Orch;Google Antigravity 只有 LSP client 接入,不包含 Orch。
怎么理解
mcp-orch 提供 Agent 生命周期、消息、报告、DAG 与 workspace 工具。核心操作包括:
| 能力 | 用途 | 关键约束 |
|---|---|---|
launch_agent | 启动一个有名称、Prompt、CWD、Provider 与模型配置的子 Agent | 同一逻辑 ID 并发启动会被拒绝 |
list_agents | 按状态、CWD 列出快照,可选附带报告 | 列表可能截断,需关注 truncated |
send_message | 向目标子 Agent 发送补充上下文并可等待报告 | 必须指定目标,超时不代表执行已失败 |
stop_agent | 请求停止并可等待终态 | stopping/archived 身份不能被同名覆盖 |
| report | 读取 Agent 的版本化进展或终态报告 | report 有序列号与更新时间,不以最后一条文本猜状态 |
在该基线的产品级 mcp-orch 契约中,根 Agent 只能派生直接子 Agent;子 Agent 再调用产品编排工具会被可信工具作用域阻断。不要把这一产品约束推广为所有 harness 的通用规则,也不要把未来适配写成当前支持。
怎么使用
- 在 Codex Driver 路径中,把任务切成边界明确、可独立验证的子任务,并指定名称、Prompt、CWD 和只读/可写约束。
- 调用
launch_agent。异步返回launching只表示请求已接受;随后用list_agents观察实际状态。 - 用
send_message补充少量新事实,不反复发送完整仓库上下文。 - 读取 report 和运行时事件,确认产物、阻塞与验证结果。
- 需要终止时调用
stop_agent;自然完成后由父 Agent 统一运行仓库验收。
编排可以本地拉起进程,也可以在设置 GO_AGENT_CTL_RPC_ADDR 时通过控制面调用 thread/start、turn/start 和 thread/stop。传输模式与启动后端是两条独立维度,不能把“peer 模式”直接等同于远程 Agent 或任意 Harness 支持。
常见问题
- 同一 Agent ID 正在启动:等待原启动结果,不再提交第二次。
- 启动异步失败:
launch_agent的接受响应不是成功证明,必须从列表、事件或报告确认。 - 目标 Agent 无响应:先检查状态和最新 report,再决定补充消息或停止;消息等待超时不应直接创建替代 Agent。
- Claude 中找不到子 Agent Orch:这是当前兼容边界,不是配置遗漏;Claude Driver 仍在适配且子编排不受支持。
- Google Antigravity 中找不到 Orch:其已记录接入仅限本地 MCP/LSP sidecar。
适用范围
- 多 Agent 提高并行吞吐,不自动解决任务依赖、写冲突或验收责任。
- 多个可写 Agent 不应共享未经划分的同一 diff 面;需要文件级所有权或独立 workspace。
done、终态报告和工具成功都不是 repository acceptance;父 Agent 仍需运行匹配变更面的门禁。- 当前编排侧车不注册 memory tools;Memory 由桌面 host-direct toolbridge 提供。
- 兼容性描述固定到产品 commit
8ed277ce674195cd29b97231c31f9690f3f2407b,不承诺其他 Harness 或未来版本行为。
延伸阅读
当子任务存在依赖或需要断点恢复时,继续阅读 Workflow、DAG 与调度;客户端边界见 Harness/LSP 兼容配置。