将文件查看、补丁写入和测试修复拆开处理代码编辑
代码助手团队应该把仓库编辑拆成三个可衡量的步骤:一个只返回与任务相关代码块的查看器,一个应用高层补丁请求的编辑器,以及一个运行真实测试并把结构化失败反馈回修复流程的验证器。对于已经调用文件读取、grep、编辑和测试工具的 IDE 助手、CI 修复机器人和内部编码代理,这是一项可落地的改造。
SWE-Edit 给出了读写拆分的具体做法。它的 Viewer 接收路径和自然语言查询,只返回相关代码块;它的 Editor 接收路径和编辑指令,并应用修改。在 SWE-bench Verified 上,论文报告 resolved rate 从 69.9% 升到 72.0%,edit success 从 93.4% 升到 96.9%,推理成本下降 17.9%。SAFEdit 为带指令的代码编辑加入测试循环:Planner 写编辑计划,Editor 修改代码,Verifier 运行单元测试,最多进行三轮修复。它报告 EditBench 任务成功率为 68.6%,高于 60.0% 的 GPT-4.1 ReAct 基线。
一种低成本的落地测试,是在不改基础模型的情况下给现有编码代理加一层包装。把读取请求路由到返回代码块的查看器,把编辑请求路由到补丁执行器,在每次补丁后运行项目测试,并在固定问题集上比较 edit success、无关 diff 大小、resolved tasks 和 token 成本。Claude Code 的回归报告给出了一条实现层面的警告:Read 和 Grep 结果里反复出现安全提醒,会让子代理拒绝普通重构并浪费上下文。文件读取路径里的安全文本需要单独做回归测试,包括在良性仓库上的并行子代理运行。