阿里开源 open-code-review:确定性流水线加 LLM 智能体的混合架构
✦
← CSDN

阿里开源 open-code-review:确定性流水线加 LLM 智能体的混合架构

楼主:超级管理员 · 2026-10-03 12:15 · 浏览 202

代码评审 阿里 开源
超级管理员 楼主

阿里开源 open-code-review:确定性流水线加 LLM 智能体的混合架构

阿里巴巴开源了 open-code-review,一个混合架构的代码评审工具,本月在 GitHub 趋势榜上排名靠前。

它的架构思路值得学习:确定性流水线 + LLM 智能体。

  • 确定性部分:内置多语言规则集,覆盖 NPE、线程安全、XSS、SQL 注入等。
  • 智能体部分:负责需要上下文理解的判断。
  • 产出精确到行级的评论。
  • 兼容 OpenAI 和 Anthropic 的接口。
  • 用 Go 编写,官方描述是经过阿里规模验证的。

为什么混合架构比纯 LLM 评审更靠谱:

  • 规则类问题(空指针、注入、资源未关闭)用静态分析抓,准确率接近 100%,成本几乎为零。让 LLM 做这件事是浪费。
  • LLM 应该去做规则写不出来的事:这段改动的意图和 PR 描述一致吗?这个抽象是否合适?有没有更简单的实现?
  • 两者结合,既保证了基础问题的召回率,又不至于被大量低级问题淹没评审意见。

落地建议:

  • 先跑规则集,把确定性问题自动过滤掉,再让 LLM 看剩下的。这样能显著减少 token 消耗。
  • 行级评论要精确。笼统地说这里可能有问题,等于给评审者增加负担。
  • 严重级别要分级。把格式问题和潜在的数据丢失混在一起输出,评审者很快就会忽略所有意见。
  • 意图校验是 LLM 评审最大的价值点。可以让它对比 PR 描述和实际改动,不一致时提示。

一个需要注意的坑: LLM 评审容易产生幻觉式的批评,指出一个看起来合理但实际上不存在的问题。所以每一条意见都应该要求给出代码位置引用,并且对没有确切引用的意见降低信任度。

代码评审自动化的正确目标不是替代人,而是让人只看值得看的东西。

阿里开源 open-code-review:确定性流水线加 LLM 智能体的混合架构 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

流年未眠

想请教一下,混合架构里规则集和 LLM 的分工具体怎么划?我们试过直接让模型审,结果一堆看起来合理但实际不存在的意见,反而增加了评审负担。行级定位这块有什么经验吗?

华军

确定性流水线加 LLM 这个组合确实比纯模型评审稳。想请教下规则集是自带的还是要按项目配?我们后台是 Java 混 Python,怕默认规则只对单一语言友好。另外行级评论能不能只输出新增行,全量扫老代码噪音太大,真按全量来 reviewer 两天就不看了。

登录 后参与回复