乐于分享
好东西不私藏

阿里内部用了2年的AI代码审查工具今天开源:Token消耗仅Claude Code的1/9,精准度还更高

阿里内部用了2年的AI代码审查工具今天开源:Token消耗仅Claude Code的1/9,精准度还更高

如果你用Claude Code写过代码审查的Skill,大概率遇到过这些痛:文件多了它漏审、评论标注的位置根本对不上、稍微改一下提示词审查质量就崩了

这不是你的问题。是通用Agent的根本局限——纯靠自然语言驱动,没有硬约束,行为不可控。

阿里巴巴今天把内部用了两年的AI代码审查工具 Open Code Review(OCR)正式开源了。14,500+ Star,Apache 2.0许可证,npm一行安装。它解决的问题和Claude Code审查方案完全一样——但用了一套完全不同的架构:确定性工程管线锁死所有必须正确的事,Agent只负责动态决策的部分

结果:在80位资深工程师标注验证的200个真实PR基准上,OCR的F1得分显著高于Claude Code审查,Token消耗只有1/9,审查速度更快

一、通用Agent做代码审查,为什么总翻车

很多程序员用Claude Code写一个审查Skill,希望它在PR时自动review。想法是好的,但越用越会发现三个系统性问题:

1. 漏审——大变更时选择性跳过

General-purpose agent在面对超过10个文件或1000行变更时,倾向于"抄近道"——它自己偷偷决定哪些文件重要、哪些不重要。你提交了20个修改文件,它可能只审了12个。不审的那8个它不告诉你,代码通过了审查但bug还躺在那里

2. 位置漂移——评论标注的位置是错的

这是最坑的:Agent生成了一条审查意见"第87行可能存在空指针异常",但实际代码是第156行才有这个风险,第87行完全无关。审查意见看起来专业,但位置是错的。80位工程师在标注基准数据时发现,通用Agent的位置漂移问题非常频繁——这直接导致审查意见不可信。

3. 质量波动——改一行提示词结果天差地别

今天加一句"请严格检查安全性",明天发现它开始漏审性能优化。纯靠自然语言驱动的审查,质量对提示词的微小变化极其敏感,debug审查质量比debug业务代码还累。

二、OCR的解法:确定性工程×Agent混合架构

OCR的核心思想是:用确定性代码锁死所有必须不出错的步骤,只在真正需要动态决策的地方用LLM

这套架构分成两大块:

🔒 确定性工程(负责硬约束)

精准文件筛选:五重门过滤链确保每一个需要审查的文件都不会被遗漏——二进制→exclude→include→extension→path。不是Agent"觉得"要不要审,而是代码逻辑"判定"要不要审。

智能文件打包:把关联文件归并为同一审查单元。比如 message_en.properties 和 message_zh.properties 天然应该一起审——OCR自动识别这种关联,打包成一个sub-agent任务,上下文隔离、天然支持并发。

模板引擎规则匹配:不同文件类型匹配不同审查规则——Java审查NPE和线程安全,JS审查XSS和原型污染,SQL审查注入。这个匹配由代码完成,不是LLM"觉得该审什么"。

独立定位+反思模块:评论生成后,一个独立的定位组件用滑动窗口算法匹配到精确代码行。匹配失败时回退到宽松策略二次定位。然后LLM反思过滤低质量评论,再重新定位。

🧠 Agent(负责动态决策)

场景化提示词:针对代码审查深度优化的prompt模板,不是通用的"请帮我审查代码"。

场景化工具集:基于大规模生产数据中工具调用轨迹的分析,沉淀了6个专属工具——code_search、file_read_diff、file_find、file_read、code_comment、task_done。不做通用的事,只做审查需要的。

三、和Claude Code的benchmark硬碰硬

OCR团队没有自说自话。他们从50个热门开源仓库中精选了200个真实PR,覆盖10种编程语言,让80多位资深工程师交叉标注验证了1,505个缺陷,作为基准数据。然后在这个基准上跑OCR vs Claude Code。

指标OCRClaude Code(通用Agent)差距
Precision(准确率)显著更高较低告警更少误报
F1显著更高较低综合效果更好
Recall(召回率)略低较高有意取舍:宁漏勿噪
Token消耗~1/99倍成本差近一个数量级
审查速度更快较慢CI管线等待更短
默认并发8并发不支持大PR也能快速审完

