先说结论:个人和小团队用本地命令加一份 REVIEW.md 就能搭起来,不用买 Team 版。云端的 Code Review 只给 Team 和 Enterprise 套餐,但 Claude Code 自带的 /code-review 和 /security-review 在本地就能用,接第三方 API 也能跑。
我们用 AICodeWith 的 Key 实测了一遍:在一个故意埋了 3 个问题的小仓库里,/code-review 用 25 秒把 3 个问题都找了出来,还顺带指出测试没跟着改;/security-review 用 68 秒找到了其中的 SQL 注入。
官方团队怎么做代码审查
Claude Code 团队在官方博客《How the Claude Code team does code review》里讲了他们的流程。核心是分好几层检查,人只看风险高的地方:
| 环节 | 做法 | 能不能拦住合并 |
|---|---|---|
| 提 PR 之前先自验证 | 让 Claude 跑测试、构建、lint,把输出贴出来,而不是只说“做完了”;再让一个新上下文的子代理审一遍改动 | 这一步在本地完成 |
| 必过的 CI | lint、类型检查、多平台测试、构建,红了就不能合 | 能 |
| 每个 PR 都过 AI 审查 | 多个代理并行找 bug,再投票核对每条发现,按严重程度排序 | 有未处理的发现就不能合 |
| 安全审查 | 单独再过一遍安全检查 | 能,发现要么修掉,要么写明理由关掉 |
| 按风险决定几个人批 | 低风险(文档、文案、开关后面的新增功能):自动审查和安全检查都通过就行,不用人批;中风险(普通功能、缓存、自动更新、系统提示词):1 个人;高风险:2 个人 | 能 |
| 合并之后 | 合并队列在最新 main 上重跑检查,功能先放在开关后面内部试用,出问题快速回滚 | — |
官方还提到两个细节:风险等级由分类器根据改动内容判断,不是作者自己说了算;AI 的批准永远不能顶替需要人来批的名额。
个人和小团队不需要照搬全部。前三层(自验证、本地 AI 审查、安全审查)用下面的方法就能做到。
第一步:创建 API Key
在 AICodeWith 控制台创建一个 Key,后面配置 Claude Code 时要用。
第二步:配置第三方 API
把地址和 Key 写进 ~/.claude/settings.json 的 env 里,不用在终端里 export:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
"ANTHROPIC_AUTH_TOKEN": "sk-你的Key"
}
}
写进 settings.json 的好处是每次打开终端都生效,不会因为换了窗口就丢。更多配置方式见《Claude Code 如何接入第三方 API》。
第三步:确认版本
claude --version
版本要在 2.1.218 及以上。从这个版本起 /code-review 以子代理的方式运行,不会占用你当前对话的上下文。我们实测用的是 2.1.300。版本太旧就先升级:
claude update
第四步:在 CLAUDE.md 里写清楚怎么测试
审查时 Claude 会读项目根目录的 CLAUDE.md。把测试、构建、lint 的命令写进去,它就会自己跑一遍来验证,而不是靠猜:
# 项目说明
- 测试:python3 -m unittest
- 构建:无
- lint:python3 -m pyflakes .
实测里 /code-review 确实照着这里跑了测试,并在结果里写明“test_total 返回 5 而不是 6,测试不通过”。CLAUDE.md 的完整写法见《CLAUDE.md 写法指南》。
第五步:写 REVIEW.md
REVIEW.md 放在项目根目录,告诉审查者在这个仓库里什么才算问题。官方的建议是写短一点,写清楚“失败长什么样”,把反复出现的审查意见挪进去。
下面是可以直接复制的中文模板:
# 代码审查规则
## 什么算失败(必须报)
- 逻辑错误:结果算错、边界条件漏掉
- 安全问题:SQL 注入、命令注入、密钥写进代码
- 改了行为却没改测试
## 不要报
- 纯风格问题(命名、空行、引号),最多提 3 条
- tests/fixtures/ 目录和 *.lock 文件
## 证据要求
- 每条问题写清文件名和行号,说明怎么触发
- 没有证据的猜测不要写
四块各管一件事:
- 什么算失败:列出必须报的问题类型,审查者会优先找这些
- 限制挑刺数量:风格类意见设上限,免得重要问题被淹没
- 跳过的路径:测试数据、锁文件、生成的代码不用审
- 证据要求:要求写文件和行号、写怎么触发,方便你直接去改
实测时 /code-review 的结果里每条都带了 store.py:4 这样的位置和触发方式,还引用了 REVIEW.md 里“改了行为却没改测试”这一条。
第六步:本地跑 /code-review 和 /security-review
在要审查的分支上打开 Claude Code,输入:
/code-review
它会检查当前改动里的正确性问题。加上 --fix 可以让它直接改掉发现的问题;传 PR 编号(比如 /code-review high 1234)则审查那个 PR。
安全审查单独跑:
/security-review
它会对比当前分支和 origin 默认分支之间的差异,查注入、权限、数据泄露这类问题。所以仓库需要有 origin 远程仓库。
实测结果
我们建了一个小仓库,main 分支是正常代码,feature 分支故意改出 3 个问题:查询从参数化改成字符串拼接(SQL 注入)、求和循环从下标 1 开始(漏掉第一项)、折扣除以 10 而不是 100。
| 命令 | 耗时 | 结果 |
|---|---|---|
| /code-review | 25 秒 | 报了 6 条,埋的 3 个问题全部找到;另外指出折扣没有范围校验、新参数没有测试、手写循环不如直接用 sum() |
| /security-review | 68 秒 | 报了 1 条高危:store.py:4 的 SQL 注入,给出攻击输入示例和修复写法;两个计算错误不属于安全问题,没有报 |
两个命令都是一次跑通,没有报错。
两个命令分工不同:/code-review看代码对不对,/security-review只看安全。安全问题两边都可能报,计算错误只有/code-review会报,所以建议两个都跑。
第七步(可选):接 GitHub Action
想让每个 PR 自动审查,可以用官方的 Claude Code GitHub Action,安全审查也有开源的 security review GitHub Action。官方的建议是先在一个仓库上试,花几周把 REVIEW.md 调顺,再推广到其他仓库。
自动审查跑在 GitHub 上,Key 要存进仓库的 Secrets,不要写进工作流文件。
第八步:最多审 3 轮
官方团队踩过一个坑:反复让 AI 审同一个 PR,每轮总能再挑出点东西,有个 PR 一晚上被审了五十多轮。他们查下来,后面几轮报的大约 59% 是一开始就存在的旧代码,并不是新问题。
所以现在的规矩是:
- 最多 3 轮,3 轮还过不了,就回头想想思路是不是有问题
- 前几轮之后只审新改动,不再从头审整个 diff
- 发现一类问题就把同类的地方都改掉,不要只改那一行
- 已经报过的问题不重复报
个人用的时候也照这个来:第一轮跑完整的 /code-review,改完后让它只看新提交的部分。
常见问题
个人版能用云端的 Code Review 吗?
不能。云端的 Code Review for Claude Code 目前只在 Team 和 Enterprise 套餐上提供。个人和小团队用本地的 /code-review 和 /security-review,再配合 GitHub Action,能覆盖大部分需求。
/review 和 /code-review 有什么区别?
没有区别,/review 是 /code-review 的别名。
有一点要注意:如果你在项目里自己写了一个叫 code-review 的 Skill,它会替换掉/code-review,但/review仍然走自带的版本。自己写 Skill 的方法见《怎么创建自己的 Skill》。
用第三方 Key 会报什么错?
我们实测时遇到过一次:
Not logged in · Please run /login
原因是 ~/.claude/settings.json 不存在,Claude Code 没读到 Key。按第二步把 env 写进去就好了,不需要运行 /login。
另一个常见错误来自 /security-review:如果仓库没有 origin 远程仓库,它没法找到默认分支来对比,会报 ambiguous argument 之类的错误。先加上远程仓库:
git remote add origin 你的仓库地址
git fetch origin
审查用哪个模型好?
审查是找 bug 的活,模型越强越好。选模型可以参考《Claude Code 用哪个模型最好》;想省钱可以让子代理用便宜一点的模型,见《Claude Code 子代理配置 Haiku》。
还有哪些相关玩法?
- 装依赖前先查漏洞:《用 Claude Code 跑 npm audit》
- 让 AI 修真实 bug 并跑测试:《Codex 修真实 bug 并跑测试》
同类场景
想看更多用 AI 检查代码的实战做法,可以看 AI 代码审查 场景页。



