编程 阿里开源 ocr:确定性子流程 + Agent 混合的行级审查,token 约 Claude Code 的 1/9

2026-10-02 20:01:56

阿里开源 ocr:确定性子流程 + Agent 混合的行级审查,token 约 Claude Code 的 1/9

项目信息

Open Code Review(ocr)是阿里的 AI 代码审查 CLI 工具,源自阿里内部的官方 AI 代码审查助手,服务数万开发者两年、检出数百万缺陷后开源。配置一个模型 endpoint 即可使用。

  • GitHub:https://github.com/alibaba/open-code-review
  • 官网:https://open-codereview.ai
  • 文档:https://open-codereview.ai/docs
  • 基准数据集 AACR-Bench:Hugging Face

许可 Apache-2.0,Copyright 2026 Alibaba。

它解决什么问题

ocr 读 Git diff,通过一个带工具调用能力的 agent 把变更文件发给可配置的 LLM,生成结构化的行级审查评论。agent 能读完整文件内容、搜索代码库、检查其他变更文件作为上下文,产生深度审查,而不是只停留在 diff 表面的反馈。除 diff 审查外,ocr scan 可审查整个文件,用于审计陌生代码库或没有有意义 diff 的目录。

通用 agent + Skills 做代码审查有三个痛点:

  • 覆盖不全:大 changeset 上只挑部分文件审,漏文件。
  • 位置漂移:报的问题和实际代码位置对不上,行号、文件引用跑偏。
  • 质量不稳定:纯自然语言 Skills 难调试,质量随 prompt 微调波动。

根因是纯语言驱动架构缺乏对审查流程的硬约束。

核心设计:确定性子流程 × Agent 混合

确定性子流程承担硬约束,保证「绝不能出错」的步骤由工程逻辑而非模型保证:

  • 精确文件选择:决定哪些文件要审、哪些过滤,确保不漏重要变更。
  • 智能文件分组:把相关文件分为一个审查单元(如 message_en.properties 与 message_zh.properties 同组),每组作为 sub-agent 隔离上下文运行。分治法在大 changeset 上稳定,天然支持并发审查。
  • 细粒度规则匹配:按文件特征匹配审查规则,把模型注意力集中,从源头消除信息噪声。相比纯语言驱动的规则引导,模板引擎的规则匹配更稳定可预测。
  • 外部定位与反思模块:独立的评论定位与评论反思模块,系统提升 AI 反馈的位置准确度和内容准确度。

Agent 负责动态决策与动态上下文检索:

  • 场景调优 prompt:为代码审查深度优化的模板,提升效果同时降低 token 消耗。
  • 场景调优工具集:从大规模生产数据的工具调用轨迹分析中提炼(调用频率分布、每工具重复率、新工具对整体调用链的影响),比通用 agent 工具集更稳定可预测。

内置多语言规则集覆盖 NPE、线程安全、XSS、SQL 注入。兼容 OpenAI 与 Anthropic。

基准与取舍

对比通用 agent(Claude Code):在相同底层模型下,Open Code Review 的 Precision 和 F1 明显更高,token 只消耗约 1/9,完成更快。它的 Recall 低于通用 agent——这是刻意以精度换噪声的取舍。

基准构成:50 个流行开源仓库、200 个真实 PR、10 种编程语言,80+ 资深工程师交叉验证,共 1505 条标注 ground-truth 问题。指标包括 F1(精确率与召回率的调和平均)、Precision(报告问题中真缺陷占比)、Recall(真缺陷被找到的比例)、Avg Time、Avg Token。

安装与快速开始

前置条件:Git >= 2.41(依赖 Git 做 diff 生成、代码搜索与仓库操作)。

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

安装后全局可用 ocr 命令。

配置 LLM(除非用 Delegation Mode):

ocr config provider   # 选内置 provider 或自定义
ocr config model      # 为当前 provider 选模型

交互 UI 会引导选 provider、填 API key、配模型,然后自动测连通性。

审查:

cd your-project
ocr review                                  # 工作区模式,审所有 staged/unstaged/untracked 变更
ocr review --from main --to feature-branch  # 分支范围,审 feature-branch 自 main 分叉以来的变更(merge-base 模式)
ocr review --commit abc123                  # 单个 commit

ocr session list                            # 恢复被中断的范围/commit 审查
ocr review --from main --to feature-branch --resume

ocr scan                                    # 全文件扫描(不需要 git 历史)
ocr scan --path internal/agent              # 扫目录或指定文件
ocr scan --resume               # 恢复被中断的全文件扫描

ocr review --format json --output result.json   # 保存结果到文件(推荐给 AI host agent)

ocr delegate preview                        # Delegation 模式:让 AI 编码 agent 自己审查,OCR 只管选文件与解析规则,无需配 LLM
ocr delegate rule src/main.go src/handler.go

其他安装方式:install 脚本、GitHub Release 二进制、从源码构建。

集成与文档

文档位于 open-codereview.ai/docs,包含:

  • Quickstart、Installation(各平台与包管理器)
  • CLI Reference(每条命令与 flag)
  • Review Rules(路径过滤与定向自定义规则)
  • Configuration(配置键与环境变量)
  • MCP Server(用外部工具扩展审查 agent)
  • Coding Agent Integrations(Claude Code / Codex / Cursor / Kimi Code / OpenCode / Skill-compatible agents)
  • Review Execution Modes:默认 OCR-managed 用 OCR 配的 LLM;Delegation 用你编码 agent 自己的 LLM,无需 OCR API key
  • CI/CD Integration(GitHub Actions、GitLab CI、GitFlic CI、Gerrit)
  • Session Viewer(浏览器里浏览/回放审查会话,把评论标记为 fixed/ignored)
  • Telemetry(OpenTelemetry 集成)

许可

Apache-2.0。

复制全文 生成海报 代码审查 AI编程 CLI工具 Go 开源

推荐文章

程序员茄子在线接单