论文

SAFEdit:多代理分解能否解决指令代码编辑的可靠性挑战?

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

智能体系统Agent 架构与控制循环

摘要

指导代码编辑对于 大语言模型 (LLM) 来说是一项重大挑战。在 EditBench 基准测试中,40 个评估模型中有 39 个的任务成功率 (TSR) 低于 60%,这凸显了一般代码生成与在可执行测试约束下执行指令驱动编辑的能力之间的差距。为了解决这个问题,我们提出了 SAFEdit,这是一种用于指令代码编辑的多代理框架,它将编辑过程分解为专门的角色,以提高可靠性并减少意外的代码更改。规划器代理生成明确的、可见性感知的编辑计划,编辑器代理应用最少的文字代码修改,验证器代理执行实际的测试运行。当测试失败时,SAFEdit 使用故障抽象层 (FAL) 将原始测试日志转换为结构化诊断反馈,然后反馈给编辑器以支持迭代细化。我们将 SAFEdit 与之前为 EditBench 报告的单模型结果以及相同评估条件下实施的 ReAct 单代理基线进行比较。我们使用 EditBench 在不同空间上下文变体下对五种语言(英语、波兰语、西班牙语、中文和俄语)的 445 个代码编辑实例评估 SAFEdit。 SAFEdit 实现了 68.6% 的 TSR,比单模型基线高出 3.8 个百分点,比 ReAct 单代理基线高出 8.6 个百分点。结果发现,迭代细化循环为 SAFEdit 的整体成功率贡献了 17.4 个百分点。 SAFEdit 的自动错误分析进一步表明,与单代理方法相比,指令级幻觉有所减少,从而提供了一个额外的框架组件,用于解释超出通过或失败结果的故障。