F1比通用Agent高,Token只花1/9——这不是某家厂商的市场话术,是80位工程师拿1505个真实缺陷测出来的。确定性工程管线省掉了大量"Agent自己琢磨要审什么"的Token消耗。通用Agent每次调用要加载完整的系统提示词+说明+上下文,OCR把"审什么"提前算好了,Agent只需要"怎么审"。

而且8并发sub-agent是个被低估的生产力倍数——一个大PR动辄15-20个文件,OCR把这20个文件分成20个sub-agent并行跑,100秒就能审完一轮。Claude Code只能串行,同样的工作要10分钟+。

关于Recall略低——OCR官方明确说这是有意设计取舍。宁愿漏掉几个边缘case,也不让100条噪声评论把开发者淹没。计划H2 2026推出"Ultra Mode"高召回模式。这个诚实程度反而让人信任——他们在基准上赢了就是赢了,输了就是输了,不会把头埋在沙子里。

四、一行命令安装,5分钟配完

OCR是个CLI工具,安装极简:

安装
npm install -g @alibaba-group/open-code-review
# 或者二进制直接下载
curl -fsSL https://raw.githubusercontent.com/alibaba/open-code-review/main/install.sh | sh
配置模型(任选一个)
ocr config provider    # 选 provider:anthropic / openai / deepseek / kimi / dashscope ...
ocr config model       # 选具体模型
ocr llm test           # 测试连通性
四种审查模式
ocr review                          # 工作区模式:审查所有变更
ocr review --from main --to feat     # 分支区间:两个ref对比
ocr review --commit abc123           # 单commit审查
ocr scan                            # 全文件扫描:审计不熟悉的代码库

内置14个Provider(Claude/OpenAI/DeepSeek/Kimi/通义千问/GLM/火山引擎/百度千帆/小米Mimo……),也支持自定义Provider和Ollama本地模型。如果你已经用了Claude Code或Codex或Cursor,OCR还提供了委托模式——不额外配置LLM,让宿主编码Agent用自己的模型执行审查。零额外API费用。

CI/CD也开箱即用:GitHub Actions和GitLab CI都有现成workflow,审查结果以行级精度回贴到PR/MR,和人工review的格式一模一样。还有个VSCode扩展可以在编辑器内一键触发审查。

五、一个程序员的视角:这件事的意义

OCR开源最让我兴奋的不是14.5k Star,不是阿里品牌,甚至不是1/9的Token节约——是它展示了一个趋势:专用工具开始替代通用Agent的Skill

过去半年大家都在写Claude Code的Skill:代码审查Skill、测试生成Skill、文档生成Skill。但Skill的本质还是"给通用Agent一个更长的提示词",通用Agent的根本局限(不可控、位置漂移、质量波动)一个都没解决。

OCR的思路完全相反:不是优化提示词,而是把"不可控"的部分从Agent手里拿走,用确定性代码替代。文件要不要审?代码算。规则怎么匹配?模板引擎算。评论位置在哪?滑动窗口算。Agent只负责真正需要AI的地方:理解代码语义、判断是否存在风险。

这种"该工程的地方不要迷信AI"的思路,和OCR在阿里内部跑了两年、识别了数百万个缺陷的经验密切相关——生产环境不是demo,不能接受"有时候漏审8个文件"

我大胆预测:未来6个月,我们会在测试生成、API文档、安全扫描等每个垂直领域看到类似OCR的"专用审查管线"出现。通用Agent做Skill的思路,会被确定性工程×Agent混合架构全面替代。

六、诚实短板:OCR不是什么都能做

开源项目最可贵的品质是诚实。OCR官方明确列出了自己的局限:

  • Recall偏低——以精准度换低噪声,会漏掉一些真缺陷。计划Q4推Ultra Mode
  • 无跨文件推理——每个文件在独立sub-agent中审查,跨文件问题只能通过工具调用间接感知
  • 不支持自动修复——只发现问题,代码变更始终需要人工批准
  • 大文件直接跳过——单文件diff超过约47K token时直接跳过(约占极端案例的<1%)
  • 依赖LLM质量——本地模型需原生支持工具调用
  • JetBrains IDE插件未推出——计划H2 2026

但这些"不完美"恰恰让它更可信。一个敢说自己"Recall低了""有些文件会跳过"的开源项目,比那些"我们什么都最好"的宣传页要值得信赖得多。


安装地址:github.com/alibaba/open-code-review(npm install -g @alibaba-group/open-code-review)

官网/文档:open-codereview.ai/docs

你们团队现在用什么做代码审查?试过AI辅助review的觉得效果怎么样?欢迎在评论区分享经验。