ARTICLE · 1061699
阿里把内部AI代码审查工具开源了,GitHub已获3.9万星
↓↓ 关注我,用技术武装大脑,用认知撬动财富 ↓↓

过去两天,我连续发了两篇文章。
阅读量都是0。
所以今天不再讲抽象的AI方法,也不继续分析公众号为什么没人看。我去GitHub找了一个正在快速升温的开源项目,想测试一个更具体的方向:直接拆产品、讲功能、算价值。
最后选中的是阿里开源的OpenCodeReview。
项目地址:https://github.com/alibaba/open-code-review
截至2026年9月22日,这个项目在GitHub上已经获得约3.96万颗星、2800次Fork。第三方趋势跟踪数据还显示,它是9月增长最快的AI项目之一。
光看名字,它像是又一个“让大模型帮你检查代码”的工具。
真正让我感兴趣的是,它没有把全部希望押在一句更长的提示词上,而是把传统工程规则和AI Agent组合在了一起。
这可能比星标数字更值得研究。
一、它到底解决什么问题?
代码审查是软件开发中很重要、也很容易被压缩的一环。
程序员提交一段修改后,通常需要另一个人检查:有没有空指针、线程安全问题、SQL注入、遗漏的异常处理,改动是否影响了其他模块。
大团队可以安排同事Review。一个人做产品时,审查者往往还是自己。
问题也由此出现:刚写完的代码看起来最顺眼,自己很难马上发现自己的假设和盲区。项目一赶进度,Review常常变成“看一下差异,能跑就合并”。
OpenCodeReview做的事情很直接:读取Git代码差异,把发生变化的文件交给可配置的大模型,再生成定位到具体代码行的审查意见。
它不只看眼前几行Diff。项目介绍显示,Agent可以读取完整文件、搜索代码库、查看其他改动文件来补充上下文。除了审查本次修改,还能使用ocr scan扫描整个文件或目录,适合接手陌生项目时做一次全面检查。
简单理解,它像一个专门负责代码审查的AI同事。
但它和普通聊天机器人的区别,恰恰在“专门”两个字。
二、为什么不直接把代码扔给通用AI?
现在的编程Agent已经能读项目、改代码、运行测试。为什么还需要一个单独的代码审查工具?
OpenCodeReview在项目说明中列出了通用Agent做Review时常见的三个问题:
• 改动较大时只检查部分文件,覆盖不完整; • 评论对应的行号发生偏移,问题找到了,位置却不准确; • 提示词稍微变化,输出质量就明显波动。
这些问题背后有同一个原因:如果整个流程都靠自然语言驱动,模型可以灵活决定,也可能灵活地漏掉步骤。
OpenCodeReview采用的是混合架构。
必须稳定的部分交给确定性程序。例如生成Diff、选择文件、匹配审查规则、定位评论位置,这些步骤用工程逻辑约束,不能让模型自由发挥。

