构建ClaudeAgent:Worktree+任务隔离

张开发
2026/4/21 5:43:21 15 分钟阅读

分享文章

构建ClaudeAgent:Worktree+任务隔离
在多智能体系统里想让多个 AI 同时干活还不打架是把这类工具真正用到实际项目中的关键一步。但现实中很多人一让几个 Claude Agent 一起改代码就会出问题它们都用同一个文件夹结果谁改了什么、有没有提交大家互相看不见很容易把对方的改动覆盖掉、搞混甚至让整个项目跑不起来。这样一来不仅开发变慢了出了错也很难找原因回退到之前的状态更是麻烦。为了解决这个痛点本文会一步步带你用 Git 的 Worktree 功能加上任务隔离的设计从零搭出一个能让多个 Agent 安全、高效一起工作的系统。一、问题到底出在哪为什么多个 AI 一起写代码会乱平时只有一个 Agent 的时候它在一个 Git 文件夹里改来改去没问题。可一旦同时派好几个 Agent 去做不同的事比如一个优化配置文件另一个调整工具函数它们就共用同一套代码。这时候如果 A 改了一半还没保存提交B 就可能读到一半对一半错的代码接着做出错误判断。结果就是程序逻辑出错行为奇怪自动测试失败但不知道是谁改的想回到昨天能跑的版本很难干净地回退看起来是多人并行实际上还是得排队干效率根本提不上去系统也不稳。二、好办法来了Git Worktree 就像给每个任务配个“独立工位”1. Worktree 到底是什么Worktree 是 Git 自带的一个功能它允许你在同一个代码仓库里开出多个独立的工作目录。每个目录有自己的文件和当前分支但底层的 Git 数据比如提交历史、文件内容是共享的所以不会多占很多硬盘空间。打个比方以前一个办公室仓库只有一张桌子工作区→ 多个人要用就得轮流坐。现在一个办公室共享 Git 数据每人一张桌子独立 Worktree→ 大家同时干活谁也不挡谁。2. 为什么这个特别适合 AI 写代码互不干扰每个任务有自己的文件夹改自己的碰不到别人的。省地方不用复制整个项目磁盘占用小很多。切换快不用存草稿stash或来回切分支任务上下文一直都在。好追踪每个 Worktree 可以用任务编号命名做完就能删清清楚楚。三、怎么在 ClaudeAgent 里用上它把“派活”和“干活”分开管我们的做法很简单任务决定要做什么Worktree 提供干活的地方再用一个 ID 把它们绑在一起。这样调度和执行就分开了系统更清晰也更稳。主要部分说明模块干什么任务调度器负责分任务、看进度、管开始和结束Worktree 管理器自动建或删 Worktree并跟任务 ID 对应上操作记录器把每一步操作都记下来出问题能查也能恢复整个流程是这样的当一个新任务来了调度器会给它一个唯一的编号管理器马上在项目里建一个以这个编号命名的新 Worktree并拉出一个专属分支比如叫task/123然后 Agent 就在这个干净、独立的环境里干活所有修改都只影响自己等任务完成系统自动提交代码、发起合并请求最后把临时文件夹清理掉。四、代码长什么样Java 示例public class WorktreeTaskIsolationSystem { private static final Path REPO_ROOT detectRepoRoot(WORKDIR); public void executeTask(Task task) { String worktreePath createWorktree(task.getId()); try { // 在隔离环境里运行 Agent runAgentInWorktree(worktreePath, task); } finally { cleanupWorktree(task.getId()); } } private String createWorktree(String taskId) { String branch task/ taskId; String path REPO_ROOT.resolve(worktrees).resolve(taskId).toString(); // 执行命令git worktree add path branch executeCommand(git, worktree, add, path, branch); return path; } }五、这样做有什么实际好处用了这套方法后AI 写代码就更像真人团队协作了✅真能同时干10 个任务差不多就是 10 倍快✅不怕试错子 Agent 随便重构主干代码始终安全✅提交记录清楚每个任务对应一个合并请求改动边界分明✅容易落地不需要改团队现有的 Git 流程大家上手快就像知名开发者尤雨溪说的“这不只是加了个新功能而是整个工作方式升级了。”六、一句话总结“各用各的文件夹谁也别碰谁的代码。”通过 Git Worktree 实现的任务隔离不仅解决了多个 AI 同时写代码会冲突的老大难问题也标志着 AI 编程正在从“小打小闹的辅助工具”变成“能进正式项目的工程系统”。配合任务编号绑定、完整的生命周期控制和操作日志我们搭建了一套简单、可靠、还能往后扩展的智能体协作底座。以后随着更多复杂协作模式出现Worktree 很可能会成为 AI 开发平台的标配。

更多文章