Open Code Review Skill:阿里开源的 AI 代码审查神器,比通用 Agent 省 9 成 token
总结
Open Code Review 是阿里巴巴集团开源的 AI 代码审查 CLI 工具,脱胎于其内部大规模使用的代码审查助手。它用「确定性工程 + LLM Agent」的混合架构,把代码 diff 拆成可并行的小包丢给模型,在同一底层模型下做到比通用 Agent(如 Claude Code)更高的 Precision/F1、仅 1/9 token 消耗和更快审查速度。GitHub Trending 日榜第 2 位(832 stars today、累计 14K+),是当下最热门的「AI 工程师会装」型 Skill。
功能与原则
核心能力:
– 读 Git diff → 调用可配置 LLM(OpenAI / Anthropic 兼容)→ 输出行级结构化 review 评论
– 提供 ocr scan 模式,全文件扫描审查未知代码库/无 diff 目录(用于审计)
– 支持 --parallel 子 Agent 隔离 context 的 divide-and-conquer 策略,大 changeset 稳定
设计原则(核心哲学):
– 确定性工程守边界:必须不出错的步骤由代码保证——精确选文件、智能 bundle(如 message_en.properties 和 message_zh.properties 自动配对)、模板引擎精准匹配规则、外置 comment-positioning / comment-reflection 模块
– Agent 守灵活性:交给 LLM 做的只剩「动态决策 + 上下文检索」——场景化 prompt、经过大规模工具调用 trace 蒸馏出来的场景化工具集
– Trade-off 明确:Precision 优先于 Recall,宁可少报不要噪音
认可度
- GitHub Star:截至 2026-07-27 约 14,049 ⭐(GitHub Trending 日榜 #2,今日 +832 stars)
- Fork:950
- npm 下载量:
@alibaba-group/open-code-review(npmjs 官方源可查) - 背书背书:TrendingShift repositories/41087 收录;OpenAI & Anthropic 兼容 provider
- 实战背书:阿里集团内部两年、数万名开发者、累计识别数百万 code defects
- Benchmark:内含 50 个开源 repo / 200 个真 PR / 10 门语言的评审基准,80+ 资深工程师交叉标注 1,505 个 ground-truth issues
链接
GitHub 主仓库:https://github.com/alibaba/open-code-review
官网文档:https://open-codereview.ai
原作者
- 主导方 / 组织:Alibaba Group(工程团队)
- 核心贡献者(GitHub):
@lizhengfeng101、@chethanuk、@stay-foolish-forever、@MuoDoo等 - 身份:阿里内部孵化并开源出来的「AI 代码审查」官方工具。
介绍
Open Code Review(ocr)是一个 CLI 形态的 AI 代码审查工具。它的设计出发点很朴素:纯 LLM-Agent 跑代码评审有三个长期痛点——大 changeset 时 review 不全、报的位置漂移、prompt 微调一下质量就震荡。Open Code Review 认为根本原因是「纯语言驱动没有硬约束」,所以把 review 流程切成两层。
下层是确定性工程层,负责选文件、bundle、配规则、定位、反射——这些步骤如果用 LLM 不仅慢还会错。上层是 LLM Agent 层,负责动态决策:什么场景用什么 prompt、调用什么工具、要不要搜代码库上下文。中间用模板引擎把规则精确路由给对应文件类型,让模型注意力不分散。
在这个架构下,对比 Claude Code Skills 跑 review 的通用模式,Open Code Review 能用更少 token 拿到更高 Precision/F1,且不靠换更大的模型——同底层模型就够了。代价是 Recall 略低于通用 Agent,这是有意识的 trade-off。
特点
- 混合架构:确定性工程 + LLM Agent 双层,互不替代
- 小文件 bundle 策略:
message_en.properties和message_zh.properties自动配对审查,子 Agent 隔离 context,并发稳定 - 场景化 prompt & 工具集:从百万级工具调用 trace 蒸馏,按代码评审用途专门设计
- 60+ 规则 + 内置微调 ruleset:NPE、线程安全、XSS、SQL 注入等开箱即用
- 多模型中立:OpenAI / Anthropic 兼容 provider,本地模型 / 自托管模型一样能跑
- Delegation 模式:不想配 LLM 时,可委托给外部 agent 兜底
使用方法
前置: Git >= 2.41
Step 1 — 安装:
npm install -g @alibaba-group/open-code-review
Step 2 — 配置模型:
ocr config provider # 选 OpenAI / Anthropic / 自定义 provider
ocr config model # 选具体模型
Step 3 — 在仓库根目录跑 diff review:
ocr review # 默认基于 git diff 审查当前分支改动
ocr scan src/ # 无 diff 模式:全文件审计某个目录
Step 4 — 看输出:
ocr report # 输出结构化 review 评论(行级、文件级、PR 级)
最小示例(一次 PR review 的完整命令):
git checkout -b feature/payment
# ... 改完代码 git add . && git commit -m "..."
ocr review
ocr report > review.md
使用场景与人群
适用场景:
– 中大型 PR 的 code review(避免 agent 偷懒漏文件)
– 团队 CI 流水线集成审查节点
– 接手陌生代码库的 audit
– 想用小模型 / 本地模型跑 review 又怕效果差
– 已经有 Claude Code / Cursor 但对 line-level 准确度不满意的工程师
目标人群:
– 后端 / 全栈工程师(Java/Go/JS/Python 等多语言)
– 平台架构师、Tech Lead、SRE(要做自动化审查流水线)
– 开源项目维护者(PR 量大、人工 review 来不及)
– AI / Agent 重度用户(想了解 hybrid 架构怎么落地)
输入与输出案例
案例 1:Java NPE 检查(开箱即用规则)
Input(OrderService.java diff):
public Order getOrder(Long id) {
- Order o = repo.findById(id).get();
+ Order o = repo.findById(id).get();
return o.setStatus("paid");
}
Output(ocr report 输出的结构化行级评论):
[ERROR] src/main/java/OrderService.java:18
Rule: NPE
Issue: Optional.get() without isPresent() check; repo.findById may return empty
Fix suggestion:
Order o = repo.findById(id)
.orElseThrow(() -> new OrderNotFoundException(id));
Severity: high
案例 2:线程安全审查(场景化工具调用 trace)
Input(Counter.java diff):
public class Counter {
private int count = 0;
+ public void inc() {
+ count++;
+ }
}
Output:
[WARN] src/main/java/Counter.java:12
Rule: thread-safety
Issue: count++ is not atomic; in concurrent context may lose updates
Fix suggestion:
1) Use AtomicInteger:
private final AtomicInteger count = new AtomicInteger(0);
public void inc() { count.incrementAndGet(); }
2) Or synchronize the method
Confidence: 0.86
GitHub: https://github.com/alibaba/open-code-review
评论区
登录后可评论。













