跳到主要内容
返回时间线
alibaba/open-code-review来源发表:

阿里把内部代码审查助手开源为Open Code Review:同一模型下精度与F1更高,token只花约九分之一

核心概要

阿里巴巴把内部使用两年的AI代码审查助手开源为Open Code Review,用户只需配置一个模型端点即可启用。它读取Git差异,由具备工具调用能力的智能体读取完整文件、检索代码库并参考其他改动文件,生成带行级定位的结构化审查意见。在由50个开源仓库、200个真实拉取请求和10种编程语言构成的基准上,同一底层模型下它的精度与F1明显高于通用智能体,token消耗约为后者的九分之一,但召回率更低,这是为减少噪声而做的取舍。

Source-provided article image: alibaba / open-code-review
GitHub Trending

深度剖析

代码审查现在有了一个可直接配置模型端点启用的开源命令行工具,它把审查流程中不能出错的环节交给确定性工程逻辑,把动态判断留给智能体。 此前用Claude Code这类通用智能体配合Skills做代码审查,在较大改动集上会漏审部分文件、报出的问题位置漂移,且质量随提示词微小变化而波动。 该工具源自阿里巴巴内部官方AI代码审查助手,过去两年服务了数万名开发者并识别出数百万个代码缺陷,随后被孵化成开源项目。

审查被拆成文件筛选、文件打包、规则匹配和定位反思几个固定步骤,每一步由工程逻辑而非语言模型保证正确。 文件打包把相关文件归入同一审查单元,例如把message_en.properties与message_zh.properties放在一起,每个包作为上下文隔离的子智能体运行,从而在超大改动集上保持稳定并支持并发。 规则匹配用模板引擎按文件特征分发审查规则,独立的评论定位与评论反思模块分别改善AI反馈的位置准确度和内容准确度。

智能体只负责动态决策和动态上下文检索,其提示词与工具集都针对代码审查场景专门调优。 工具集是从大规模生产数据的工具调用轨迹中提炼的,分析内容包括调用频率分布、单个工具的重复率以及新工具对整体调用链的影响。 除差异审查外,ocr scan还能整文件审查,用于审计陌生代码库或没有有意义差异的目录。

启示与展望

已展示的范围是代码审查:读取Git差异生成行级评论,以及用ocr scan整文件审查陌生代码库;基准由50个流行开源仓库、200个真实拉取请求和10种编程语言构成,并由80余名资深工程师交叉校验出1505条标注问题。

召回率低于通用智能体,这是为偏向精度、减少噪声而做的有意取舍;材料未给出该取舍在不同改动规模下的具体表现。