反对纯 prompt 代码评审的理由
如果你把 Claude Code 这类通用智能体指向一个 diff、让它评审,你大概见过 Open Code Review 的 README 直接点名的那些失败模式:在较大改动集上智能体偷工、跳过文件,报告的问题偏离实际行,质量随着小的 prompt 改动而摇摆。它诊断的根因是:一个纯语言驱动的流程,对「评审什么、评论落在哪」没有硬约束。
Open Code Review 从阿里内部工具开源而来,用一个混合架构回应这点:确定性工程负责那些不能出错的步骤,LLM 智能体负责那些真正需要判断的部分。这个切分就是全部的想法,也正是它区别于一个聪明 prompt 的地方。
确定性的那一半保证了什么
工程层(而非模型)拥有那些正确性不容商量的步骤:
- 精确文件选择:决定到底评审哪些改动文件、过滤哪些,于是没有重要的东西被悄悄跳过。
- 智能文件捆绑:把相关文件归进一个评审单元(例如
message_en.properties和message_zh.properties),每个作为一个有隔离上下文的子智能体运行,这种分而治之在很大的改动集上保持稳定、且天然并行。 - 基于模板的规则匹配:确定性地把评审规则映射到每个文件的特征上,这比让模型记住哪些规则适用更可预测。
- 外置定位与反思模块:独立地修正评论落点、并核查其内容,直接攻击行偏移和准确性问题。
智能体的强项于是被集中到要紧处:场景调优的 prompt,以及一个从分析真实生产工具调用轨迹里蒸馏出来的工具集,而非一个通用智能体工具箱。
安装
推荐路径是 npm,它全局安装 ocr 命令:
npm install -g @alibaba-group/open-code-review
如果你不想用 npm,GitHub releases 页上也有预编译二进制:
# macOS (Apple Silicon)
curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-darwin-arm64
chmod +x ocr && sudo mv ocr /usr/local/bin/ocr
之后你配置一个模型端点;工具兼容 OpenAI 和 Anthropic 风格的 API,所以一个本地 OpenAI 兼容服务器也能用。
它出厂就知道怎么抓什么
在通用评审之外,它带一套微调过的内置规则,瞄准那些真正引发线上事故的缺陷:空指针异常、线程安全问题、XSS、SQL 注入。它读 Git diff,让智能体读完整文件内容、搜索代码库找上下文,产出行级结构化评论、而非表层的 diff 备注。这是带着「生产里什么容易坏」记忆的评审,是一个在阿里规模上跑过、才开源的工具的红利。
一个值得知道的安装坑
讨论最热的 issue 是一个 valid git repository 错误,撞在一个从 GitLab 克隆的项目上,提醒你这工具依赖 Git 仓库状态、会在非标准检出上绊倒。如果你看到那个错误,先确认仓库长得像 Git 预期的样子,再去假设有更深的问题。截至 2026-06 只有 24 个 open issue、发版频繁(2026 年 6 月 v1.3.1),tracker 又小又活跃。
open-code-review 与其它评审工具的对比
| open-code-review | pr-agent | Claude Code 技能 | |
|---|---|---|---|
| Stars | 5,951 | 11,548 | 不适用(通用智能体) |
| 架构 | 确定性管线 + 智能体 | 带工具的 LLM | 纯 prompt |
| 行准确性 | 外置定位模块 | 模型驱动 | 易偏移 |
| 许可 | Apache-2.0 | Apache-2.0 | 闭源托管 |
计数取自 GitHub,截至 2026 年 6 月。pr-agent 是个流行的开源 LLM 评审器,但它把评审流程托给模型、而非把它裹进确定性约束。用 Claude Code 配评审技能这类通用智能体,正是 Open Code Review 明确对标的纯 prompt 基线。混合设计是差异化所在:可预测的覆盖与落点,模型只用在判断有帮助的地方。
相关
如果你更广泛地关心 LLM 驱动的代码分析,见 Anthropic 的 defending-code-reference-harness,那是这个想法的安全扫描变体。你可以把 Open Code Review 指向一个由 Ollama 托管的本地模型。想看还有什么在往上爬,见每日速报和周报。
FAQ
这和让 Claude Code 评审一个 diff 有什么不同? 它把 LLM 裹进确定性的文件选择、捆绑、规则匹配和评论定位里,README 主张这修好了纯 prompt 评审的跳文件和行偏移问题。
它装成什么? ocr 命令,经 npm install -g @alibaba-group/open-code-review 或 releases 里的预编译二进制。
它能用哪些模型? OpenAI 和 Anthropic 兼容的端点,含本地 OpenAI 兼容服务器。
它的内置规则瞄准什么? 空指针异常、线程安全问题、XSS、SQL 注入,是它在规模上被调优过的那些缺陷。