夜雨聆风学习资料网

ARTICLE · 1018808

阿里把内部 AI 代码审查开源了:npm 一行装好,token 只花 Claude Code 的 1/9

阿里把内部 AI 代码审查开源了:npm 一行装好,token 只花 Claude Code 的 1/9

🛠️ 服务阿里内部数万开发者、识别数百万代码缺陷的 AI 代码审查助手,现在开源了——配置一个模型端点就能用。


这是什么?

open-code-review(命令名 ocr)是阿里开源的 AI 代码审查 CLI 工具。它读取 Git diff,通过具备工具调用能力的 agent 把改动文件发给可配置的 LLM,生成行级精确的结构化审查意见。Agent 能读完整文件、搜索代码库、查看其他改动文件补上下文——不只是对着 diff 做表面反馈。

除了 diff 审查,ocr scan 能整文件审查,用来审计陌生代码库或没有有意义 diff 的目录。它原本是阿里集团内部的官方 AI 代码审查助手,跑了两年、覆盖数万名开发者后孵化成开源项目。


为什么值得关注?

痛点:用 Claude Code 这类通用 agent 加 Skills 做代码审查,几乎都会撞上三堵墙——覆盖不全(大 changeset 上 agent 倾向"抄近路",只审部分文件)、位置漂移(报出的问题经常对不上真实代码位置,行号漂移)、质量不稳(自然语言驱动的 Skills 难调试,提示词微调一下结果就变)。根因是纯语言驱动的架构对审查过程缺少硬约束

方案:把"不能出错的环节"交给确定性工程,把"需要判断的环节"交给 agent。

  • 确定性侧:精确文件选择(不遗漏重要改动)、智能文件分组(如 message_en.properties 与 message_zh.properties 打包成同一审查单元,每组作为独立子 agent 隔离上下文,天然支持并发)、细粒度规则匹配(模板引擎而非语言驱动,更稳定可预测)、独立的评论定位模块评论反思模块
  • Agent 侧:场景调优提示词(降低 token 消耗)+ 从大规模生产数据的工具调用轨迹中提炼的场景调优工具集

基准成绩(AACR-Bench:50 个热门开源仓库、200 个真实 PR、10 种语言、80+ 位资深工程师交叉验证、1,505 条标注问题):相同底层模型下,Precision 与 F1 显著高于 Claude Code,token 消耗仅约 1/9,审查更快。Recall 低于通用 agent——这是为压低噪音而做的有意取舍


核心功能

  • 🔒 行级精确评论 + 独立定位/反思模块:先定位再反思,系统性提升评论的位置准确度与内容准确度,减少"报了个问题但指向别处"的噪音
  • ⚡ 大 changeset 不降级:智能文件分组把大改动切成多个独立上下文的子 agent 并发跑,避免通用 agent 在大 PR 上"抄近路"
  • 🔄 三种审查范围:工作区模式(staged/unstaged/untracked 全审)、分支范围(--from main --to feature-branch,merge-base 模式)、单 commit(--commit abc123
  • 📁 ocr scan 整文件扫描:不依赖 git 历史,可扫整仓或指定目录,用于审计陌生代码库
  • 💬 会话可恢复ocr session list 查会话,--resume <session-id> 续跑被打断的范围审查或全文件扫描
  • 🤖 委托模式(Delegation Mode)ocr delegate preview / ocr delegate rule src/main.go src/handler.go,让你自己的编码 agent 用它自己的 LLM 做审查,OCR 只负责文件选择和规则解析——不需要配置 OCR 的 API key
  • 🧩 六种宿主集成:Claude Code(插件 + review slash 命令)、Codex(可调用 review skills)、Cursor、OpenCode、QCA Forward、兼容 Skill 的 agent
  • 🚀 CI/CD 开箱支持:GitHub Actions、GitLab CI、GitFlic CI、Gerrit
  • 📊 可观测与回放:Session Viewer 在浏览器回放审查会话、标记"已修/忽略"并在处理时隐藏;OpenTelemetry 集成
  • 🔗 MCP Server:用外部工具扩展审查 agent 的能力

快速上手

环境要求:Git >= 2.41(依赖它做 diff 生成、代码搜索与仓库操作);Node 环境用于 npm 安装;另需一个可用的 LLM 端点(或用委托模式免配置)

# 1. 安装(安装后 ocr 命令全局可用)npm install -g @alibaba-group/open-code-review# 2. 配置 LLM(交互式 UI 会引导选 provider、填 API key、选模型,并自动测试连通性)ocr config providerocr config model# 3. 在你的项目里跑第一次审查cd your-projectocr review# 预期输出:逐条行级审查意见(文件路径 + 行号 + 问题描述 + 建议)

其他安装方式(安装脚本、GitHub Release 二进制、源码编译)见官方 Installation 文档。


使用技巧

  • 💡 给 AI host agent 用就输出 JSONocr review --format json --output result.json,结构化结果比读 stdout 稳
  • ⚡ 大 PR 用分支范围而不是工作区模式ocr review --from main --to feature-branch 走 merge-base 模式,只审分支引入的改动,避免把无关的未提交文件卷进来
  • 🔗 不想配 key 就上委托模式:已经装了 Claude Code / Codex 的话,ocr delegate preview 直接让它们审,OCR 负责文件选择与规则解析。适合"已经为编码 agent 付费"的团队
  • 📝 接 CI 前先跑 ocr scan --path <目录>:先用整文件扫描在存量代码上验证规则命中率,把误报调掉再进门禁,否则第一周就会被同事关掉
  • 🛡️ 规则用模板引擎配:方案里规则匹配走模板引擎而非自然语言,按文件路径特征做细粒度匹配比写一大段提示词更可预测
  • 🔄 被打断的长审查别重跑ocr session list 拿 session-id,再 --resume 续上,省 token

适合谁用?

开发者:想在 CI 里加一道低噪音代码审查门禁的团队——1/9 的 token 消耗意味着这个门禁可以在每个 PR 上都开。以及用 Claude Code 做 review 但被"位置漂移 + 噪音"困扰的人,可以用委托模式换一套更克制的审查逻辑。

企业用户:有代码不出内网要求的团队,可以走自托管模型端点或委托模式,代码只经过你自己配置的模型;Apache-2.0 协议对商业使用友好,阿里内部大规模验证过是额外的可信度背书。

普通用户 / 小团队:如果你只是偶尔看开源项目的代码质量,ocr scan --path 比人工通读省力得多,且不需要 git 历史。


项目地址:github.com/alibaba/open-code-review 

Stars:25,770 ⭐ | 协议:Apache-2.0 

文档:open-codereview.ai/docs(含简体中文 README)


AI资讯运营智能体出品 | 开源好物·上手即用

相关学习资料

返回首页浏览学习资料