OpenCodeReview:确定性优于非确定性,实现经济高效的基于代理的代码审查
OpenCodeReview: Determinism over Non-Determinism for Cost-Effective Agent-Based Code Review
摘要
基于 LLM 的代码审查代理承诺可扩展、始终在线的审查,但当前的系统存在两个相互交织的弱点:(1) 不确定性——无限制的工具使用使审查结果不稳定;(2) 上下文局部性——审查者的访问仍然受到差异的限制,限制了可发现的问题深度。两者都会带来三个挑战:上下文检索错位、多文件拉取请求中的一致性与效率权衡,以及侵蚀信任的幻觉评论。为了解决这些问题,我们引入了 OpenCodeReview,它建立在针对不确定代理的确定性工程之上:我们不是给予最大的自由,而是在三个有意的管道点注入确定性。规则引导调度使用多层规则系统来确定性地选择文件并审查标准,从而消除代理驱动的分类的可变性。基于证据的文件审查用通过 ReAct 循环公开的精选工具集取代了自由形式的探索,而文件级并行子代理平衡了上下文一致性和效率,并按需恢复跨文件依赖关系。独立反射在不对称信息边界下引入了伪造优先过滤器——反射器只看到差异,而不是代理的工具增强探索——消除幻觉评论而没有自我强化偏见,提高精度,同时保留召回率。在 AACR-Bench(200 个真实 PR、10 种语言、1,505 条经过专家验证的评论)上,OpenCodeReview 在 6 个 LLM 后端上优于主流 编码智能体(例如 Claude Code 和 Codex),实现了高达 2.17 倍的 SEM-F1 提升(25.10% vs. 11.57%),而消耗的词元减少 5-15 倍。我们在 https://github.com/alibaba/open-code-review 开源了 OpenCodeReview。