← 最新论文
💻 computer science

When to Answer and When to Defer: A Decision Framework for Reliable Code Predictions

本文提出了一种面向部署的统一框架,该框架整合了不确定性估计、模型校准与基于工具的拒绝机制,通过使代码语言模型能够准确评估预测置信度、有选择地拒绝不确定输出,并调用外部验证工具以进行风险感知的代码生成与分类,从而提升其可靠性。

原作者: Ravishka Rathnasuriya, Wei Yang

发布于 2026-05-20
📖 1 分钟阅读☕ 轻松阅读

原作者: Ravishka Rathnasuriya, Wei Yang

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

想象一下,你雇佣了一位才华横溢但过度自信初级程序员,为公司编写代码。这位程序员速度极快,能解决许多问题,但他们有一个危险的坏习惯:无论对错,他们都同样自信。有时,他们自信地写出导致系统崩溃的代码;而有时,他们却对实际有效的代码犹豫不决。

这篇题为《何时回答,何时 defer》的论文,提出了一种新的“管理者”系统来监管这位程序员。目标不仅仅是获取答案,而是要知道何时信任答案,何时说“我不确定,让我们问问别人”

以下是该框架的运作方式,分解为简单概念:

1. 问题:“过度自信的错误”陷阱

当前的 AI 编程工具就像那位初级程序员。它们经常产生“过度自信的错误预测”。

  • 类比:想象一位天气预报员说:“有 99% 的晴天概率!”而实际上正下着倾盆大雨。如果你盲目信任他们,就会淋成落汤鸡。
  • 现实:在编程中,如果 AI 错了但很自信,它可能会引入难以发现的安全漏洞或错误。现有方法试图“校准”AI(教它不要过度自信),但它们往往无法帮助 AI 决定具体应该跳过哪些答案。

2. 解决方案:三步决策框架

作者提出了一种统一的系统,充当守门人。它不只是让 AI 说话,而是迫使 AI 在展示结果之前暂停并评估自身的置信度。

步骤 A:“不确定性检测器”(直觉检查)

在 AI 给出答案之前,该系统会检查其内部的“直觉”。

  • 工作原理:它观察 AI 内部“摇摆”的程度。如果 AI 正在生成代码,而其内部信号不稳定,系统就知道有问题。
  • 类比:这就像司机检查后视镜。如果道路看起来雾蒙蒙的,或者车子在摇摆,司机就知道要减速,即使还没撞到坑洼。

步骤 B:“校准教练”(教导真相)

该系统使用两种训练方式,使 AI 的置信度与现实相匹配:

  • 部署前(训练教练):在 AI 上岗之前,我们教它一项新技能:“说‘我不知道’是可以的”。我们给它一个特殊的“拒绝”按钮,或者教它在猜测时降低置信度。
  • 部署后(快速修复):如果我们无法重新训练 AI(也许它太大或太昂贵),我们就在它前面放一个“翻译器”。这个翻译器将 AI 原始、混乱的置信度分数转换为清晰、诚实的概率(例如:“这个答案只有 60% 的可能性是正确的”)。
  • 类比:把这想象成一位外国外交官的翻译。外交官可能会用模糊、过度自信的方式说话。翻译会重新表述:“外交官实际上对这个条约只有 60% 的把握。”

步骤 C:“安全网”(defer 与修复)

这是最重要的部分。如果 AI 说“我不确定”,系统不会直接停止。它会将任务 defer给不同的工具。

  • 工作原理
    • 对于分类(发现错误):如果 AI 不确定某段代码是否存在安全风险,系统会将其交给一个严格的、基于规则的“静态分析器”(一个根据严格规则手册检查代码的机器人)。
    • 对于生成(编写代码):如果 AI 卡住了,系统可能会要求更多细节、查阅文档,或将大任务分解为更小、更简单的部分。
  • 类比:想象一位厨师对食谱不确定。与其端上一道糟糕的菜肴,他们会将任务 defer 给副厨师,由副厨师对照食谱检查食材,或者向顾客询问澄清。他们绝不会端上自己无法 100% 确定的菜肴。

3. 结果:它有效吗?

作者在真实的编程任务(如查找错误和编写代码片段)上测试了这一框架。

  • 发现:当他们使用这种“defer 并检查”的系统时,AI 变得更加可靠。
  • 数据:当系统决定“跳过”不确定的答案(弃权)并仅展示那些有把握的答案时,准确率根据任务不同跃升至**70% 到 90%**以上。
  • 启示:通过承认它不知道什么,AI 在它确实知道的事情上变得更加值得信赖。

总结

这篇论文认为,我们不应该仅仅要求 AI 模型变得更“聪明”。相反,我们需要构建能够知道何时停止并寻求帮助的系统。

通过结合不确定性检测(知道何时你处于摇摆状态)、校准(诚实地告知你的置信度)和基于工具的恢复(当你卡住时向专家求助),我们可以将一种危险、过度自信的 AI 转变为软件开发中安全、可靠的伙伴。关键在于从“带着自信猜测”转向“知道何时应该 defer"。

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

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

试用 Digest →