阿里开源的AI代码审查工具,采用确定性工程流水线与LLM混合架构,token消耗降至通用Agent的1/9,Apache 2.0协议已在内部服务数万工程师。
用通用 Agent 做代码审查的问题不在于它们会漏掉 Bug,而在于它们不知道该读哪些文件、在行号上漂移,而且消耗的 Token 是前者的 9 倍。
这是"每日开源项目"系列的第 145 篇。今天要介绍的项目是 Open Code Review——阿里巴巴将其内部 AI 代码审查工具开源,2026 年发布前已在内部服务数万名工程师,累计发现"数百万个代码缺陷"。
用 LLM 做代码审查的工具并不少见,但大多数只是把 diff 丢给模型然后等输出。Open Code Review 从不同的起点出发:混合架构中,确定性工程流水线处理那些绝不能出错的事情(文件选择、行定位、规则匹配),而 LLM Agent 只处理真正需要动态判断的部分。结果:使用相同的底层模型,更高的精确率和 F1,Token 消耗约为通用 Agent 的九分之一。
18,100 Star,1,200 Fork,Apache 2.0。
混合架构设计理念:为什么要区分"确定性"与"Agent"
ocr review(增量 diff 审查)vs ocr scan(全文审计)
Delegation 模式:你现有的 Agent 驱动审查,无需 OCR API Key
与 Claude Code(通用 Agent 模式)的基准测试数据对比
GitHub Actions 集成与三个 SLA 审查级别
AI 生成代码特有的缺陷模式
熟悉 Git 工作流(branch、diff、PR)
理解 CI/CD 概念
有 Claude Code 或类似 AI 编码工具的使用经验会有帮助
Open Code Review 并非为开源而专门打造——它是阿里巴巴生产运行中的内部系统对外发布。这个区别很重要:它的设计决策来自真实的大规模运营经验,而非从第一性原理出发的推测。
开源之前,这套内部系统:
服务了数万名工程师
累计发现数百万个代码缺陷
处理过生产级代码库的真实复杂性
直接将 diff 扔给 Claude Code 或 GPT 做代码审查存在系统性弱点:
根本原因:通用 Agent 将所有决策都交给 LLM 以换取灵活性,其中包括确定性代码本可以精确处理的决策。
Open Code Review 的设计哲学:让确定性的事情确定性处理;让 Agent 只处理真正需要动态判断的部分。
Git changes
↓
[Deterministic Layer]
├── Precise file selection (no misses, no extras)
├── Smart bundle grouping (related files → isolated sub-agent contexts)
├── Template engine rule matching (NPE, thread safety, XSS, SQL injection)
└── External positioning + reflection modules (accurate line-level placement)
↓
[Agent Layer]
├── Scenario-tuned prompts and toolsets
├── Optimized from analysis of production tool-call traces
└── Dynamic context retrieval and tool calls
↓
Code review output (precise line-level comments)
确定性层负责:
从 Git 变更中精确选取正确的文件——无遗漏、无噪音
将相关文件分组为 Bundle,每个 Bundle 在独立子 Agent 上下文中处理(分而治之)
通过模板引擎匹配常见缺陷规则,而不是每次都让 LLM 从头推理
确保评论行号准确,无位置漂移
通过大规模分析生产工具调用轨迹来调优 Prompts 和工具集
真正需要推理的复杂跨文件分析
最终效果:更高的精确率(确定性层消除了 LLM 在结构层面的随机性),更低的 Token 用量(Agent 只处理真正困难的部分)。
Open Code Review 团队从以下数据构建基准测试:
50 个开源仓库
10 种编程语言
1,505 个标注问题(由 80 多名工程师人工标注)
使用相同底层模型与 Claude Code(通用 Agent 模式)对比:
关于召回率的权衡:Open Code Review 有意设计为比通用 Agent 更低的召回率。这不是缺陷——这是选择。在 CI/CD Gate 场景中,更少的误报和更高的精确率比全面覆盖更有价值。阻塞 PR 的噪音比任何真正的 Bug 更快地导致审查疲劳。
Token 差异在实践中的意义:对于 100 个 PR,Open Code Review 消耗的 Token 约为通用 Agent 的 11%。在每个 PR 都会触发审查的 CI/CD 场景中,这决定了该工具是否具有财务可行性。九比一的成本差异完全改变了计算方式。
审查 Git diff——暂存区变更、未暂存变更、分支范围或单个提交:
# Review current working tree changes (staged + unstaged)
ocr review
# Review a branch range
ocr review --from main --to feature/new-auth
# Review a single commit
ocr review --commit abc1234
# Output formats
ocr review --output json
ocr review --output sarif # importable into GitHub Security
无需 Git 历史——直接审查文件内容:
# Audit a directory
ocr scan --path internal/
# Audit a single file
ocr scan --path src/auth/handler.go
# Generate HTML report
ocr scan --path src/ --output html
适用场景:继承代码库的安全审计、无 Git 历史的遗留代码质量评估、无仓库上下文的代码片段审查。
这是 Open Code Review 最有意思的设计选择之一。
标准模式:OCR 的 Agent 层使用你配置的 LLM API(需要 Anthropic/OpenAI Key)来运行审查。
Delegation 模式:OCR 只处理确定性层(文件选择、Bundle 分组、规则解析),然后将审查任务委托给你现有的 Agent(Claude Code、Codex、Cursor 等),使用该 Agent 自己的 LLM。
# Preview the delegation plan (see how OCR intends to split the task)
ocr delegate preview
# Generate rule descriptions for specific files for the agent to review
ocr delegate rule src/main.go src/handler.go
你已有的 Claude Code 订阅或 API Key——无需单独的 OCR Key
OCR 的确定性层处理文件选择和规则解析;你的 Agent 专注于理解和判断
无需切换工具即可接入现有 Agent 工作流
三十秒完成配置。每个 PR 自动触发审查:
name: AI Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: raye-deng/open-code-review@v1
with:
sla: L2 # Review depth: L1 / L2 / L3
threshold: 60 # Fail if quality score drops below 60
github-token: ${{ secrets.GITHUB_TOKEN }}
Open Code Review 在 GitHub Marketplace 上定位为"首个专为 AI 生成代码构建的开源 CI/CD 质量 Gate"——检测传统 Linter 完全无法发现的 LLM 输出中常见缺陷模式:
这些问题在 AI 生成代码中出现的频率显著高于人类代码——标准 Linter 没有针对它们进行检查。
支持语言:TypeScript/JavaScript、Python、Java、Go、Kotlin(6 种语言)。
# npm (recommended)
npm install -g @alibaba-group/open-code-review
# Requires Git >= 2.41
git --version
ocr config provider
# Interactive setup: choose Anthropic / OpenAI / custom compatible endpoint
通过 .ocrrc.yml 进行细粒度配置:
sla: L3
ai:
embedding:
provider: ollama
model: nomic-embed-text
llm:
provider: ollama # local Ollama supported
model: qwen3-coder # any OpenAI-compatible model
cd my-project
# Review current changes
ocr review
# List sessions (resume support built in)
ocr session list
🌟 GitHub: alibaba/open-code-review
🌐 Docs: open-codereview.ai
🏪 GitHub Marketplace: Open Code Review Action
📦 npm: @alibaba-group/open-code-review
Open Code Review 让一件事变得清晰:在代码审查这个特定领域,在 LLM 周围施加工程约束比让 LLM 自由运作能产生更好的结果。
通用 Agent 做代码审查的问题不在于 LLM 能力不足——而在于将所有决策交给 LLM 在确定性代码本可以精确处理的地方引入了不必要的随机性和 Token 浪费。用确定性流水线处理文件选择、行定位和规则匹配,让 LLM 的注意力集中在真正需要推理的部分。
这个设计原则值得推广:不是"如何让人工智能做得更好",而是"哪些部分本来就不该让人工智能来做"。这是大多数 AI 工具团队在规模化碰壁之后得出的结论。阿里巴巴将那次经验中的教训连同代码一起发布了。
Explore PrimeSkills — A marketplace for handpicked AI Agents and skills. Each is validated in real enterprise workflows, stripping away hype and keeping only what truly works.
Welcome to my Homepage for more useful insights and interesting products.