← 最新论文
💬 NLP

Comparing Developer and LLM Biases in Code Evaluation

该论文提出了 TRACE 框架,通过评估 LLM 在三种真实编程场景下作为代码评判者的表现,揭示了其相较于人类开发者存在 12-23% 的偏好对齐差距,并识别出 35 个主要源于现有软件工程标准但导致人机判断偏差的系统性因素。

原作者: Aditya Mittal, Ryan Shar, Zichu Wu, Shyam Agarwal, Tongshuang Wu, Chris Donahue, Ameet Talwalkar, Wayne Chi, Valerie Chen

发布于 2026-03-26
📖 1 分钟阅读☕ 轻松阅读

原作者: Aditya Mittal, Ryan Shar, Zichu Wu, Shyam Agarwal, Tongshuang Wu, Chris Donahue, Ameet Talwalkar, Wayne Chi, Valerie Chen

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文就像是在给现在的"AI 程序员”做了一次全方位的“体检”和“心理侧写”

想象一下,你正在开发一个软件,你请了一位AI 助手(比如 GitHub Copilot)帮你写代码。当你写完一段代码,或者让 AI 帮你修改时,你心里会有一个标准:这段代码好不好?合不合我心意?

现在,为了评估这些 AI 助手写得怎么样,科学家们又请了另一位 AI(我们叫它“裁判 AI")来打分。这个“裁判 AI"的任务是判断:哪一段代码更好?它能不能像人类开发者一样,做出正确的选择?

这篇论文(TRACE 框架)就是去调查:这位“裁判 AI"到底靠不靠谱?它和人类开发者在“审美”上到底有哪些偏差

🍎 核心比喻:两个不同的“美食评委”

为了让你更容易理解,我们可以把写代码比作做一道菜,把评估代码比作品尝并打分

  • 人类开发者(人类评委):就像一位经验丰富的老厨师。他不仅关心菜能不能吃(功能对不对),还关心:

    • 这道菜是不是太咸了(代码是不是太啰嗦)?
    • 摆盘是不是太乱了(代码注释是不是太乱)?
    • 这道菜是不是符合我们餐厅的特定风格(是不是符合团队规范)?
    • 关键点:老厨师很务实,他喜欢简洁、清晰、能直接上手用的菜。
  • 裁判 AI(AI 评委):就像一位刚毕业的美食理论家。它读过很多书,知道很多理论,但它没怎么在厨房里真正干过活。它打分时往往:

    • 特别看重理论上的完美(比如代码必须极其健壮,哪怕写起来很麻烦)。
    • 喜欢长篇大论的解释(觉得解释得越详细越好,哪怕人类只想看核心逻辑)。
    • 有时候会被菜品的长度迷惑(觉得写得长的代码一定比写得短的代码好)。

🔍 论文发现了什么?(三大“翻车”现场)

研究人员让这两位评委在三种不同的“厨房场景”下比赛,结果发现 AI 裁判经常“跑偏”:

1. 场景一:自动补全(就像 AI 帮你接话)

  • 人类想法: “这段代码能跑通就行,别太啰嗦,让我一眼能看懂怎么接下去。”
  • AI 裁判想法: “这段代码虽然短,但逻辑太跳跃了!另一段虽然长,但把每个步骤都解释得清清楚楚,那个更好!”
  • 比喻:人类想要干脆利落的“外卖”,AI 裁判却觉得包装精美、说明书详尽的“礼盒”更好,哪怕里面装的东西其实差不多。

2. 场景二:代码修改(就像 AI 帮你改菜谱)

  • 人类想法: “我只让你把盐放少点,别把整个菜的结构都拆了重写,也别给我加一堆我不需要的注释。”
  • AI 裁判想法: “这个修改虽然只改了盐,但看起来不够‘完美’。那个修改虽然把菜都重做了一遍,但看起来更‘规范’,所以那个更好。”
  • 比喻:人类想要精准的手术刀,AI 裁判却喜欢大动干戈的装修。它往往忽略了“少即是多”的原则。

3. 场景三:聊天编程(就像 AI 和你讨论菜谱)

  • 人类想法: “别给我讲大道理,直接告诉我怎么解决这个具体的报错,最好能结合我现在的特殊情况。”
  • AI 裁判想法: “这个回答虽然解决了问题,但解释得不够通用。那个回答虽然没完全解决,但讲了一堆通用的理论,看起来更‘博学’。”
  • 比喻:人类想要懂我的老朋友,AI 裁判却喜欢掉书袋的教授。它觉得“通用解释”比“针对性方案”更高级。

📊 数据说了什么?

  • 差距明显:在 13 个不同的 AI 裁判中,表现最好的那个,和人类开发者的意见一致率,还是比人类自己低 12% 到 23%。这就像考试,人类能考 90 分,最好的 AI 裁判只能考 70 多分。
  • 偏见重重:研究人员找出了 35 个 具体的“偏见点”。比如,AI 裁判总是高估“代码的健壮性”(怕出错),而低估“代码的清晰度”(好不好懂)。
  • 训练也没用:即使是那些专门为了“当裁判”而训练过的 AI,也没能完全解决这个问题。这说明问题不在于它“读的书不够多”,而在于它没真正理解人类在写代码时的真实处境

💡 这个研究有什么用?

这就好比给 AI 裁判发了一张"人类思维矫正卡"。

以前我们以为 AI 裁判很聪明,能自动帮我们筛选好代码。现在我们知道,AI 裁判有自己的“怪癖”。如果不纠正这些怪癖,我们可能会得到一堆“理论上完美但实际很难用”的代码。

未来的方向
我们需要教 AI 裁判,“好代码”不仅仅是“不出错”,更是“让人类用得爽”。就像教那个“美食理论家”去后厨实习,让他明白:有时候,一道简单、快速、能填饱肚子的菜,比一道摆盘精美但没人敢吃的菜,才是真正的好菜。

总结

这篇论文告诉我们:AI 虽然能写代码,但它还不懂“人心”。在代码的世界里,“清晰”和“简洁”往往比“完美”更重要,而目前的 AI 裁判还没学会这一点。我们需要帮它们戴上“人类的眼镜”,才能真正让它们成为得力的助手。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →