Wink Pings

审 PR 之前,先把手上那半截活留在原地

用 git worktree 把别人的 PR 检到单独目录里,Sonnet 审并修,Haiku 查调用点和跑测试,Opus 只在三个时刻开口。一条命令,不用 stash,不用切分支。

审一个 PR,真正烦人的环节是读 diff 之前的那几步。

手上改到一半的函数、跑了一半的迁移、没提交的调试代码。要切过去看别人的分支,就得 stash,或者先 commit 一个 wip 凑合。看完切回来,再 stash pop,运气不好还得解冲突。代码没审几行,自己的活先断了一次。

X 上有人(@skunzu)给了一套做法,核心动作只有一个:把 PR 检到它自己的工作目录里,你的分支一动不动。

worktree 才是主角

git worktree 是 git 自带的功能,年头不短了。同一个仓库可以挂出多个工作目录,每个目录检出不同的分支,共享同一份对象库。说白了,你可以在 /repo 里继续写你的代码,同时在 /repo/.claude/worktrees/pr-1234 里检出别人的 PR,两边互不干扰。

Claude Code 把这件事包成了一条命令:

claude --worktree "#1234" --model sonnet --advisor opus

它做的事:从 origin 取 pull/1234/head,落到 .claude/worktrees/pr-1234。你的分支保持你离开时的样子。没有 stash,没有 checkout 来回跳,没有半截工作被打断。

三个模型,三种活

分工是这样的:

  • Sonnet 5.5 在那个 worktree 里跑 /code-review high --fix 1234,边审边把发现的问题改掉。改动落在 PR 的工作目录里,不碰你本地。
  • Haiku 5.5 的两个子代理干体力活:一个把被改函数的调用点全找出来,一个并行跑测试套件,只报失败,不刷屏。
  • Opus 5.5 挂在 advisor 位,平时不出声,只在 review 真的走到岔路口时读一遍记录。
  • 加 --comment,结论直接贴回 GitHub 上那个 PR。

Opus 被限定在三个时刻开口:

  1. review 计划定下来之前,判断这个 PR 哪部分真能影响到生产。
  2. 同一个测试连挂两次,判断是代码问题还是 flaky。
  3. 下结论之前,approve 还是打回。

一句话概括:Sonnet 审,Haiku 查,Opus 判。

那层没被画出来的成本

原文还提到 JEV 这个分叉层:改哪个文件、跑哪个测试、重试还是停,这类不需要思考的判断在毫秒级处理掉,大模型只看真正需要权衡的那些。

这跟 Opus 只在三个时刻介入是同一件事,只是抬了一层。它承认了一个事实:贵模型不该看每一行 diff。

很多人用 Claude Code 觉得贵,问题往往出在这里。不是 token 单价高,是让最强的模型去干了 Haiku 该干的活。

值得保留的怀疑

让 AI 自动 fix PR,比让它写 review 意见激进得多。原文回复里 @noclipepe 就说,worktree 这套听着干净,但让它自动修 PR 是个跳跃。这个担心有道理。

修完之后谁来确认这些改动是对的?流程里给的答案是 Haiku 跑测试,加上 Opus 在结论前看一眼。测试覆盖不到的地方,还是得你自己读 diff。worktree 至少让这件事变简单了:改动在一个独立目录里,git diff 随便看,不满意就整个目录删掉,你本地一点没脏。

另一条回复里 @鼬 提到一个容易被忽略的点:worktree 让 review 能在 PR 自己的代码状态下跑测试,Sonnet 改的东西才有验证的余地。如果在你本地分支上跑,测的其实是你和 PR 混在一起的东西。

想直接抄的话

把下面这段丢给 Claude Code:

Set me up for PR reviews in worktrees:
1. Add .claude/worktrees/ to .gitignore.
2. Create two read-only Haiku 5.5 subagents in .claude/agents: call-sites (finds every caller of a changed function) and test-runner (runs the suite, reports only failures).
3. Add one rule to CLAUDE.md: for reviews, start with claude --worktree "#" --model sonnet --advisor opus, then run /code-review high --fix , and ask the advisor before the plan locks, after the same failure twice, and before the verdict.
4. Route fast deterministic forks through JEV.
Show every change as a diff first. No edits until I say go.

文档在 code.claude.com/docs/en/worktrees。原文发布于 2026 年 10 月,模型版本按原文写的来,实际以你本地 CLI 支持为准。

这套东西里最耐用的部分跟模型无关。worktree 是 git 早就有的能力,用对了,审 PR 这件事就从切分支的折腾里脱出来了。模型换代,这个动作不用换。

发布时间: 2026-10-31 14:54