gilvt
多 Agent 指南

如何并行运行 Claude Code 和 Codex

把它们当作独立工作者,而不是同一个 checkout 里的两只光标。隔离文件与目标,再通过一个注意力队列 review 各自结果。

安全默认值:每个 Agent 使用独立 Git worktree 和分支。给 Claude Code 与 Codex 不同的任务所有权,在各自 worktree 内验证,通过 review 后再合并。

创建两个独立 worktree

git worktree add ../project-feature -b agent/feature
git worktree add ../project-review -b agent/review

# 终端 1
cd ../project-feature && claude

# 终端 2
cd ../project-review && codex

这样可以避免最常见的问题:一个 Agent 读取或替换文件时,另一个 Agent 仍在修改同一个文件。

选择互补角色

输出能够独立评估时,并行工作最安全。常见组合包括:

除非你明确需要两个竞争方案,否则不要让两个 Agent 在同一个 checkout 中“修复同一个 bug”。

为两个 Agent 提供同一完成标准

每个 prompt 都应明确目标、边界和验证方式:

修改 crates/example 中的解析器。
不要修改公共 API 或生成的 fixture。
为给出的两个情况增加回归测试。
运行 cargo test -p example,并总结修改文件。

两个工具可以采用不同方法,但因为必须满足相同可观察标准,结果仍然容易比较。

在各自 worktree 内独立验证

合并分支前先分别运行测试。共享编译缓存通常没有问题,但端口、数据库和生成文件仍可能冲突。两个任务都启动本地服务时,应分配不同端口或隔离临时目录。

统一管理两个 TUI 的注意力

Claude Code 和 Codex 使用不同的 hooks 与会话格式。普通终端只把它们当作两个文字屏幕。gilvt 在保留两个原生界面的同时,把高层状态统一起来。

同一个左栏可以显示 Claude 正在等待审批,而 Codex 仍在执行。无论哪个 Agent 需要输入,系统通知和 ⇧⌘J 都能把你带到对应会话。

gilvt 监控官统一显示 Claude Code、Codex 和普通终端会话。
监控官汇总 Claude Code、Codex 和普通终端,但不替换它们的 TUI。

谨慎合并

  1. 检查每个 Agent 的命令、diff 和测试结果。
  2. 在各自分支提交已经接受的工作。
  3. 一次合并或 cherry-pick 一个分支。
  4. 用完整测试处理语义冲突,不只处理 Git 文本冲突。

如果第二个分支负责 review,应把问题反馈给实现会话,而不是自动合并它的修改。

在 gilvt 中:用 ⇧⌘N 在新 worktree 启动任一 Agent,⌥⌘2 查看逐轮产物,⇧⌘R 查找和恢复旧会话。