Worktrunk:用Git Worktree轻松管理并行AI Agent开发 1. 从一堆终端窗口里逃出来为什么你需要 Worktrunk最近几个月我一直在折腾基于 AI Agent 的并行编程工作流。说白了就是同时丢好几个 Agent 去改不同模块、写不同功能最后再把结果合并回来。想法很美现实很疼——最疼的不是 Agent 写不出代码而是多个 Agent 在同一份代码里打架。我试过让三个 Agent 在三个克隆目录里各干各的结果开发到一半就晕了哪个目录对应哪个功能改到哪了哪些分支要合并到主分支每次切换上下文都要在数个终端窗口之间来回跳脑子不够用。我也试过只用一个分支让 Agent 轮流上结果一个 Agent 没跑完另一个根本没法启动。后来我把目光放到了 Git 的 Worktree 功能上。这玩意儿能让你在同一个仓库里同时签出多个工作目录每个目录对应一个独立分支。听起来正好是解决并行问题的天然方案。但用了一阵子又发现一个问题Git 原生 Worktree 的命令太琐碎分支命名、目录命名、状态跟踪全部要自己记住而且一多就乱。若干次git worktree add之后我连哪个 worktree 对应哪个分支都要git worktree list查半天。Worktrunk 就是为了解决这个痛点而生的。它把 Git Worktree 的底层能力封装成一个面向并行 AI Agent 工作流的管理 CLI让你用一条命令就能为某个 Agent 创建独立工作区跑完自动合并、自动清理。这篇文章我会从真实的开发场景出发把 Worktrunk 的设计思路、核心命令、实操流程、常见坑位全部讲透。无论你是正在尝试 AI Agent 辅助编程的独立开发者还是带着小团队做多 Agent 并行开发的工程负责人这篇文章都值得你花十分钟读完。2. 并行 AI Agent 工作流的核心困境2.1 为什么单目录多 Agent 必然出问题先说说我在实际使用 AI 编程助手时遇到的具体困境。目前在用 Codex CLI、Claude Code 这类工具做开发的人应该都有同感——Agent 干活的时候它会在你当前目录下创建很多中间文件、临时修改、甚至自动执行测试。如果两个 Agent 同时操作同一个工作目录轻则互相覆盖修改重则把对方的中间状态当成自己的起步状态直接导致整个项目损坏。有人会想那我用多个 Git 分支不就行了听起来很美但 Git 本身的分支切换是有代价的。如果你的项目比较大切换分支时可能涉及大量文件的重写还没等 Agent 跑完你自己开发用的 IDE 可能就跟着掉线了更别提切换过程中工作区里的未提交修改会被 Git 强行拦截。我之前还尝试过一个笨办法把代码库 clone 到好几个不同的文件夹里每个文件夹给一个 Agent 用。单个看没问题但没法统一管理。三个 Agent 完成后我要手动去三个目录里分别提交、推送、合并纯纯的手工艺人。一旦其中一个 Agent 用的依赖版本和另一个不一样合并的时候就会出现各种奇怪的问题。2.2 Git Worktree 为什么是解法Git Worktree 是从 Git 2.5 开始引入的功能核心特性是在同一个仓库中维护多个工作目录。每个 worktree 都关联一个独立的目录并且可以签出不同的分支。你可能会问这和 clone 多个仓库有什么区别最关键的区别在于多个 worktree 共享同一个.git对象库。也就是说你在 A worktree 里提交的代码切到 B worktree 里立即就能看到那个提交对象。你不需要 push/pull 在多个克隆之间同步历史也不用担心某个克隆仓库落后了。这个特性对 AI Agent 工作流简直是量身定做的。想象这样一个场景主分支上有一个稳定的核心版本我可以为每个 Agent 创建独立的 worktree让 Agent A 去写新功能Agent B 去修一个 bugAgent C 去做依赖升级。三个 Agent 在三个完全隔离的目录里同时干活互不干扰。等它们各自干完我再逐个合并回主分支。每个目录的操作都是不可见的但它们都共享着同一套 Git 历史合并的时候不会丢失任何提交。用 Worktree 还有个额外的好处隔离了构建缓存和依赖。你用npm install或者pip install的时候不同的 worktree 会有各自独立的node_modules或虚拟环境不会出现一个 Agent 升级依赖导致另一个 Agent 环境挂掉的情况。2.3 原生 Worktree 命令的痛点Git 虽然给了 Worktree 这个利器但使用体验其实很“裸”。裸到什么程度你得自己记分支名和目录名的对应关系自己设计一套命名规范不然很快就乱了。我有一次创建了七八个 worktree每个都叫feature-xxx之类的名字然后某天想清理一个不要的分支时得先git worktree list确认目录和分支的对应关系再手动git worktree remove中间还容易因为未提交的修改、未合并的分支等一堆限制条件而失败。另外一个痛点是Worktree 之间的切换和状态查看特别不直观。你想知道哪个 worktree 落后于主分支多少个提交哪个 worktree 里有未提交的改动哪个 worktree 对应的 Agent 已经跑完可以收了这些信息原生 Git 都不给你你得自己cd进每个目录去看状态。至少在 AI Agent 并行开发这个场景下原生 Worktree 的学习成本和心智负担都太高了。Worktrunk 的诞生就是为了把这一层复杂度全部扛下来让你像管理后台任务一样管理你的并行 Agents而不是像管一堆散落各处的文件目录那样。3. Worktrunk 的设计思路与核心特性解析3.1 面向 Agent 心智模型而不是面向 GitWorktrunk 和其他 Git 工具最大的不同在于它的命令设计是围绕“Agent 工作流”来组织的而不是围绕 Git 原语来组织的。什么意思举个例子。你用原生 Git 时创建 worktree 的思维模型是“我要在主分支之外创建一个新的分支并把它签出到一个新目录。”而你在 Worktrunk 里的思维模型是“我要为我的代码审查 Agent 创建一个独立的工作空间。”前者的关键词是branch、checkout、add后者的关键词是agent、workspace、start。这个设计差异看似微小实际体验区别很大。Worktrunk 会在你为某个 Agent 创建工作区时自动生成合理的分支名和目录名自动记住这个工作区是为哪个 Agent 创建的甚至会在你查询状态时告诉你这个 Agent 工作区当前处于什么阶段。你不用再记“第三号 worktree 对应agent-review分支”工具有时会替你做这些脑力劳动。3.2 命令体系概览Worktrunk 的核心命令可以分成四组我分别说一下。初始化与配置相关worktrunk init用于在当前仓库初始化 Worktrunk 的元信息会在.git目录旁边生成一个状态文件用来记录每个 Agent 工作区对应哪个分支、哪个目录、当前状态如何。工作区生命周期管理worktrunk start [agent-name]是最常用的命令用于为指定 Agent 创建独立工作区worktrunk finish [agent-name]用于结束一个 Agent 的工作区默认会自动提交该工作区的改动、合并回主开发分支然后清理 worktreeworktrunk stop则是不合并直接停止并清理。这三个命令覆盖了“开始干活”到“收活合并”的完整闭环。状态查看与切换worktrunk status以表格形式展示所有 Agent 工作区的情况包括分支、目录、当前工作进度、距离主分支的领先/落后提交数worktrunk switch [agent-name]则是在不同 Agent 工作区之间快速切换省去手动cdgit checkout的麻烦。底层适配与扩展worktrunk list列出所有已注册的 Agent 工作区worktrunk prune清理已经无效的 worktree 记录。底层命令都能直接调用 Git 原生命令方便你在 Worktrunk 里做定制化的 Git 操作。3.3 为什么不做一个 IDE 插件而是 CLI你可能会有疑问既然都面向 AI Agent 工作流了为什么不做成 VS Code 插件或者 JetBrains 插件而是选择 CLI 形式我个人的判断是AI Agent 工具链目前正处于快速演进阶段大家用的 Agent 终端工具五花八门有的基于 Claude Code有的基于 Codex CLI有的基于开源自建框架。如果做成 IDE 插件绑定的是具体的编辑器生态适用面就窄了。CLI 的优势在于可以嵌入到任何自动化流程里无论是 shell 脚本、CI 流程、还是一个 Agent 的 skill 定义都能直接调用。另外一点AI Agent 本身很多时候是在终端环境里工作的。它们需要的是能被程序化调用的接口而不是一个需要人去看的图形界面。CLI 天然适合做这件事——输出可以是标准文本可以被 Agent 读取和解析也可以被脚本进一步处理。Worktrunk 坚持 CLI 形态我理解是刻意为之。只要终端存在一天CLI 就永远不会过时。3.4 与 Git 原生 Worktree 的关系要强调的是Worktrunk 并没有重新发明一套版本控制机制它是在 Git 原生 Worktree 之上的一层管理封装。所有的分支、提交、合并操作底层都还是 Git 完成的。Worktrunk 解决的问题是怎么让这一堆 Git 操作变成一组有逻辑的、面向任务的命令序列。所以在使用 Worktrunk 的过程中你完全可以随时用原生 Git 命令去查看底层状态二者并不冲突。反倒是如果你懂得一些 Git Worktree 的底层原理对理解 Worktrunk 背后的行为会很有帮助。4. Worktrunk 实操指南从安装到完成一次完整并行开发4.1 环境准备与安装先说安装条件。Worktrunk 要求你的机器上已经安装好了 Git 2.5 及以上版本建议用 2.30 以上因为早期 Worktree 功能有一些边界 bug 在新版本里才修复。不同系统的安装方式稍有差异但都很简单。在 macOS 上如果你装了 Homebrew一条命令就能搞定brew install worktrunk在 Linux 上可以从项目的 GitHub Releases 页面下载对应的二进制压缩包解压后把可执行文件放到PATH路径里。需要注意的是如果你只装了git-core而没装完整版 Git部分系统仓库自带的 Git 版本可能比较老建议先升级 Git 再安装 Worktrunk。在 Windows 上推荐通过 Git Bash 或者 WSL 来使用。虽然 Worktrunk 提供了 Windows 原生二进制但因为它依赖 Git 的 shell 环境来执行部分操作在 Git Bash 里的体验比 CMD 或 PowerShell 要顺滑得多。我有个同事用 Windows WSL 组合跑得很稳。安装完成后进入你的项目仓库执行worktrunk init它会扫描当前仓库的分支信息并生成一个.worktrunk状态文件。这个文件建议加入.gitignore因为它只是你本地的状态缓存不需要提交到仓库。4.2 场景演练三个 Agent 并行干活现在进入真实场景。假设你手上有一个 web 应用项目主分支为main。你现在有三个任务Agent A 要做登录模块重构Agent B 要修复支付流程的时区 bugAgent C 要给 API 层加一个缓存中间件。按照传统方式你得手动维护三个分支 三个目录。现在用 Worktrunk你只需要三条命令worktrunk start agent-a-login worktrunk start agent-b-payment-tz worktrunk start agent-c-cache每条命令做了什么呢它会在当前仓库里创建一个新的 worktree目录名默认等于 Agent 名称分支名也默认基于 Agent 名称和一个时间戳或序号生成。比如agent-a-login这个 Agent可能会生成一个trunk/agent-a-login/20250214_001这样的分支。这样做的好处是多个并行任务即使采用了类似的名字也不会因为分支重名而冲突。创建完以后每个 Agent 的工作目录就都是独立的。你再启动你的 AI Agent让它指向对应的目录。比如 Codex CLI 可以直接在指定目录下启动Claude Code 也可以cd过去再运行。三个 Agent 同时跑互不干扰。4.3 查看进度与切换上下文三个 Agent 同时在跑你作为“管理者”不可能一直盯着三个目录。这时候就需要定期看一下所有工作区的状态。执行worktrunk status它会输出类似这样一个表格Agent 名称工作目录分支名领先 main 提交数落后 main 提交数未提交改动状态agent-a-login./trunks/agent-a-logintrunk/agent-a-login/00131有进行中agent-b-payment-tz./trunks/agent-b-payment-tztrunk/agent-b-payment-tz/00112无进行中agent-c-cache./trunks/agent-c-cachetrunk/agent-c-cache/00100有进行中这个表格的信息量比原生git worktree list大得多。领先 main 多少个提交数意味着这个 Agent 已经完成了多少工作落后 main 多少提交数意味着如果 main 有新提交这个 Agent 可能需要在合并前先同步一下未提交改动则表示 Agent 是否还在持续修改文件。如果你想进入某个 Agent 的工作目录做代码审查或手动修改不需要记住目录路径再cd过去直接执行worktrunk switch agent-a-login它会自动帮你完成切换到对应 worktree 并更新当前 shell 的工作目录。我在实际使用中觉得这个功能特别省心因为 Worktrunk 默认把所有 Agent 工作区放在项目根目录下的trunks/文件夹里目录一多靠记忆根本找不到。4.4 收活与合并finish 命令的完整流程当 Agent C 的缓存中间件写完了你想把它合并回 main。只需执行worktrunk finish agent-c-cacheWorktrunk 会做什么呢它内部大概会走这几步进入agent-c-cache对应的工作目录检查是否有未提交的改动。如果这个 Agent 没有自动提交代码Worktrunk 会尝试将当前目录的所有改动提交到一个临时提交commit message 里会带上 Agent 名称和当前时间方便追溯。回到主仓库目录执行合并操作。这里默认的是--no-ff合并保留一个合并提交这样在历史里你能清楚看到每个 Agent 的合入点。合并成功后自动删除对应的 worktree 和分支并从 Worktrunk 的状态记录里移除这个 Agent。整个流程如果你用原生 Git 操作至少需要七八步而且每步都可能因为各种状态问题中断。Worktrunk 一条命令搞定并且每一步的输出都写在终端里方便你事后追溯。如果你不想让 Worktrunk 帮你提交代码比如你想手动整理一下这个 Agent 的改动再合并也以执行worktrunk finish --no-commit它会跳过自动提交的步骤只做合并前的适配工作最终把合并操作留给你亲自执行。4.5 预合并检查与冲突处理并行开发中最怕的是合并冲突。Worktrunk 提供了一种预合并检查机制但我在实际使用中觉得这个机制还不够“AI 友好”。目前我自己一般会再多做一步在finish之前先手动把 main 的更新合并到该 Agent 的工作区里然后再让 Agent 自己来解决冲突。具体操作也很简单cd trunks/agent-a-login git merge main如果有冲突Agent 通常能根据我给出的提示自动完成代码整合。这种“先合并主分支到任务分支再回归”的策略比直接在 main 上把 Agent 分支合并进来要温柔得多——冲突是发生在任务分支上的不会把主分支搞得乱七八糟。4.6 批量清理与停止任务有时候 Agent 干到一半你发现这个方案方向不对或者需求取消了。这时候直接把任务丢掉就行worktrunk stop agent-b-payment-tzstop不带合并直接丢弃该工作区的所有改动并清掉 worktree。如果只是想清理一下状态记录里已经失效的 worktree可以用worktrunk prune这个命令会扫描当前所有已注册的 Agent 工作区检查对应的 worktree 是否还存在、分支是否还有效清理掉那些已经手动删除的残留记录。5. 常见问题与排查技巧实录5.1 多 Agent 同时修改同一份文件这是我在实践里遇到最多的情况。比如两个 Agent 都需要修改配置文件或都改了同一个公共组件。在真正并行开发之前你以为不会互相干扰但实际任务一复杂它们很容易改到同一个文件。解决思路有两个层面。第一任务拆分的层面。如果可能尽量把任务划分到不同的模块、不同的文件上。比如 Agent A 只改动src/auth/Agent B 只改动src/payment/这样物理上就隔离了大部分冲突。第二合入的时序层面。即使有冲突也可以在完全可控的情况下处理。具体做法是不要让多个 Agent 同时去 merge main。我的经验是当一个 Agent 即将合并回主分支时先把其他 Agent 的 worktree 暂停一下等合并完成、主分支更新后再继续跑其他 Agent。Worktrunk 虽然不能帮你完全自动化这个协调过程但它的status输出已经能给你足够的可视性让你判断哪个 Agent 可以收、哪个还需要等。5.2 Worktree 目录被误删导致状态异常有时候图省事你会直接用rm -rf删掉某个 Agent 的工作目录而不是用worktrunk stop或worktrunk finish来清理。这样会导致 Worktrunk 的状态记录里还留着这个 Agent但对应的 worktree 已经不存在了。遇到这种情况不用慌。执行worktrunk prune就能清理掉失效记录。如果连原来的 worktree 都删了但不影响其他目录先把缺失的 worktree 注销git worktree remove --force trunks/agent-xxx git worktree prune然后再执行worktrunk prune。核心原则是用原生 Git 把 git 层面的残留清干净再用 Worktrunk 把元信息清干净。5.3 finish 时合并冲突不知道怎么处理如果worktrunk finish agent-c-cache时出现了 conflictsWorktrunk 会停下来告诉你哪些文件产生了冲突。这时候不要慌也别直接把finish命令重跑一遍。先手动打开冲突文件把冲突解决完用git add把解决结果标记为已暂存然后再次执行worktrunk finish。Worktrunk 检测到缓存区已经有内容会跳过自动提交继续完成后续的合并操作。我在实践中建议如果冲突比较复杂直接进入该 Agent 的工作区手动解决再用worktrunk status确认状态比在 finish 命令里硬扛要稳妥得多。5.4 Agent 自动生成的临时修改太多AI Agent 干活时往往会自动格式化文件、自动生成缓存文件、甚至改了一些和任务无关的配置。这些“临时修改”如果都被 Worktrunk 自动提交会让 commit 历史变得很脏。我的做法是在finish前先审查一下该工作区的改动cd trunks/agent-a-login git status git diff把不该提交的文件先从暂存区移除或加入.gitignore再执行worktrunk finish。如果 Agent 修改了很多无关文件我会考虑在 Agent 的工作区里先把改动 reset 掉让它重新做或者干脆只挑需要的文件手动提交保证合入主分支的代码是可控的。5.5 磁盘空间占用过高多个 worktree 共享同一个.git对象库但工作目录中的依赖、构建缓存、输出文件是各自独立的。如果你同时开了四五个 Agent 工作区每个都跑了npm install或pip install磁盘占用会急剧膨胀。针对这个问题我有个实操心得给每个 Agent 工作区设置统一的依赖缓存目录比如使用 pnpm 的全局 store、或者 pip 的公共缓存避免重复下载。另外Agent 不用的构建产物目录可以定时清理。我一般会写一个小脚本定期把trunks/目录下的node_modules、dist等大目录清理一遍需要的时候让 Agent 重建。5.6 多个 Agent 协同用同一个依赖文件这是一个比较隐蔽的问题。假设你有两个 Agent一个需要对package.json加一个依赖另一个也需要加一个不同的依赖。如果它们同时修改package.json第一个 Agent 合并回去之后第二个 Agent 再合并时就会出现冲突甚至可能出现第一个 Agent 加的依赖丢失的情况。规避方法很简单如果预计 Agent 会大改依赖文件就尽量把它们排到同一个工作区里去串行处理或者用锁文件lockfile的更新机制来减少冲突。合并完一个 Agent 之后先把这个 Agent 更新的 lockfile 同步到其他 Agent 的工作区再用npm install或pnpm install更新它们的依赖状态后续冲突就小很多。6. 结合 AI Agent 工具链的进阶用法6.1 在 Agent skill 里内嵌 Worktrunk 操作你用的 Agent 工具如果支持自定义 skill比如 Codex CLI、Claude Code 都有类似的能力可以试着把 Worktrunk 的操作封装成 Agent 可调用的工具或 skill。我就做过这么一件事在 Codex CLI 的技能列表里增加了一个“创建并行子任务工作区”的 skill让主控 Agent 通过 Worktrunk 一键为每个子 Agent 创建独立 workspace。实现方式也不复杂就是在 skill 的配置里添加一组命令调用模板让 Agent 遇到“多任务并行”的需求时能自动生成worktrunk start xxx、worktrunk status、worktrunk finish xxx这类命令而不是靠自然语言让 Agent 猜测怎么用 Git。一旦 Agent 能直接操作 Worktrunk它就从“写代码的执行者”升级成了“可调用资源的管理员”。6.2 与 CI/CD 流程的整合Worktrunk 作为 CLI天然适合嵌进 CI 流程。我有一个团队同学就把 Worktrunk 用在了 GitLab CI 中用于并行跑多个独立的集成验证任务。每个任务对应一个 worktree任务结束后用worktrunk finish --no-ff合并回主干成功后再触发后续的部署流水线。如果你们公司的 CI 流程还没完全容器化这种方式能显著降低并行任务的管理复杂度。在 CI 里用 Worktrunk 的好处是任务之间天然隔离单个任务失败不会污染其他任务而且日志可追溯——看finish的输出就知道每个 Agent 干成了什么。6.3 配合自动化测试做质量门禁我目前最常见的用法是在worktrunk finish之前先自动在对应的工作区里跑一遍测试。Worktrunk 本身不绑测试框架但因为每个工作区是独立的测试环境也完全隔离。我写的一个简单脚本流程是这样的worktrunk start agent-api-cache cd trunks/agent-api-cache codex exec 在这个目录下实现 API 缓存中间件并加上测试 npm test worktrunk finish --no-commit agent-api-cache测试通过了我才允许 Worktrunk 完成合并。如果测试挂了Worktrunk 会保留该工作区Agent 可以继续调试直到测试通过为止。这个流程帮我挡住了好几次不成熟的代码合入主分支比让 Agent 自己声称“已测试通过”要可靠得多。7. 与原生 Git Worktree 的深度对照7.1 常用命令对照表我整理了一份对照表应该是目前你在其他地方不太容易看到的东西。左边是原生 Git Worktree 需要你手动做的操作右边是 Worktrunk 对应的一行命令。操作目的原生 Git Worktree 操作序列Worktrunk 命令为 Agent 创建工作区手动建分支、手动git worktree add、手动记录分支和目录的映射关系worktrunk start agent-name查看所有工作区状态挨个cd进目录git status再git worktree list再手工对比分支worktrunk status切换到某工作区手动记录并输入完整路径cd进去worktrunk switch agent-name完成任务并合并cd进目录提交、回到主目录 merge、删 worktree、删分支四步连做worktrunk finish agent-name放弃任务git worktree remove、删分支、清理记录worktrunk stop agent-name清理残留状态手动git worktree prune再手工修改状态文件worktrunk prune从这张表就能看出来Worktrunk 的核心价值不是创造新功能而是把五分钟的琐碎操作压缩成五秒钟的一行命令并且把繁杂的状态信息整合成一个统一的概览界面。7.2 它的限制在哪里任何工具都有边界。Worktrunk 目前对我来说还有几个不够顺手的地方。一是自动提交的逻辑偏向“帮我干活”而不是“让我确认”如果你的 Agent 产出代码质量参差不齐直接自动提交会污染历史。二是冲突处理上Worktrunk只是停下来告诉你哪里冲突了怎么解决完全靠人如果你想更进一步地自动化还得自己写一些胶水脚本。三是对超大 monorepo几百 GB 级别的仓库的支持还不够理想每个 worktree 虽然共享 Git 对象库但检出文件的 IO 开销依然不可忽略。这不是说它不好而是你需要了解它的边界在哪才能把它用在合适的地方。最起码在我日常的多 Agent 并行开发中它已经帮我省下了大量重复劳动。8. 给新手的几条经验与建议8.1 命名规范是并行开发的地基用 Worktrunk 之前我建议你先给 Agent 起一个好名字。这个名字会同时成为目录名和分支名的一部分所以最好既能反映任务内容又保持命名稳定。我的规范是类型-模块-摘要的组合比如feat-login-refactor、fix-payment-timezone、chore-api-cache。这样的命名在worktrunk status里扫一眼就知道每个工作区在干什么不用点进去看日志。8.2 定期同步 main 分支避免一次性合入灾难很多 Agent 跑得时间越长和 main 的偏差就越大。等到最后才合并冲突会集中爆发得很难看。我的建议是每隔一段时间比如几小时或每一天把 main 的最新改动同步到各个工作区里让 Agent 在被合回主干之前先适应一下新变化。这个操作虽然会增加一些合并负担但分散到平时比最后一刻处理几十个冲突文件要轻松得多。8.3 把 Worktrunk 的输出当成“管理仪表盘”来用Worktrunk 的status命令本身就是一个管理仪表盘。你不用真正把每个 Agent 的工作目录都打开靠在终端里看这个表格就能掌握全局状态。我每周的例行工作是早上到公司先worktrunk status看哪些 Agent 已经昨晚跑完了、哪些还在跑、哪些出现了阻塞然后的一天的工作就是根据这个表格来安排。说实话现在让我回到没有 Worktrunk 的日子我真的不知道要怎么同时管理那么多并行的 AI 助手。8.4 别把 Worktrunk 当万能钥匙工具是为人服务的不是让人去迁就工具的。Worktrunk 最适合的场景是多个 Agent 并行处理“相对独立”的任务。如果你的任务之间有强依赖比如 Agent B 只能在 Agent A 完成之后才能开始那强行并行反而会引入大量返工。这种场景老老实实串行就好。工具的意义是帮你把事情做得更顺不是为了用工具而用工具。9. 最后分享两个实际使用的小技巧第一个小技巧是关于收尾时的代码审查的。我建议你在worktrunk finish之前先运行一个 diff 统计命令看看这个 Agent 到底改了多少东西cd trunks/agent-a-login git diff main...HEAD --stat如果一个 Agent 号称只改了一个小功能结果 diff 里显示改了三百个文件那你大概率要被它的“顺手改动”坑一把。这时候我会先让 Agent 解释清楚每块大改动的原因再决定要不要合入。这个习惯帮我避免过至少五次“无用功能夹带”。第二个技巧是善用 Worktrunk 的别名。CLI 工具默认命令有点长我会在 shell 配置文件里给常用命令设置短别名alias wtworktrunk alias wtsworktrunk status alias wtfworktrunk finish alias wtaworktrunk start短别名看起来只是省了几个按键但对高频使用的开发者来说省下的时间相当可观。毕竟管理并行 Agent 已经够烧脑了不要让输入太长这种事再添堵。说回 Worktrunk 本身。我实际用了大概一个多月从最初的三四个 worktree 手动管理到后来无论多少 Agent 并行都觉得清晰可控最大的体感变化是我不再把注意力浪费在“这个目录是哪个分支”“那个分支要合到哪”这类琐碎问题上而是聚焦在任务本身的质量和进度上。如果你也正在经历多 Agent 并行开发的混乱期我建议你从最小的场景开始试——一次只让两个 Agent 并行干活用 Worktrunk 跑通整个生命周期再逐渐增加并行度。你会在第三四次用完时体会到它真正的价值。