用途:当需要另一个代理或代理 CLI 去实现、审查、调查代码时,使用此伞形技能。Hermes 仍对范围、核对与验证负责,子代理的总结不是完成证明。
适用场景:委派给 Codex CLI、Claude Code、OpenCode 或 delegate_task;从 Kanban 工作进程运行隔离的实现通道;并行化相互独立的代码任务。
共享委派模式:启动前核实实时状态,包括仓库路径、分支、状态、近期提交、打开的 PR 栈、工作树及用户要求的 Slack/Linear 等状态汇;先用规划/审查代理定义可评分的路线目标,包括清单、文件范围、非目标、最快验证方式、PR 大小上限、评分细则和首次反馈时限;编写自包含提示词,包含仓库路径、分支规则、文件、验收标准、测试、约束,并写明“不要提交/推送/开 PR/发布状态”除非明确授权;使用独立工作树、分支或会话做隔离;要求可验证产出,如变更路径、测试输出、提交哈希、PR URL 或通道输出文件;自行检查 diff 并运行测试。
审查范围要匹配实际产物状态:若工作进程的改动尚未提交,应让只审查代理查看 git diff/git diff --stat,而非 <base>..HEAD;堆叠 PR 应针对预期栈基(父分支..HEAD)审查。若只审查返回 BLOCK,不要启动依赖的实现工作树,把确切发现反馈给责任工作进程,重跑聚焦的包测试/类型检查,再对同一片段重跑只审查,之后才堆叠下游分支。
只核对预期变更。两个本应独立的切片若都需要同一狭窄公共契约/类型文件,应把后一个切片堆叠在前一个上再开 PR。临时进度留在 Slack/Linear/控制器系统中;仅当项目/产品/API/运行时语义变化时才更新已有的持久化 markdown,避免创建进度日志文档。
大型 Codex 集群与堆叠工作树见 references/codex-worktree-cluster-delivery.md;此模式下不要用 Hermes 委派并发上限限制实现集群,委派用于规划/审查综合,用大量隔离的 Codex CLI 工作树做实现。启动可写集群前,用 references/dense-swarm-preflight-and-stack-governance.md 核实状态汇、检测过大的远程 PR 栈积压,并决定是否冻结/归并已有 PR。预算中断后恢复或收尾时,用 references/dense-cluster-continuation-closeout.md。代理优先工作流优化见 references/harness-engineering-agent-workflows.md。
Codex CLI:适合在 git 仓库中做代码编辑、重构、PR 审查和批量修复 issue,需提供确切工作目录与测试命令。Hermes 默认:用 pty=true;Codex 拒绝在 git 仓库外运行,临时任务先建临时目录并 git init;独立 CLI 可能使用 ~/.codex/auth.json,缺少 OPENAI_API_KEY 不能单独证明未认证;在 Hermes 网关/服务上下文中 workspace-write 沙箱可能因 bubblewrap/user-namespace 出错,仅在干净受限工作树中优先用 --sandbox danger-full-access;用 codex exec --help 查看当前标志范围,approval-policy 标志可能在顶层与子命令位置间变化;合并冲突时轮询真实进展,若多次轮询日志重复同一 hunk 则停止并确定性解决;后台延迟完成须先检查工作树并运行确切门禁才视为新证据。已知问题:codex-cli 0.136.0 上 codex exec 可能拒绝 -a never / --ask-for-approval never,尽管帮助文本列出该标志;非交互工作树代理用 codex exec -C <worktree> -s workspace-write -o <summary-file> < prompt.txt,除非已确认所装版本接受 approval 标志。
Claude Code:适合较大功能实现或仓库级推理,交付物需有界。Hermes 默认:一次性自动化优先打印模式 claude -p "<task>" --max-turns N;交互会话用 tmux 以便 send-keys 和 capture-pane;工作区信任通常按 Enter 接受,但 --dangerously-skip-permissions 警告默认“No, exit”,只有刻意选择绕过权限时才按 Down 再 Enter;打印模式用 --max-turns、--max-budget-usd、--allowedTools 限制成本与范围;完成后清理 tmux 会话。
OpenCode:用于实现和 PR 审查,但须通过 diff 与测试核实其总结。Hermes 默认:有界自动化优先 opencode run "<task>",不需要 PTY;迭代工作用后台 TUI 会话并 pty=true;/exit 不是有效的 OpenCode 退出命令,会打开代理选择器,用 Ctrl+C (\x03) 或杀进程退出;PATH 不匹配可能选到不同 OpenCode 二进制,检查 which -a opencode 与 opencode --version,必要时固定 $HOME/.opencode/bin/opencode;避免并行 OpenCode 会话共享同一工作目录。
Antigravity CLI (agy):当用户偏好或任务涉及渲染器/UI 变更时用于 UI 导向实现,提示词要窄并由 Hermes 验证 diff。Hermes 默认:在预期的隔离工作树中启动 agy 并用 tee 捕获输出;若任务需要默认配置路由,取消 provider/base-url 环境变量;agy --prompt-interactive 需要把提示词作为参数,不要把提示词通过 stdin 管给该标志,一次性 UI 工作优先 agy --print "$(cat prompt.txt)" 或直接把提示词字符串传给 --prompt-interactive;agy 可能几乎不输出 stdout、等待响应超时,或在已写入有用 diff 后留下 tcsetattr: Inappropriate ioctl for device 等辅助/PTY 噪声;按挂起子代理处理:检查 git status --short、git diff --stat 和未跟踪的预期文件,在父侧跑测试,仅在保全产物后才杀卡住进程。仅 UI 切片应在提示词中明确禁止后端/Electron/Node 编辑。若代理编辑或重命名测试,对比总测试数与 diff 统计,测试变少但全绿是阻断项。
Kanban 通道:工作进程可运行编码 CLI,但生命周期、验收检查和核对仍由工作进程负责。
常见陷阱:上下文不足就委派;让子代理在范围外提交、推送或合并;不看到输出就相信子代理的测试声明;在同一个脏工作树中混用多个代理;用户把范围收窄到关闭已有 PR 后仍继续规划或启动集群;用户明确要求由编码代理写代码后仍手改产品代码;把挂起/超时的子代理进程等同于没有工作;把过期的后台进程通知当作新阻断;把反复出现的只审查 BLOCK 当作折腾而非信号。
验证清单:提示词包含上下文与验收标准;代理返回可验证句柄;父代理检查 diff 并运行测试。