阿里把内部用了两年的 AI 代码审查工具开源了——我跑了一遍 Open Code Review

简介: 阿里开源的 Open Code Review 是一款工程化 AI 代码审查工具,采用“确定性模块 + LLM Agent”混合架构,精准定位问题、严控误报率,支持 Git 差异审查与全量扫描,已落地服务数万开发者。周增星 4750,Apache-2.0 协议,轻量易集成。(239 字)

最近在处理一个老项目的 PR 时,我又遇到了那个经典困境:改动涉及十几个文件,Reviewer 没空细看,自己 review 自己的代码又越看越顺眼。我就想,能不能有一个工具,能像有经验的同事一样逐行看代码,还不用担心漏看。

然后在 GitHub Trending 上看到阿里开源的 open-code-review。介绍里写得很直接:源自阿里巴巴集团内部官方 AI 代码审查助手,服务过数万名开发者,识别过数百万个代码缺陷,现在开源出来。Go 写的,Apache-2.0 协议,周增 4750 Star,18k+ 总星。

我把它看了一遍,试着跑了几条命令。今天说说这个工具到底怎么样。


一、它不是又一个 Claude Code 插件

现在市面上用 Claude Code、Cursor 做代码审查的方案很多,但阿里的这个工具思路不一样。它不是把审查任务丢给一个通用 Agent 就完事,而是做了一个确定性工程 + LLM Agent 的混合架构

通用 Agent 审查代码时常见的问题:

  • 覆盖不全:改动文件多的时候,Agent 会偷懒,只看其中一部分
  • 位置漂移:指出的问题行号不准,评论贴不到正确的代码位置
  • 质量不稳定:换个提示词,审查质量就忽高忽低

Open Code Review 的解法是:能用工程保证正确的步骤,就不交给模型决定。


二、核心架构:确定性的部分硬控,不确定的交给 Agent

image.png

确定性工程负责什么

  1. 精确文件选择:自动判断哪些文件需要审、哪些该过滤,避免漏审
  2. 智能文件分束:把相关文件打包成一个审查单元。比如 message_en.propertiesmessage_zh.properties 会捆在一起审。大改动自动拆成多个子任务,支持并发
  3. 规则匹配:根据文件特征匹配审查规则,比如 Java 文件重点看 NPE、线程安全,Web 文件看 XSS、SQL 注入
  4. 评论定位模块:把模型生成的评论精确对应到代码行
  5. 评论反思模块:独立校验评论内容的准确性

LLM Agent 负责什么

  1. 动态决策:根据上下文决定要不要读取更多文件、要不要搜索代码库
  2. 动态上下文检索:读取完整文件内容、检索相关代码、对比多个改动文件
  3. 深度审查:给出具体、有上下文的缺陷描述

这套分工很明确:工程保证"不遗漏、位置准、规则对",Agent 负责"看得懂、说得清"。


三、一条命令跑起来的流程

安装很简单:

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

装完后 ocr 命令全局可用。然后配置模型:

ocr config provider   # 选内置 provider 或自定义
ocr config model      # 选模型,自动测连通性

支持 OpenAI、Anthropic 等兼容接口,也可以自己加自定义 provider。

三种主要用法

# 工作区模式:审所有 staged/unstaged/untracked 改动
ocr review

# 分支对比
ocr review --from main --to feature-branch

# 单个 commit
ocr review --commit abc123

我用分支对比试了一下,整个流程大概是这样的:

image.png

Git diff -> 文件选择 -> 文件分束 -> 规则匹配
                              |
                              v
                   每个 bundle 交给 LLM Agent
                              |
                              v
                   生成评论 -> 行级定位 -> 反思校验
                              |
                              v
                        输出结构化评论

实际跑下来,一个中等规模的 PR 大概 1-3 分钟能审完,比普通 Agent 快很多。


四、效果怎么样?看一组benchmark数据

Open Code Review 自己建了一个 benchmark:从 50 个流行开源仓库、200 个真实 PR、10 种编程语言里构造数据集,由 80 多位高级工程师标注了 1505 个真实问题。

和通用 Agent(Claude Code)对比:

指标 Open Code Review Claude Code
F1 更高 基准
Precision 显著更高 基准
Recall 略低 更高
耗时 更快 更慢
Token 消耗 约 1/9 基准

