← 最新论文
💻 computer science

Position, not importance: what a likelihood threshold actually defers on

本文表明,Empower 助手训练方法的基于似然度的停止规则无法区分危险与良性的代码补全,而是根据标记位置和局部可预测性进行延迟,从而导致生成不完整的有用代码或生成不安全的逻辑分支。

原作者: SHUBHANANDAN T Y, Mohan V S, Bharath Kumar Shanmugam, Puneeth N

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

原作者: SHUBHANANDAN T Y, Mohan V S, Bharath Kumar Shanmugam, Puneeth N

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

在软件开发领域,人工智能已经从一个仅仅回答问题的工具,演变成了一个能与人类并肩编写代码的伙伴。这些数字助手通常被称为“编程代理”(coding agents),它们会观察程序员输入的每一个字符,然后建议接下来的几行代码,以提高工作效率。这些系统的核心挑战在于知道何时停止。如果助手写得太多,它可能会替程序员做出关键决策,例如选择安全设置或数据库命令,从而在人类有机会审查该选择之前就夺走了键盘控制权。如果它停得太早,则几乎起不到任何帮助。长期以来,研究人员一直希望计算机能够通过衡量自身预测的“惊讶程度”来学习识别人类何时需要介入。理论认为,当一个模型对自己接下来要生成的内容感到不确定时,很可能是因为正在进行一项困难或重要的决策,而这正是暂停并寻求帮助的最佳时机。

最近的一项研究旨在高风险的计算机编程环境中测试这一理论。研究人员构建了一个特定的测试环境,其中包含数百个简短的代码片段,其中一些包含危险的选择——比如留下安全漏洞或使用弱密码方法——而另一些则只是无害的常规代码。他们应用了一条规则:只要计算机感到自信,就继续编写,只有当累积置信度降至某一界限以下时才停止。人们曾希望这条规则能自然地在危险决策前暂停,从而让用户进行审查。然而,结果揭示了一个令人震惊的脱节。计算机并不是因为某个选择是危险的而停止,而是因为文本变得难以预测。在代码的世界里,最危险的选择往往是最常见且最可预测的,而真正令人惊讶的文本通常只是随机的噪声。因此,系统经常完整地写出危险的代码,却在一些无害且枯燥的文本中间突然停止。

由 Dayananda Sagar 大学(Dayananda Sagar University)的 Shubhanandan T Y 及其同事领导的研究小组,构建了一个名为 CEDE-Bench 的详细基准测试,用以精确衡量这种情况发生的频率。测试包括 112 个特定的场景,在这些场景中,程序员必须在安全路径和风险路径之间做出选择,例如决定是否禁用安全检查或如何处理密码。他们还包含了 12 个不含实际决策的无害控制项,即标准的样板代码。当他们在这些项目上运行计算机的停止规则时,结果非常悬殊。在之前用户研究中所使用的设置下,系统在 33% 的案例中写出了危险的分支。在某些情况下,它几乎完成了整个易受攻击的 SQL 数据库查询,在停止前写出了 18 个出 19 个标记(tokens)。这并不是因为计算机没看到危险,而是因为基于其训练数据,这种危险的代码正是计算机所预期的内容。

研究发现,系统的行为几乎完全是由决策在文本中的出现位置驱动的,而不是由决策的内容驱动的。如果一个风险选择出现在建议的前几个单词内,计算机几乎总是会将其写出来。如果同一个风险选择出现在后面,即在计算机已经用完了其“信心预算”之后,它就会在到达之前停止。研究人员发现,该规则与其说是在像法官一样权衡决策的重要性,不如说更像是一个简单的标记计数器。它允许计算机根据周围文本的可预测性编写一定数量的单词,然后停止。由于代码中的危险选择通常非常可预测(例如使用一种标准但并不安全的函数),它们落入了这个早期的窗口期并被写了出来。相反,包含随机字符串(如虚假的 API 密钥)的无害文本是不可预测的,会导致计算机过早停止,尽管这里并不存在危险。

这一发现挑战了“计算机可以通过衡量自身的确定性来学习向人类请示”的观点。研究表明,系统的停止点在危险项目和无害项目之间在统计学上是无法区分的。它在无害的样板代码中间停止的频率,与在危险代码之前停止的频率一样高。研究人员得出结论,该规则对重要性是盲目的。它不知道某一行代码可能会删除数据库或泄露密码;它只知道自己写了多少个单词以及下一个单词看起来有多么“令人惊讶”。事实上,系统在包含随机字符串的无害项目上的停止概率,比在遵循常见、可预测模式的危险项目上的停止概率还要高。这意味着调整规则的敏感度并不能解决问题:让它停止得更早,意味着它会更早地停止编写有用的代码;让它停止得更晚,则意味着它会写出更多危险的代码。

这一发现对于我们如何构建和信任 AI 助手具有重大意义。研究表明,依靠模型的自身置信度来决定何时将控制权交还给人类,在编程领域是一种错误的策略。系统并不是因为人类需要参与关键决策才向人类求助,而是因为文本在数学层面上变得难以预测。研究人员指出,在测试中,系统在停止前仅完成了约三分之一的无害样板代码,这意味着它经常在没有正当理由的情况下干扰程序员。与此同时,它未能为最重要的决策进行暂停,因为这些决策往往是最常规、最符合预期的。这造成了一种困境:助手要么过于干扰,要么过于危险,不存在一个能同时满足安全性与实用性的中间地带。

最终,论文认为,这些 AI 助手的机制需要进行根本性的重新思考。目前的做法假设“不确定性等于重要性”,这在现实世界的软件开发中并不成立。研究人员建议,与其试图通过不确定性来教模型识别重要性,不如使用更简单、更直接的方法来捕捉危险模式,例如寻找已知安全缺陷的静态代码检查器。这些工具不需要猜测何时停止,它们只需无论 AI 感觉多么自信,都能标记出特定的风险模式。这项研究发出了一个明确的警告:虽然 AI 助手可以提供帮助,但它们判断何时停止的能力并非智慧或安全的体现,而仅仅是其文本可预测性的反映。在技术能够区分“枯燥的常规操作”与“关键决策”之前,依赖它自主做出这些区分仍然是一场赌博。

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

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

试用 Digest →