Claude Code 的 /code-review 是一条读取你当前的差异(未提交的修改,以及领先于上游的提交),专门查找正确性 bug 并报告的命令。它是 Claude Code 自带的内置技能,不用安装任何 GitHub 应用,直接在终端里就能运行。输入 /review 也会执行同样的操作。
本文依据 Claude Code 官方文档原文(Code Review 中的“Review a diff locally”一节、Find bugs with ultrareview、Commands)和 CHANGELOG,说明它能做什么、各个级别(low 到 max)与 ultra 怎么选,以及 --fix 和 --comment 的用法。文中所有规格都已于2026年10月2日对照原文确认。第9章和第10章还介绍了我在本站代码上实际运行 /code-review high 的结果,以及使用中发现的缺点。
一图看懂 /code-review
来源:Claude Code 官方文档“Code Review”“Find bugs with ultrareview”(2026年10月2日确认)
作用
找出差异中的 bug
报告正确性 bug。视模型和级别而定,还会给出代码整理建议。
级别
从 low 到 max 中选
级别越低,只报把握大的问题;越高,覆盖面越广。不指定时沿用你上次输入的级别。
费用
计入常规用量
low 到 max 消耗的是套餐的用量上限,不单独收费。
ULTRA
在云端深度审查
Pro 和 Max 可免费用3次。之后每次大约花费 $5–25 的用量额度。
目录
1. /code-review 是什么:找出差异中 bug 的内置技能
Commands 参考页对它的说明是:审查当前的差异,或你传入的 PR 编号、分支、路径,查找其中的正确性 bug。该页接着写道,视模型和 effort 级别而定,审查范围还会涵盖可以整理代码的地方;Code Review 页面则说,它会报告正确性 bug,以及复用、简化、效率方面的整理建议。也就是说,找 bug 是主要任务,整理建议视条件附带给出。
语法如下:
/code-review [low|medium|high|xhigh|max|ultra] [--fix] [--comment] [pr#|branch|path]
有四个特点值得先了解:
- 在后台运行。审查以拥有独立上下文窗口的子智能体形式运行,不会挤占你的对话。完成后,结果会送回你的对话中。
- 会读 CLAUDE.md,但不读 REVIEW.md。REVIEW.md 是后文介绍的 GitHub 应用版 Code Review 使用的指令文件。
/review是别名。据文档介绍,在 v2.1.223 之前,/review是一条单独的命令,只对 GitHub PR 读一遍。现在它和/code-review完全相同。- 它的旧名是
/simplify。据 CHANGELOG 记载,/simplify在 v2.1.147 中更名为/code-review,之后/simplify又作为一条只做代码整理、不找 bug 的独立命令回归。
在终端和 -p 运行中,结果以文字形式出现在回复里。在桌面应用等会请求结果列表的应用中,结果以列表显示,每一项都带有文件位置、一句话摘要和 correctness 之类的类别标签。之后让 Claude 修复时,每一项会被标记为已修复、已跳过或无需修改。
2. 基本用法:指定审查对象
最基本的用法是在正在工作的会话里不带参数直接输入。
# 审查领先于上游的提交 + 未提交的修改
/code-review
# 指定级别审查
/code-review high
# 传入 PR 编号,审查同事的拉取请求
/code-review high 1234
# 传入分支范围
/code-review main...my-feature
不带参数时,按文档的说法,对象是当前分支领先于上游的提交,加上所有未提交的修改。如果分支和工作区都没有新内容,就没有可报告的东西。要审查别的内容,就传入对象:
| 传入的内容 | 示例 | 审查对象 |
|---|---|---|
| 不传 | /code-review | 领先于上游的提交 + 未提交的修改 |
| 文件路径 | /code-review src/auth.ts | 该文件 |
| PR 编号 | /code-review 1234 | 该拉取请求 |
| 分支名 | /code-review my-feature | 该分支 |
| 范围 | /code-review main...my-feature | 指定的引用范围 |
除非加上 ultra,否则去掉级别和标志之后剩下的部分,都会被当作审查对象。例如 /code-review /fix-issue 123 并不会把 /fix-issue 当作第二个技能加载,而是把 /fix-issue 123 这段文字当作对象来读。
以下几种情况下,它不在后台运行,而是在对话中前台运行:前一次审查还在进行时再次运行;在 -p 或 Agent SDK 等非交互模式下运行;把环境变量 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS 设为 1(这也会关闭其他所有后台功能)。
3. 级别怎么选:从 low 到 max
级别是在“审查看得多广”和“结果要有多大把握”之间取舍。文档说明,在 low 和 medium 下,只报告最有把握的问题,所以误报更少;而 high 到 max 覆盖面更广,可能夹杂把握较小的问题。
级别与结果的特点
来源:官方文档“Code Review”中的 Tune effort and arguments(2026年10月2日确认)
low / medium
只报把握大的问题。数量少,误报也少。
high / xhigh / max
覆盖面更广。可能夹杂把握较小的问题,需要自己甄别。
判断的标准是你能花多少精力去读结果。如果想在工作间隙快速检查一下,用 low 或 medium;如果想在合并前多抓一些问题,并且能自己剔除误报,就用 high 及以上。这种划分依据的是文档的说明。级别越高消耗的 token 越多,这一点和 effort 的一般规律相同,但官方文档没有给出各级别所需时间或用量的具体数字。effort 本身是什么,请参阅本站关于 Claude Code effort 设置的文章。
不指定级别时,沿用“你上次输入的级别”
不输入级别时,审查会使用你最近一次亲自输入的 low 到 max 之间的级别。之前会话中输入的级别也算在内,这时会显示 Reusing high effort, the level you typed last time 之类的提示。具体规则如下:
- 在交互式会话中输入
/code-review high这样的命令时,记住的级别会被更新。 - 在非交互的
-p运行中传入的级别不会被记住。 ultra既不使用也不更新记住的级别。- 如果从未输入过级别,就使用会话当前的 effort。
文档还注明:在 v2.1.223 之前,不带级别的 /code-review 总是使用会话当前的 effort。如果你按旧的行为习惯省略级别,它可能会以比预想更高(或更低)的级别运行,所以在意的话,每次都写明级别。
4. --fix 与 --comment 的用法
--fix:连修复也一并完成
审查结束后,把结果应用到你的工作区。
--comment:发布到 PR
在 GitHub PR 上发布行内评论,在 GitLab MR 上发布一条备注。
--fix 的修改可能无法用 /rewind 撤销
这是最需要留意的地方。据文档介绍,后台审查中 --fix 做出的修改发生在会话的检查点之外,所以 /rewind 撤销不了。要还原,请用 git。如果审查在前台运行(前一次审查仍在进行、-p 等情况),修改发生在你自己的回合中,/rewind 照常可以还原。
# 用 --fix 之前先提交当前状态,方便回退
git add -A && git commit -m "wip: before code-review --fix"
/code-review medium --fix
# 不满意结果时,用 git 撤销
git diff
git restore .
也可以先不加 --fix 运行审查,看完结果后再吩咐“只修第1条和第3条”。如果拿不准是否所有结果都该应用,这样更稳妥。检查点的详细说明请参阅本站关于检查点和 /rewind 的文章。
--comment 发布到哪里
- GitHub 拉取请求:把结果作为行内评论发布到相应的行上。
- GitLab 合并请求:通过 GitLab 的 CLI 工具
glab作为一条备注发布(v2.1.257 及以后)。如果没有安装glab,结果只会显示在终端里。
在 GitLab 上,请以 URL 或 !123 的形式传入 MR。只有当 origin 位于 gitlab.com 时,单独的数字或分支名才会被当作 MR;对于自建的 GitLab 实例,文档要求使用 URL 或 !123。至于发布到 GitHub 是否需要 gh 等认证,截至2026年10月2日官方文档没有说明。
5. ultra:多智能体云端审查与费用
/code-review ultra 是一种深度审查,它不在你的电脑上运行,而是在 Anthropic 云端的沙箱中并行运行多个审查智能体。它是名为 ultrareview 的研究预览功能,在可用的账号上,/ultrareview 是它的别名。官方文档列出了它相对于本地 /code-review 的三个优点:
- 信号更准:报告的每个问题都会被独立复现和验证,因此结果集中在真正的 bug 上,而不是风格建议。
- 覆盖更广:更多智能体并行探查改动,能发现本地审查可能漏掉的问题。
- 不占用本地资源:它在云端运行,期间你可以继续在终端里做别的事。
费用与免费次数
ultra 不从套餐包含的用量中扣除,而是从用量额度(额外用量)中计费。
| 套餐 | 免费次数 | 免费次数用完后 |
|---|---|---|
| Pro | 3次 | 按用量额度计费 |
| Max | 3次 | 按用量额度计费 |
| Team / Enterprise | 无 | 按用量额度计费 |
- 免费次数:Pro 和 Max 的3次是每个账号一次性发放的,不会重置。
- 每次费用:免费次数用完后,视改动规模而定,通常每次花费 $5 到 $25 的用量额度。每次运行前,启动对话框都会显示预估费用。
- 次数的计算方式:云端会话一开始就算一次。中途停止或失败,也会用掉一次免费次数。付费审查按实际运行的部分计费。
- 前提条件:不开启用量额度,付费审查就无法启动。可以用
/usage-credits查看。是否用用量额度付费的确认,每个对话只出现一次。
“$5–25”算贵还是便宜,取决于和什么比。与 low 到 max 的 /code-review 相比,后者只消耗套餐的用量上限、不单独收费,ultra 则是额外支出。而与后文介绍的 GitHub 应用版 Code Review(平均每次审查 $15–25)相比,两者的价格区间有重叠。不过 Code Review 是在每个 PR 上自动运行的另一套机制,数字的表述方式也不同(“平均”与“通常的区间”),无法直接比较。
耗时、范围与不可用的环境
- 耗时:通常5到10分钟。它在后台运行,可以用
/tasks查看进度或停止。中途停止不会返回部分结果。 - 范围:不带参数时,审查的是当前分支相对于仓库默认分支的差异,外加未提交和已暂存的修改。这和本地
/code-review的“领先于上游”基准不同。像/code-review ultra develop这样传入分支名,可以更改基准。 - 审查 PR:像
/code-review ultra 1234这样传入编号时,不会从你的电脑上传任何内容,而是由云端直接克隆该 PR。适用于 github.com 和已连接的 GitHub Enterprise Server。 - 上限:分支审查默认最多覆盖500个变更文件和8,000行变更(文档注明这些数值可能调整)。
- 不可用的环境:需要用 claude.ai 账号登录,无法通过 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 使用,启用了零数据保留(Zero Data Retention)的组织也不能用。不可用时,
/code-review ultra会作为本地审查运行。
分支审查会把本地仓库的状态打包上传到云端。.env、*.tfvars 等名称看起来像凭据的文件,其未提交的修改按照与上传到云端会话相同的规则处理。云端会话的整体机制,请参阅本站关于云端会话的文章。
把结果发布到 PR(--post)与从脚本运行
用 ultra 审查 github.com 上的 PR 时,可以以你自己的 GitHub 账号,把结果作为一条评论发布到 PR 上(v2.1.227 及以后)。这是一条普通评论,不是 review,也不是批准,默认不发布(--no-post)。/code-review ultra 1234 --post 会在启动对话框中预先选中“发布”,但开始前仍然需要你确认。发布在审查完成时才开始,所以要让会话一直开着,直到审查结束。
在 CI 或脚本中,请使用 claude ultrareview 子命令。它会等待结果并输出到标准输出(可用 --json、--timeout(默认45分钟)和 --post)。claude -p '/code-review ultra' 只会启动审查,不等待就退出,所以拿不到结果;需要用用量额度付费时,它甚至不会启动。
# 从脚本用 ultra 审查 PR 1234 并获取结果
claude ultrareview 1234
# 以默认分支以外的分支为基准
claude ultrareview origin/main
6. 与相似功能的区别
Claude Code 有好几个名字相近的审查功能。其中名为“Code Review”的 GitHub 应用功能和 /code-review 命令写在同一个文档页面里,尤其容易混淆。
| 比较项 | /code-review | /code-review ultra | /simplify | /security-review | Code Review(GitHub 应用) | claude-code-action |
|---|---|---|---|---|---|---|
| 用途 | 正确性 bug | 经验证的 bug | 仅代码整理 | 安全漏洞 | PR 的 bug 与回归 | 通用自动化 |
| 运行位置 | 你的电脑 | 云端 | 你的电脑 | 你的电脑 | Anthropic 的基础设施 | 你自己的 Actions |
| 对象 | 差异、PR、分支、路径 | 相对默认分支的差异、PR | 改动过的代码 | 相对 origin 默认分支的差异 | PR | 取决于工作流 |
| 修复 | 加 --fix 时应用 | 加 --fix 时应用 | 直接应用 | 文档未说明 | 不修复 | 取决于工作流 |
| 费用 | 计入常规用量 | 免费3次后 $5–25 | 文档未说明 | 文档未说明 | 平均 $15–25 | API 费用 + Actions 分钟数 |
| 可用对象 | 所有套餐 | claude.ai 账号 | 未注明限制 | 未注明限制 | Team / Enterprise | 由仓库管理员配置 |
/simplify:四个智能体并行检查是否复用了现有的辅助函数、能否简化、效率如何、改动的抽象层次是否合适,然后直接应用修复。它不找正确性 bug。Code Review 页面还建议,如果你曾在脚本里用/simplify来找 bug,应改用/code-review --fix。/security-review:检查当前分支与 origin 默认分支之间的差异,查找注入、认证问题、数据泄露等安全漏洞。需要有origin远程仓库。- Code Review(GitHub 应用):由组织的 Owner 启用后,每当 PR 被创建、每次推送或有人写下
@claude review时,Anthropic 基础设施上的多个智能体就会检查该 PR,并留下逐行评论。它是仅面向 Team 和 Enterprise 的研究预览(启用零数据保留的组织不可用)。费用随 token 数变化,平均每次审查 $15–25,平均耗时20分钟,从用量额度中计费,与套餐上限分开。可以用REVIEW.md调整它要指出的内容。 - claude-code-action:在你自己仓库的 GitHub Actions 工作流中运行 Claude Code。官方文档中的审查示例调用的是插件版
code-review技能(/code-review:code-review --comment),在 PR 上发表评论。费用是 Claude API 的价格(或订阅的 token)加上 GitHub Actions 的运行时间。
按“在哪里运行、由谁付费、看什么”来区分,就清楚多了。想在本地检查自己的差异,用 /code-review;想在合并前深入审查,用 ultra;想让团队的每个 PR 都自动审查,用 GitHub 应用版 Code Review 或 claude-code-action。
7. Claude 自行启动的情况与禁止方法
Claude 可能会自行启动 /code-review。如果你用自然语言请它审查改动,它可能不等你输入命令就运行这个技能;以 /code-review 为提示词的定时任务也会执行审查。不过,定时任务绝不会启动 ultra(云端审查)。ultra 只有在你亲自输入 /code-review ultra 时才会运行。
如果想禁止 Claude 和定时任务启动它,同时保留自己手动输入时的使用,可以在 ~/.claude/settings.json 等设置文件中加入以下内容:
{
"skillOverrides": {
"code-review": "user-invocable-only"
}
}
后台审查以子智能体的形式运行。子智能体如何处理上下文和模型,请参阅本站关于子智能体和智能体团队的文章。
8. 什么时候用哪个
官方文档的比较表中写道,本地 /code-review 最适合在反复修改时快速获得反馈,ultra 则适合在合并较大改动前求得把握。套用到日常工作流程中,大致如下:
各工作阶段该用哪个
来源:根据官方文档“Find bugs with ultrareview”中的 How ultrareview compares to /code-review 整理
1. 写代码时
用 /code-review low 或 medium,快速只抓把握大的问题。
2. 推送前
用 /code-review high 看得更广。需要修复时,先提交,再用 --fix。
3. 同事的 PR
用 /code-review high 1234 阅读,需要时用 --comment 把结果留在 PR 上。
4. 合并大改动前
先看预估费用,再运行 /code-review ultra。Pro 和 Max 的3次免费机会就留在这里用。
ultra 的3次免费机会不会重置,所以与其用在小修改上,不如留给影响范围大的改动,或者本地审查没能得出结论的改动。同样,想专注于安全漏洞时用 /security-review,想整理可读性而不是找 bug 时用 /simplify,按用途区分使用,这正是文档对它们的定位。
9. 在本站代码上实际试用
2026年10月2日,我对本站公开的 AI 图像检查工具的代码运行了 /code-review high。这个工具完全在浏览器内读取图像的元数据和来源信息(C2PA),审查对象是四个文件:界面逻辑、解析逻辑(Web Worker)、控制器和页面模板。运行环境是 Claude Code 桌面应用(内置 Claude Code 2.1.284,模型 Opus 5.5),时间点是我自己刚找过 bug 并修好5处之后。
运行一次的结果
来源:作者实测(2026年10月2日,/code-review high,4个对象文件)
指出的问题
10
确认为真实 bug
9
代码整理建议
1
每一条结果都写明了“哪个文件的哪一行”以及“什么输入会导致什么后果”。我把每一条都对照了该工具用来读取图像元数据的库(exifr)的源代码,以及我实际制作的测试图像,然后把确认属实的9条全部修好了。主要内容如下:
| 问题类型 | 具体内容 |
|---|---|
| 对库的错误假设 | 图像的注释字段(UserComment)、Windows 的注释字段和 WebP 的相机信息实际上都没有被读取(原因在于库的默认设置和它支持的格式) |
| 判定逻辑的漏洞 | 在某种组合下,作为素材使用的另一张图像的记录,可能被显示成可信机构的签名 |
| 卡住无法恢复 | 网络停滞时,加载库没有超时设置,会一直停在加载状态 |
| 并发处理 | 快速连续拖入图像时,两张图像的处理会同时进行,结果可能混在一起 |
| 大文件 | 对于较大的 PNG,还没读到写在末尾附近的数据就停止了读取 |
| 字符串处理 | 从图像中读出的字符串含有特殊字符时,显示的文字可能出错 |
也就是说,即使是在我自己刚检查并修复过之后,仍然残留着9个不同类型的 bug。尤其是关于假设(“这个库应该是这样工作的”)的问题,不读库的源代码很难发现。不过,这只是在一个代码库上运行一次的结果。它不一定每次都能以同样的比例找出真实 bug,我也没有与 low、medium、max 做比较,没有试用付费的 ultra。
10. 缺点与注意事项
结合实际使用和官方文档,需要注意的有以下五点:
- 会消耗用量。本地审查同样计入平时的 Claude 用量,级别越高消耗越多。ultra 方面,Pro 和 Max 用完3次免费机会后(Team 和 Enterprise 从一开始),每次大约要花 $5–25 的用量额度。
- 不要全盘接受结果。文档本身就说 high 及以上可能夹杂把握较小的问题。这次10条中有9条属实,但逐条核实仍然要花功夫。
--fix无法用/rewind撤销。后台做出的修改只能用 git 还原,所以使用前请先提交。- 只检查代码的正确性。它不检查文字或配置内容是否与事实相符。例如本站常见的“文章内容与官方规格不一致”这类问题,就不在它的检查范围内。
- Claude 可能自行启动它。如果不希望这样,可以用第7章的设置限定为只能手动运行。
我的感受是:写完新代码或做了较大改动后,用 high 运行一次,这种用法值得花费的精力和用量。反过来,它不适合文字修改或细小的配置变更。
总结
/code-review 是一个以正确性 bug 为重点,审查本地差异或 PR 的内置技能。它在后台运行,不会打断你的工作,费用也在常规用量之内。low 和 medium 只给出把握大的问题;high 到 max 覆盖面更广,但需要甄别结果;不指定级别时,沿用你上次输入的级别。
连修复也一并完成的 --fix 很方便,但后台的修改无法用 /rewind 撤销,所以先提交是稳妥的做法。想深入审查时,ultra 会在云端花大约5到10分钟,只返回经过验证的问题;Pro 和 Max 有一次性的3次免费机会,之后每次大约花费 $5–25 的用量额度。名字相近的 GitHub 应用版 Code Review 和 claude-code-action 是不同的东西,运行位置和费用都不一样。
我在本站代码上运行了一次,即使是在自己刚修复过之后,10条结果中仍有9条是真实的 bug。虽然需要逐条核实,但在写完新代码或做了较大改动后,非常值得运行一次。
FAQ
Q. /review 和 /code-review 有什么区别?
A. 现在两者相同。/review 是 /code-review 的别名,可以使用同样的级别和标志。据官方文档介绍,在 v2.1.223 之前,/review 是一条单独的只读命令,只对 GitHub PR 审查一遍。
Q. 使用 /code-review 需要额外付费吗?
A. low 到 max 不需要。在官方文档的比较表中,它的费用是计入常规用量。需要额外付费的是 ultra:Pro 和 Max 用完3次免费机会后,每次大约花费 $5–25 的用量额度。
Q. ultra 的3次免费机会每月重置吗?
A. 不会。官方文档说明,Pro 和 Max 的3次是每个账号一次性发放的,不会重置。中途停止或失败的审查也算一次。Team 和 Enterprise 没有免费次数。
Q. --fix 做出的修改能撤销吗?
A. 请用 git。在后台运行的审查所做的修改发生在检查点之外,/rewind 撤销不了。如果审查在前台运行(前一次审查仍在进行、-p 等情况),可以用 /rewind 还原。拿不准的话,使用 --fix 之前先提交。
Q. REVIEW.md 中的规则对 /code-review 有效吗?
A. 无效。本地 /code-review 遵循 CLAUDE.md,但不读 REVIEW.md。REVIEW.md 是 GitHub 应用版 Code Review 的指令文件。希望本地审查遵守的规则,请写进 CLAUDE.md。
参考来源
- Claude Code 官方文档:Code Review(含“Review a diff locally”一节)
- Claude Code 官方文档:Find bugs with ultrareview
- Claude Code 官方文档:Commands
- Claude Code 官方文档:Claude Code GitHub Actions
- Claude Code:CHANGELOG
所有来源均已于2026年10月2日对照原文确认。官方文档注明 ultrareview 是研究预览功能,其功能、价格和可用范围可能会有变化。