← 最新论文
💻 computer science

SAFEdit: Does Multi-Agent Decomposition Resolve the Reliability Challenges of Instructed Code Editing?

本文介绍了 SAFEdit,这是一个多智能体框架,它将指令式代码编辑分解为规划、字面修改和验证角色,并通过失败抽象层加以增强,在 EditBench 基准测试中实现了 68.6% 的任务成功率,显著优于单模型和 ReAct 单智能体基线。

原作者: Noam Tarshish, Nofar Selouk, Daniel Hodisan, Bar Ezra Gafniel, Yuval Elovici, Asaf Shabtai, Eliya Nachmani

发布于 2026-04-29
📖 1 分钟阅读☕ 轻松阅读

原作者: Noam Tarshish, Nofar Selouk, Daniel Hodisan, Bar Ezra Gafniel, Yuval Elovici, Asaf Shabtai, Eliya Nachmani

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

想象一下,你有一位非常聪明、富有创造力的助手,擅长从零开始创作新故事。然而,当你要求这位助手编辑一个现有故事——例如“将主角的名字从鲍勃改为爱丽丝,但保持其余情节完全不变”——时,这位助手往往会搞砸。它可能会意外删除整个故事、改变结局,或者忘记在对话中更新角色的名字。

这篇论文SAFEdit正是为了解决这一问题。作者发现,即使是最好的 AI 模型,也难以对现有代码进行精确、安全的编辑。在一个名为"EditBench"的标准测试中,大多数模型超过 40% 的情况下未能正确完成任务。

为了解决这个问题,研究人员并没有仅仅试图让 AI“变得更聪明”,而是改变了工作方式。他们构建了一个名为SAFEdit的系统,它不像一个全能的主承包商,而更像一支小型、专业的施工队。

三人工作小组

SAFEdit 将任务拆分为三个不同的角色,就像一个组织良好的团队,而不是让一个 AI 试图一次性完成所有工作:

  1. 规划者(建筑师):

    • 职责: 在接触任何代码之前,该智能体先阅读你的请求和现有代码。它会制定一份详细的、分步骤的蓝图,明确需要更改什么以及在哪里更改。关键在于,它此时不编写任何代码,只制定计划。
    • 类比: 想象一位建筑师绘制添加新房间的地图。他们不砌砖,只是确保计划是合理的。
  2. 编辑者(泥瓦匠):

    • 职责: 该智能体根据规划者的蓝图进行修改。它被严格指示必须字面遵循计划,修改提及的特定部分。它不允许“改进”代码或更改未要求的内容。
    • 类比: 这就是严格按照建筑师地图行事的砌砖工。如果地图说“在这里加一扇窗”,他们就加一扇窗。他们不会决定重新粉刷整栋房子或移动前门。
  3. 验证者(检查员):

    • 职责: 一旦编辑者完成修改,验证者就会通过真实的测试套件(就像安全检查)运行代码。代码能运行吗?是否破坏了其他部分?
    • 类比: 这就是建筑检查员,负责检查新房间是否安全,以及房子的其余部分是否依然稳固。

“安全网”(故障抽象层)

如果检查员(验证者)发现问题,系统不会只说“错误”。它会使用一种名为**故障抽象层(FAL)**的特殊工具。

  • 问题: 计算机生成的原始错误信息通常杂乱无章、令人困惑,且充满技术术语(就像一封来自计算机的冗长、愤怒的信)。
  • 解决方案: FAL 充当翻译。它将杂乱的错误日志转化为给编辑者的简单、结构化的备注:“嘿,第 3 步的数学计算错了。你做了减法而不是加法。请只修复那一部分。”
  • 循环: 编辑者随后利用这条清晰的备注修复具体错误,并再次运行测试。它们最多可以重复此过程三次,直到代码通过测试。

他们发现了什么?

研究人员将这种“团队”方法与试图独自完成整个工作的单个 AI(像独立承包商)以及其他研究中最佳单模型的结果进行了对比测试。

  • 更高的成功率: SAFEdit 团队的成功率为68.6%。最好的单个 AI 模型仅为64.8%,而标准的“全能”AI 方法为60%
  • 迭代的力量: 最大的提升来自“尝试、检查、修复”循环。约**17.4%**的总成功仅仅是因为系统被允许在第一次尝试后修复自己的错误。
  • 更少的事故: 最重要的发现是关于安全性。单个 AI 方法经常破坏原本正常工作的功能(称为“回归错误”)。SAFEdit 从未破坏现有功能。它在按要求进行修改的同时,能更好地避免意外删除代码的其他部分。
  • 稳定性: 即使研究人员给 AI 提供的信息较少(例如隐藏部分代码),SAFEdit 团队依然保持稳定。当上下文发生变化时,单个 AI 更容易感到困惑。

结论

该论文得出结论:让 AI 可靠地编辑代码,不仅仅取决于拥有一个“更聪明”的大脑(更大的模型),而在于工作是如何组织的

通过将任务分解为规划、执行和检查,并赋予系统清晰理解自身错误的方式,SAFEdit 框架使代码编辑变得更加可靠。它证明,一个由专业智能体组成的结构化团队,比一个试图同时兼顾所有事务的单一全能工作者更加可靠。

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

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

试用 Digest →