这个结果符合它的设计取舍:宁可漏报一点,也不要大量误报。 对于 CI 集成和大型团队来说,Precision 比 Recall 更重要——没人愿意在几十个假阳性里找真问题。


五、不止 diff 审查,还能全量扫描

除了审改动,ocr scan 可以审查整个仓库或指定目录的完整文件,不依赖 git diff:

ocr scan                          # 扫描整个仓库
ocr scan --path internal/agent    # 扫描指定目录
ocr scan --resume <session-id>   # 中断后恢复

这个适合两个场景:

  1. 接手老项目:没有改动也能扫一遍,快速发现历史遗留问题
  2. 关键目录审计:定期扫核心模块,比如支付、权限相关代码

六、怎么接到工作流里

CI/CD 集成

项目提供了 action.yml,可以直接在 GitHub Actions 里用:

- name: Open Code Review
  uses: alibaba/open-code-review@main
  with:
    provider: openai
    model: gpt-4o
    api-key: ${
   {
    secrets.OPENAI_API_KEY }}

也支持 GitLab CI、Gerrit、GitFlic CI。

编码助手集成

  • Claude Code:装插件后用 /review 类命令
  • Codex:插件化技能
  • Cursor:可移植 skill
  • OpenCode:原生工具和 slash 命令

还有一种委托模式(Delegation Mode):OCR 负责文件选择和规则匹配,但审查由你自己的编码助手执行。这样不需要给 OCR 配 LLM key。


七、内置规则库很实用

Open Code Review 自带多语言规则集,覆盖常见问题:

  • Java:NPE、线程安全、资源泄露
  • Web:XSS、SQL 注入、命令注入
  • Go:panic 处理、goroutine 泄漏、错误处理
  • Python:类型问题、异常处理

规则不是简单关键词匹配,而是结合文件特征和 AST 信息做筛选,再让模型聚焦看。这比"请帮我 review 一下"要靠谱得多。


八、我的判断

适合什么场景:

  • 中大型团队,PR 量大、Reviewer 时间有限
  • 想让 AI 先筛一遍常见缺陷,再由人确认
  • 有 CI/CD 流水线,想把代码审查自动化
  • 需要行级精确评论,而不是泛泛而谈

不太适合什么场景:

  • 小型项目,改动很少,人工 review 已经很快
  • 需要深度架构讨论,不只是找 bug
  • 对 Recall 要求极高、不能漏掉任何潜在问题

真实感受:

我最大的感受是它很工程化。不是炫技式的"AI 替代人类 review",而是把 review 流程拆成可控制的环节:文件别漏、评论别贴歪、规则要对口。这些看起来基础,但正是通用 Agent 最容易翻车的地方。

1/9 的 token 消耗也很关键。团队规模大了,LLM 审代码的费用不是小数目。用更少的 token 达到更高的 precision,这是能落地的方案。

不过它也有代价:Recall 比 Claude Code 低。如果你是需要"地毯式排查"的场景,可能还要配合其他工具。但对我来说,把最明显的缺陷先拦住,已经值回票价。


结语

阿里的 Open Code Review 给 AI 代码审查提供了一个更务实的路线:不是让模型自由发挥,而是用工程约束把流程框住,让模型只在真正需要判断的地方发力。

对于每天处理大量 PR 的团队来说,这种"稳定、可控、省钱"的工具,比听起来很酷的通用 Agent 更有价值。

目录
相关文章
|
23小时前
|
人工智能 负载均衡 API
一个端点接 290 家 AI 服务商--我拆解了周增 7700 Star 的 OmniRoute
OmniRoute 是一款 MIT 协议的本地 AI 网关(TS 编写),聚合 290+ 服务商、500+ 模型,提供 OpenAI 兼容接口。支持智能 Combo 路由、12 因子 auto 选模、三层弹性容错与 RTK 等 12 种 Token 压缩引擎,显著提升免费额度利用率与稳定性。(239 字)
39 1
|
23小时前
|
人工智能 Rust 开发工具
当 AI Agent 不再是 Bot,而是你的"同事"——我花两天拆解了 Block 开源的 Buzz
Buzz是Block开源的Rust协作平台,基于Nostr协议,首创“Agent即成员”范式:人类与AI Agent共用统一签名事件流,各自持独立密钥对,授权可验证、审计可追溯。架构极简——一张事件表承载聊天、代码、CI等全部操作,Git存储采用对象存储+CAS指针,支持高并发Agent协同。
23 1
|
23小时前
|
人工智能 程序员 Python
让 Claude Code 少说废话、直接给答案——我试了这个 5200 Star 的技能包
i-have-adhd 是一款开源AI编程助手“输出风格技能包”,专治AI回答啰嗦、废话多、行动指引模糊的痛点。它强制AI首句给动作、步骤编号、禁用客套话,让调试/编码指令清晰可执行。MIT协议,支持Claude Code、Cursor等主流工具,安装即用。(239字)
32 2
|
22小时前
|
人工智能 JavaScript Linux
让 Claude Code 用我已经登录的浏览器——ego-lite 这个设计太实用了
ego-lite是Citro Labs推出的AI浏览器,让Agent直接复用你的日常登录态,无需重复登录或绕过2FA。通过隔离Space实现任务隔离与状态共享,Snapshot技术将页面token降低99%,支持macOS,已获周增4700 Star。
31 1
|
22小时前
|
人工智能 Rust JavaScript
单会话 27.8 MB,比 Claude Code 省 13 倍内存——我试了 Rust 写的 jcode
jcode是Rust编写的轻量级AI编程Agent框架,单会话仅占27.8MB内存(比Claude Code省13倍),冷启动仅14ms。支持多会话并行、Swarm协作与可选本地embedding,专为内存受限设备(如8GB MacBook Air)优化,兼顾性能与灵活性。(239字)
35 3
|
2月前
|
人工智能 数据可视化 定位技术
CodeGraph vs Understand-Anything:一个给 Agent 查代码地图,一个把项目变成可追问图谱
CodeGraph 与 Understand-Anything 同解“代码迷路”之困:前者是面向编程 Agent 的本地索引工具,专注快速查询调用链、影响范围与上下文;后者是面向人与团队的交互式项目图谱,提供可视化架构、业务域导览与系统理解。二者互补而非替代——一重执行精度,一重认知全局。(239字)
495 1
CodeGraph vs Understand-Anything:一个给 Agent 查代码地图,一个把项目变成可追问图谱
|
2月前
|
人工智能 安全 前端开发
ECC 讲透:Claude Code 的全能增强包,不只是 Agents 和 Skills
Everything Claude Code(ECC)是2026年爆火的AI编程增强框架,非简单提示词合集,而是集Agents、Skills、Rules、Hooks、MCP与AgentShield安全扫描于一体的“AI编程操作系统”,深度优化Claude Code等Agent Harness,已获近19万Star。(239字)
384 2
ECC 讲透:Claude Code 的全能增强包,不只是 Agents 和 Skills
|
2月前
|
人工智能 安全 前端开发
10|Agent Harness 的未来:从代码助手到工程协作系统
AI编程正迈入第三阶段——Agent Harness:AI不再仅补全代码或回答问题,而是深度融入研发全流程——读仓库、改文件、跑测试、连工具、协作者。未来核心在于“可治理的工程协作”,而非单纯自动化。(239字)
224 8
|
2月前
|
人工智能 自然语言处理 调度
Matt Pocock 的 21个skill的仓库火了:本周的明星
mattpocock/skills 是一套面向AI编程代理的工程化技能库(当前稳定公开18个),将资深工程师的标准化工作流(需求建模→开发→工程管控→知识沉淀)转化为可按需加载、带资源依赖的模块化Skill,非普通Prompt,显著提升代码质量与协作效率。(239字)
550 0
|
2月前
|
人工智能 API 开发工具
Opencode必看!Spec-kit(SDD)让你AI编程事半功倍
本文介绍GitHub官方推出的Spec-Kit工具,它作为标准化软件设计文档(SDD)方案,深度适配OpenCode,解决AI编程中需求模糊、改动困难、质量不稳、版本混乱等痛点。5步即可上手:定原则、写需求、定方案、拆任务、自动生成代码,大幅提升AI编程效率与工程规范性。(239字)
470 1