利用Git worktree为每个AI coding agent创建独立隔离工作目录,可同时探索多种实现方案并对比取舍,避免单一agent反复重写。
AI 编码工具在拥有清晰边界的情况下会变得更有用。
创建一个清晰边界的实用方式是通过 Git worktree。
Git 分支给你独立的历史记录。Worktree 给你一个连接到该分支的独立工作目录。
与其让多个 AI agent 共享一个工作空间,不如给每个 agent 它自己的隔离环境。
Worktree 允许你同时从同一个仓库检出多个分支。
git worktree add ../feature-a -b experiment/feature-a
git worktree add ../feature-b -b experiment/feature-b
你现在有两个独立的目录。Claude Code、OpenAI Codex 或其他编码 agent 可以在每个目录中工作,而不需要在主项目中频繁切换分支。
有时候并没有显而易见的最佳实现。
与其让一个 agent 反复重写相同的代码,不如创建独立的 worktree:
Worktree A:最简单的实现
Worktree B:专注于性能的 实现
Worktree C:遵循不同 UI 或架构的实现
然后你可以比较实际的代码、测试和权衡,再选择解决方案。
不成功的版本可以被移除,而不会影响选中的实现。
多个 agent 编辑同一个目录很容易覆盖文件或混入不相关的更改。
project/
project-agent-api/
project-agent-ui/
project-agent-tests/
这使得每个 agent 的输出更容易理解和审查。
当多个任务之间没有依赖关系时,worktree 非常有用。
这些任务可以同时推进,而不需要反复 stash 更改或切换分支。
但是,并行工作仍然需要仔细规划。如果两个任务修改了同一个重要文件,它们可能需要按顺序处理。
一个 worktree 可以用于实现,另一个 agent 审查 resulting diff。
审查 agent 可以查找:
开发者仍然做出最终决定,但独立的审查在集成之前提供了另一个质量关卡。
想象一个 agent 正在开发一个大特性,突然出现了一个紧急 bug。
没有 worktree,你可能需要 stash 未完成的更改、切换分支、修复 bug,然后恢复之前的状态。
有了 worktree,特性可以保持不变,而紧急修复发生在另一个目录中。
我的通用工作流如下:
Worktree 不会自动使多个 agent 变得高效。仍然需要清晰的指令、任务边界、测试和人工审查。
Worktree 提供的是隔离。
这种隔离创造了更清晰的所属权、更少的意外冲突,以及更容易比较、接受、拒绝或回滚的更改。
Git worktree 可以将 AI 编码从一次长对话转变为一个更有结构的工程工作流。