← 最新论文
🤖 AI

Autoregressive, Yet Revisable: In Decoding Revision for Secure Code Generation

本文介绍了“修订流”,这是一种新颖的框架,它通过使大语言模型能够利用特定动作标记在单次前向传播中动态回退并编辑其自身输出,从而增强安全代码生成,在最小化推理开销的同时显著减少漏洞。

原作者: Chengran Yang, Zichao Wei, Heminghao Deng, Jinfeng Jiang, Zhensu Sun, Ting Zhang, Tianyi Wu, Ming Wen, David Lo

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

原作者: Chengran Yang, Zichao Wei, Heminghao Deng, Jinfeng Jiang, Zhensu Sun, Ting Zhang, Tianyi Wu, Ming Wen, David Lo

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

想象一下,你正在写一个故事,但被迫在一卷永不停歇的胶带上书写。一旦你写下一个词,胶带就会向前移动,你再也无法回头去擦除或修改那个词。如果你在第一个句子中打错了字,这个错误就会伴随整个故事的剩余部分,甚至你可能不得不为了“合理化”这个错字而继续编写后续故事,哪怕这会破坏整个情节。

这就是当前 AI 代码生成器的工作原理。它们一次写一个词(token),一旦某个词被写出,就永远被锁定。

论文《自回归但可修订》(Autoregressive, Yet Revisable)提出了一种名为“修订流”(Stream of Revision)的 AI 代码写作新方法。以下是其工作原理,使用简单的类比来说明:

1. 问题:“承诺陷阱”

在旧方法中,如果 AI 开始编写一个存在安全漏洞的函数(例如弱密码锁),它就无法在之后进行修复。这就像盖房子:一旦砌上一块砖,就无法移动它。如果你不小心把砖砌错了位置,整面墙就会变得脆弱,而 AI 被迫在这块脆弱的基础上继续建造,希望房子的其余部分能够支撑住。这会导致“错误级联”,即一个小错误毁掉整个程序。

2. 解决方案:“虚拟光标”

作者赋予 AI 一个“虚拟光标”。你可以把它想象成一支魔法笔,它不仅能够向前书写,还能跳回、擦除刚刚写下的内容并重新书写——而这一切都在“胶带”仍在移动的过程中完成。

AI 不再仅仅编写代码,而是被训练为同时编写“指令”。它可以说:

  • “等等,我犯了一个错误。”(一个特殊的触发 token)
  • “这是我搞错的具体部分。”(它指向刚刚写下的特定词语)
  • “这是修正方案。”(它写出修正后的代码)

3. 实时运作方式

论文描述了一个称为“单次前向传递”(Single Forward Pass)的过程。

  • 旧方法(代理修复): AI 写完整个代码后停止,将其发送给一个独立的“安全守卫”进行检查,获取错误列表,然后必须重新阅读全部内容并重新编写。这既缓慢又昂贵,且耗时极长。
  • 新方法(修订流): AI 在编写代码时,就能在书写过程中发现错误,并立即跳回进行修正,然后再继续前进。这就像一位演奏音乐的乐手,听到一个错音时,无需停止演奏,就能瞬间调整手指位置进行纠正。

4. “渲染器”(编辑器)

AI 输出的文本流看起来杂乱无章,因为它包含了代码以及“跳回”和“重写”指令。一个小型、简单的计算机程序(称为“确定性渲染器”)充当智能编辑器的角色。它读取 AI 的文本流,遵循“跳回”指令,删除错误部分,插入正确部分,并向你呈现干净、完整的代码。你永远不会看到杂乱的“草稿”过程;你只能看到最终修正后的结果。

5. 为何更优

  • 速度: 由于 AI 在书写过程中就修正错误,因此无需停止并重新阅读整个文档。这节省了大量的时间和计算资源。
  • 安全性: 论文在“安全代码生成”(编写没有安全漏洞的代码)方面测试了该方法。他们发现,与旧的“先写后查”方法相比,这种方法能更好地捕捉并修复漏洞。
  • 效率: 该方法效果显著,以至于即使 AI 仅在 C 和 C++ 代码(特定类型的编程语言)上进行训练,它也能在没有额外训练的情况下,擅长修复 Python 和 Java 等其他语言中的安全漏洞。它学会的是“修正错误”的概念,而不仅仅是特定的词汇。

总结

该论文提出,应教导 AI 成为一位“自我修正的写作者”,而非“单向写作者”。通过赋予 AI 在生成代码时即时“回溯并编辑”的能力,可以在不拖慢进程的情况下,创造出更安全、更可靠的软件。它将代码生成从僵化、线性的行军,转变为灵活、动态的对话,让 AI 能够说出“哎呀,让我修正一下”,并立即付诸行动。

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

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

试用 Digest →