需要理解上下文的部分再交给Agent。例如判断一段改动可能影响哪里、是否需要搜索相关函数、该调用什么工具补充信息。
这套思路不新奇,却很实用:程序保证流程不走样,大模型负责处理无法提前写死的判断。
很多AI产品的问题并不是模型能力不够,而是产品把本该由软件保证的事情也交给了模型。
三、官方测试很好看,但要看清口径
项目公布了一套名为AACR-Bench的代码审查测试集,包含50个流行开源项目、200个真实Pull Request、10种编程语言,以及由80多名资深工程师交叉验证的1505个问题标注。
按照项目方的测试结果,在使用相同底层模型时,OpenCodeReview相较通用编程Agent获得了更高的准确率和F1,同时只消耗大约九分之一的Token,完成速度也更快。
这组数字很吸引人,尤其是Token消耗。代码库越大,模型读取上下文的成本越高。如果工具能提前筛选文件和规则,确实可能减少无效输入。
但这里需要保持谨慎。
第一,测试由项目方发布,不应直接当作所有项目中的普遍结果。你的语言、代码结构、模型和审查规则都会影响效果。
第二,项目方明确承认它的召回率低于通用Agent。这是主动做出的取舍:少报一些问题,换取更少的误报。
换句话说,它更希望每条提示都值得程序员处理,但不能保证发现全部缺陷。
这也决定了它的正确位置:辅助审查,不是自动批准合并。
四、普通开发者怎么用?
它首先是一个命令行工具,前置要求是Git 2.41或更高版本。
通过npm完成全局安装后,会获得一个ocr命令。接着选择模型提供商、填写API密钥并选择模型,就可以进入项目目录检查当前工作区、某个分支范围或单次提交。
如果已经在使用Codex、Claude Code、Cursor、Kimi Code或OpenCode,项目也提供了对应的插件或Skill集成。它还能进入GitHub Actions、GitLab CI、Gerrit等持续集成流程。
适合先尝试它的人主要有三类。
1. 一个人维护产品的独立开发者
没有同事做第二遍检查,可以在提交前先跑一次Review,把明显问题挡在发布之前。
2. 人少、改动多的小团队
AI先处理格式化、常见漏洞和基础规则,人工把精力留给业务逻辑、架构和需求理解。
3. 刚接手旧项目的人
面对陌生代码库时,整文件扫描和代码搜索能力可以帮助发现高风险区域。不过,扫描结果仍需要结合运行环境、测试和历史背景判断。
对于只偶尔写几段脚本的人,它未必是必装工具。配置模型、规则和审查流程也有成本,项目越小,这部分成本越难摊薄。
五、开源免费,不等于使用没有成本
OpenCodeReview采用Apache-2.0许可证,代码本身可以免费使用和修改。
真正使用时,仍有三笔账要算。
第一笔是模型费用。
默认模式需要配置大模型服务,审查会产生Token消耗。项目支持兼容OpenAI和Anthropic协议的服务,也提供由现有编程Agent执行模型部分的Delegation Mode,但“不开项目API密钥”不代表底层模型完全免费。
第二笔是代码隐私。
工具会把代码上下文发送给所配置的模型端点。公司私有仓库、客户代码、密钥和商业逻辑能否发送,取决于组织政策以及模型服务的数据处理方式。安装之前先确定代码会去哪里,比选哪个模型更重要。
第三笔是误判成本。
AI给出的建议需要人确认。误报太多,团队会逐渐忽略所有提醒;漏报关键问题,又会产生虚假的安全感。最好的做法是从一个小项目或一类规则开始,记录哪些建议被采纳、哪些被忽略,再决定是否接入合并流程。
六、它走红给AI产品什么启发?
过去两年,很多AI产品都在争夺同一个入口:做一个更万能的对话框。
OpenCodeReview选择了另一条路。它不需要回答所有问题,只需要把“代码变更之后、合并之前”这一小段工作做得更稳。
这种垂直工具有三个特点:
• 输入明确,是代码差异和项目上下文; • 输出明确,是可以定位和处理的审查意见; • 价值可以衡量,例如发现多少有效问题、产生多少误报、花费多少时间和Token。
这对独立开发者也有启发。
做AI产品时,不一定要从“我能接入哪个最新模型”开始。可以先观察一条具体工作流:哪个环节高频、费时间、已有规则,却仍需要少量判断?
然后把规则交给程序,把变化交给模型,把最终责任留给人。
这比套一个聊天界面,更接近真正的产品。
七、我对这个项目的判断
OpenCodeReview值得关注,但不值得神化。
它最有价值的部分不是“AI会检查代码”,而是用工程约束解决通用Agent不稳定的问题。它公开了测试集和评价口径,也坦白用较低召回率换取更高准确率,这比只展示几个成功案例更可信。
它的限制也很清楚:需要模型、需要配置、需要处理代码隐私,还需要开发者判断每一条建议。
如果你是独立开发者或小团队,可以找一个非核心项目先跑几次,重点观察三件事:它发现了多少真实问题、你忽略了多少评论、一次审查实际花了多少钱。
星标说明很多人对这个问题感兴趣。
能不能进入日常开发流程,要看它是否真正减少了缺陷,而不是又增加了一批需要处理的AI输出。
这也是我今天选择写它的原因。
一个热门开源项目真正值得拆解的,不只是它有多少星,而是它抓住了哪一个具体问题,又用什么产品方法把AI变成了可用工具。