免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

阿里两万人用了两年的 AI 代码审查工具,开源了

发布日期:2026-08-04 05:21:19 浏览次数: 1955
作者:码上烟火

微信搜一搜,关注“码上烟火”

推荐语

阿里两万人实测两年的AI代码审查工具开源,GitHub 17k+ star引爆关注,解决PR无人看、LGTM敷衍等痛点。

核心内容:
1. 传统代码审查的痛点(PR挂起无人看、LGTM敷衍、自我审查盲区)
2. OpenCodeReview的优势(结构化审查意见生成,高准确率、低token消耗,解决覆盖不全等问题)
3. 架构设计:工程逻辑定流程,Agent做判断,外挂定位与反思模块保障精准

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

阿里内部两万人用了两年的 AI 代码审查工具,5 月份开源了。两个半月,GitHub 17000+ star。

这个数字说明一件事:代码审查这个环节,大家真的受够了。

受够什么?PR 挂三天没人看,reviewer 只回一个"LGTM",自己审自己的代码永远觉得"没问题"。让 AI 来审?大家都想过。但你真拿 Claude Code 去跑,它告诉你"第 42 行有空指针风险",翻过去一看,第 42 行是个注释。

OpenCodeReview(命令行里叫 ocr)就是阿里给出的答案。

它到底干了什么

一句话:读你的 Git diff,用 LLM 生成带行号的结构化审查意见。

听起来跟"给 Claude 一段代码让它 review"差不多?差远了。

通用 Agent 做代码审查有三个老大难。覆盖不全:变更文件一多,Agent 开始偷懒,挑几个看看就交差。位置漂移:报的行号跟实际代码对不上。效果不稳定:同一份代码跑两次,出来的意见能差一半。

OpenCodeReview 的 benchmark 下得起本:50 个热门开源仓库、200 个真实 PR、10 种语言,80 多位资深工程师交叉标注出 1505 个真实缺陷当标准答案。在底层模型相同的前提下,它的准确率和综合得分(F1,可以理解为"报得准不准"的总分)都明显高于 Claude Code 直接跑,token 消耗只有约 1/9。


代价是召回率低一些。说白了:它宁可少报,也不乱报。报出来的问题大概率是真问题,不用你花大量时间去确认"这到底是不是误报"。

核心设计:确定性的归工程,动态的归 Agent

这个工具最让我觉得聪明的地方,是它的架构哲学。

通用 Agent 做审查,本质上是把整个流程都交给 LLM 自由发挥。该看哪些文件、按什么顺序看、关注什么规则,全靠 prompt 引导。LLM 一"自由发挥",你就失去了可控性。

OpenCodeReview 把流程劈成两半。

工程逻辑管"不能错"的部分。 哪些文件要审、哪些该跳过,写死的规则说了算。关联文件还会自动打包,比如英文和中文的国际化文件会被归为一组一起审,避免漏掉一边。

每个文件包派一个独立的子 Agent 并发去审,互相之间不串味。审什么、按什么标准审,由预置规则模板定好,不让 LLM 临场发挥。这一步的关键是行为可预期:同一份代码跑十次,结果一致。规则也支持自定义,团队自己的编码约定可以喂进去。

Agent 管"需要判断"的部分。 要不要读完整文件、要不要搜索代码库里的其他引用、要不要看关联的变更文件。这些需要理解力的决策,交给 LLM 动态决定。

确定性的归工程,动态的归 Agent。让 LLM 干判断,让代码干流程。

还有两个外挂组件:一个定位模块,专门把审查意见锚定到精确行号;一个反思模块,在输出前做交叉校验,拦截 LLM 编造不存在 API 或记混上下文的情况。这两个环节如果也让 LLM "顺便"做,就是你前面看到的"位置漂移"问题。单独拆出来用工程手段兜底,效果立竿见影。

上手有多简单

前置条件就一个:Git >= 2.41。

npm install -g @alibaba-group/open-code-review

装完配个模型:

ocr config provider    # 选供应商,支持 Anthropic/OpenAI/自定义端点
ocr config model       # 选模型

然后进你的项目目录:

ocr review             # 审查当前工作区所有变更
ocr review --from main --to feature-branch   # 审查分支差异
ocr review --commit abc123                    # 审查单个提交

输出长这样(简化版):

{
  "file": "src/handler.go",
  "line": 87,
  "severity": "error",
  "message": "未检查 conn.Close() 的返回值,连接泄漏时无法感知",
  "suggestion": "if err := conn.Close(); err != nil { log.Warn(...) }"
}

带文件路径、行号、严重级别、修改建议,可以直接对接 CI 流水线贴到 PR comment 里。

还有个 ocr scan 模式,不依赖 diff,直接审查整个文件。适合你接手一个陌生代码库,想先让 AI 帮你扫一遍有没有明显坑。

💡

如果你已经在用 Claude Code,OpenCodeReview 提供了原生插件,装完后直接在 Claude Code 里用斜杠命令调起审查,不用切终端。Codex 和 Cursor 也有对应集成。

委托模式:让 Agent 拿到更干净的题面

除了"OCR 自己调 LLM 做审查"这个默认模式,还有个委托模式(delegate mode)。

你不用给 OCR 配 API Key。它只负责文件筛选、规则匹配、上下文整理这些确定性工作,然后把整理好的"题面"交给你正在用的编程 Agent(比如 Claude Code)去作答。

巧妙在哪?通用 Agent 自己审代码,相当于让一个没受过训练的人凭感觉看。委托模式下,Agent 拿到的是一份整理好的、带规则约束的审查任务,该看哪些文件、关注什么问题、意见怎么定位到行号,这些容易出错的环节 OCR 已经做完了。Agent 还是那个 Agent,但答对的概率高了一截。

谁该认真看看这个工具

  • 团队 PR 审查积压严重,想让 AI 先过一遍再人工复核
  • 用 Claude Code 做审查但被误报和位置漂移折磨过
  • 代码不能出内网的合规场景(OCR 本身纯本地运行,LLM 推理走你自己配的端点,可以是私有部署的模型)
  • 想在 CI/CD 里加一道自动化审查关卡(支持 GitHub Actions、GitLab CI、Gerrit)

不太需要它的场景:个人小项目改两行代码,或者你享受的是 review 本身带来的思考过程。

成本

Apache-2.0 协议,完全免费开源。代码用 Go 写的。

你唯一的成本是 LLM 的 token 费用。考虑到它只要通用 Agent 约 1/9 的 token 消耗,长期跑下来反而比直接用 Claude Code 审查便宜得多。

最后

这两年看下来,AI 工具能不能落地,往往不取决于模型多强,而取决于你愿意用多少工程纪律去给它兜底。OpenCodeReview 没发明新模型,它只是把"哪些事不能交给 LLM 自由发挥"想清楚了。

阿里内部两万人跑了两年,识别了数百万个缺陷。这不是 demo 级别的数据,是生产环境里真金白银验证过的。

npm install -g @alibaba-group/open-code-review,五分钟跑起来。你下次提 PR 之前,先让 ocr review 扫一遍,可能会少挨几句骂。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