AI News HubLIVE
站内改写2 分钟阅读

完美命中错误目标:AI代码评审基准的故事

本文深入分析了AI代码评审基准的局限性,指出其未能从第一性原理定义问题,忽略了AI代码评审已分化为人类理解和机器验证两个不同问题。作者Shrijith Venkatramana认为,基准衡量的是代理指标而非软件实际成果,并强调了生产结果和严重性的重要性。

来源Hacker News AI作者: atomicnature

基准测试总是给人权威、客观和精确的印象,这有充分的理由。但对那些真正深入了解某个领域的人而言,盲目依赖基准可能会带来误导。本文作者Shrijith Venkatramana是Hexmos的创始人,目前正在构建LiveReview——一个组织级工程标准实施工具。他曾任职亚马逊,并在加州大学欧文分校师从Crista Lopes教授学习软件工程。凭借近十年的工程团队搭建和系统构建经验,他认为多数AI代码评审基准未能抓住问题的核心。

AI Code Review Bench基准测试表面上具有客观、精确和权威的特点,但对于深入探究过该问题空间的人来说,其缺陷显而易见。作者首先指出,基准方法虽然努力回答了“如何为AI代码评审设定基准”这一重要问题,但实际未能给出令人满意的答案。问题在于,它跳过了从第一性原理定义AI代码评审问题的步骤,直接进入了解决方案,从而错过了很多更重要的基础问题。

作者认为,AI代码评审已经分化为两个截然不同的问题。第一个问题是人类理解:工程师注意力有限,需要帮助他们辨别哪些问题真正重要。这种情况下,信息应根据工程师、团队、组织、业务优先级等因素进行差异化排序,成功标志是帮助人类做出更好的工程决策。第二个问题是机器验证和系统稳定性:其消费者是另一AI系统,系统不会因数百个发现而疲惫,详尽分析往往更可取。目标转向减少生产故障、安全漏洞和技术债务。许多发现根本无需展示给人类,直接交给修复代理即可。这两种问题针对不同消费者,需要不同的优化指标。

基准测试将人类评审视为最终目标,但作者认为这只是起点。人类评审受截止日期、疲劳和不完整上下文的限制,而机器具有始终如一、不知疲倦的优势。更好的方法是认识到人类和机器具有互补优势:经验丰富的工程师能识别架构问题、产品权衡和业务现实,而机器可进行一致的大规模检查。此外,基准测试衡量的是日益精密的代理变量,如评审评论、开发者行为、人工黄金集和生产错误跟踪。每个变量单独看都合理,但实际目标应是生产更好的软件,而不是优化代理变量与历史评审的一致性。

作者赞赏该论文对诸多未解决问题的坦诚,例如Goodhart定律、不完整黄金集、基准污染、LLM评判者、上下文、严重性等。但令人惊讶的是,在承认这么多未解决假设后,论文仍最终产生了看似客观的基准。作者担忧,基准的精确性超出了我们当前对问题的理解。方法论上,生产结果被低估——它们只是众多信号之一,而实际上是评审活动的终极目标;严重性比分布匹配更重要——匹配历史bug分布可能不如关注严重性更有价值,因为不同组织对不同类型问题的容忍度不同。

总之,作者认为AI代码评审基准虽做了大量努力,但由于未能从问题定义阶段入手,完美地击中了错误的目标。我们需要从根本上重新思考AI代码评审的问题空间,区分人类理解和机器验证两个问题,并将生产结果和严重性置于评估的核心位置。