blog.dopana

Back

阿里巴巴不仅仅在内部使用 AI 代码审查——他们自己构建了工具,为数万名开发者提供服务,在两年生产运营中发现了数百万个代码缺陷,然后将其开源。

Open Code Review(open-code-review)是阿里巴巴的 AI 代码审查 CLI。它读取 Git diff,将更改的文件发送给可配置的 LLM 代理,并生成具有行级精度的结构化审查评论。与朴素的提示词包装器不同,它结合了确定性工程约束和动态 LLM 决策,以避免文件遗漏和行号漂移等经典陷阱。

Open Code Review 是什么?#

一款执行 AI 代码审查的 CLI 工具,提供:

  • 精确的行级审查 — 评论精确映射到文件路径和行范围
  • 工作区与分支审查(ocr review)— 暂存、未暂存和未跟踪的更改;ref 之间的 diff;或单个提交
  • 全文件扫描(ocr scan)— 无需 Git diff 即可审计整个仓库,非常适合陌生代码库和安全审计
  • 委派模式(ocr delegate)— 让外部 AI 编码代理使用自己的 LLM 审查,无需额外 API 密钥
  • 会话管理 — 列出、恢复和重放中断的审查会话
  • CI/CD 集成 — GitHub Actions 复合操作、GitLab CI、Gerrit 工作流

安装#

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

需要 Git ≥ 2.41 和 Node.js ≥ 14。也可通过 GitHub Releases 和容器运行器获取二进制文件。

配置#

ocr config provider # 选择内置提供商或自定义端点
ocr config model # 选择模型
bash

或使用环境变量:OCR_LLM_URLOCR_LLM_TOKENOCR_LLM_MODELOCR_USE_ANTHROPIC

工作原理#

Open Code Review 采用混合架构——确定性工程流水线加上动态 LLM 代理。

确定性工程(硬约束)#

  • 精确的文件选择与过滤 — 以编程方式确定哪些文件需要审查,过滤无关资源
  • 智能文件打包 — 将相关文件分组(头文件/实现、匹配的属性文件),为子代理提供连贯的上下文
  • 模板引擎规则匹配 — 基于文件路径应用严格的规则模式,而不仅仅依赖自然语言
  • 外部定位与反思 — 专用验证模块在输出前双重检查评论行位置和内容准确性

动态 LLM 代理#

  • 针对场景调整的提示模板
  • 从生产调用追踪数据中提炼的专用工具集
  • 动态上下文检索、代码搜索和缺陷推理

这种组合很重要:通用编码代理在大型变更集上往往存在文件覆盖不完整、位置漂移和质量不稳定的问题。Open Code Review 在达到或超过其精度的同时,仅消耗约 1/9 的 Token,并且运行更快。

CI/CD 集成#

GitHub Actions#

复合操作(action.yml)自动:

  1. 在拉取请求或评论事件时触发
  2. 检出仓库并计算合并基准
  3. 运行 ocr review
  4. 上传诊断产物(ocr-result.json
  5. 发布行内评论和置顶 PR 摘要

智能发布#

  • 增量评论 — 非破坏性,更新现有线程而不是刷屏
  • 置顶 PR 摘要 — 原地更新
  • 批处理 — 将大型审查拆分为顺序批次(例如每批 50 条评论),以尊重 GitHub API 速率限制
  • 严重性路由 — 将低严重性或样式类发现从行内评论转移到 PR 摘要

主要命令#

命令用途
ocr review审查工作区更改、ref 或提交
ocr scan审计整个仓库或目录(无需 diff)
ocr delegate将审查委托给外部 AI 编码代理
ocr session list列出、恢复或重放审查会话
ocr config配置 LLM 提供商和模型

使用场景#

CI 中的自动化 PR 审查 — 在 GitHub/GitLab 合并请求中自动捕获错误、安全漏洞和逻辑缺陷。

遗留代码与安全审计 — ocr scan 无需 diff 即可审查整个代码库的合规性和架构问题。

本地提交前检查 — 在推送前自我审查暂存或未暂存的更改。

企业代码标准 — 在大型多语言代码库中强制执行团队特定的审查规则。

对比#

方面Open Code Review通用编码代理静态分析(SonarQube、ESLint)
行精度✅ 精确⚠️ 漂移风险✅ 精确
语义理解✅ LLM✅ LLM❌ 模式匹配
Token 效率✅ 约 1/9❌ 冗长N/A
逻辑缺陷误报✅ 低⚠️ 不稳定❌ 高
全仓库审计ocr scan⚠️ 有限
隐私✅ 任意 LLM 端点视情况✅ 本地部署
许可证✅ Apache 2.0视情况视情况

为什么重要#

Open Code Review 是经过生产验证的 AI 工具开源的罕见案例:在发布之前,它已经帮助数万名开发者在数百万个缺陷上积累了实战经验。其混合架构——确定性流水线保证精度,LLM 代理保证语义理解——是构建可靠 AI 开发工具的设计蓝图。

而且它完全开源、隐私优先:可以接入任何 LLM 端点(包括本地托管的模型),让你的代码库完全私密。

参考资料#