阿里开源 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。