研究想法

与验证失败和运行框架变更关联的编码代理控制

周 · 2026-W29 · Software Intelligence

可以将仓库探索推迟到验证发现具体知识缺口之后,从而减少不必要的上下文,同时保留深入修复的路径。另一方面,运行框架升级需要配套的安全回归测试,因为交互层的变化可能导致同一个模型对不安全操作的拦截或执行结果发生逆转。

2 个想法

由验证触发的仓库问答,用于编码代理修复

编码代理团队应在最小修复未通过验证时触发针对性的仓库问答,而不是在每次编辑前都进行同样广泛的探索。E3 表明,从最小可行执行路径开始,并在验证失败后扩展范围,可以减少冗余工作;ACQUIRE 则表明,围绕仓库机制、依赖关系和契约提出明确问题,可以挽救原本会失败的修复。DiffTestGen 提供了具体的升级信号:通过公共入口针对变更函数运行测试,可以发现无法解释的新旧行为差异,或变更行覆盖率停滞的问题。

一种实际的修复循环可以先估计范围,制作最小的合理补丁,再运行面向变更的测试。测试失败后,将失败转化为面向只读代理的仓库问题;这些带有文件和函数引用的答案随后用于指导下一版补丁。成本最低且有用的评估方式,是在同一组问题上进行消融实验,比较始终启用问答、不启用问答和由验证触发问答三种方案,并测量已解决问题数、令牌数和修复轮次。

面向编码代理发布的运行框架替换安全测试

即使模型保持不变,编码代理发布工程师也应将运行框架升级视为与安全相关的行为变化。AgentCompass 发现,运行框架的选择会改变基准分数和轨迹失败模式。在软件包安装实验中,仅替换运行框架,就使一次不可信注册表攻击的拦截结果从 10/10 变为 9/30;另一种变体则朝相反方向变化。因此,模型层面的安全声明不能替代对实际交付的模型–运行框架组合进行测试。

在发布运行框架或权限策略变更之前,应使用同一个模型,在固定的依赖安装攻击和良性对照上运行当前版本与候选版本,然后比较不安全命令是否在执行前被拦截,并检查记录的轨迹。发布凭证应将结果绑定到运行框架版本、工具策略、命令集和源代码状态;Proof-or-Stop 展示了拒绝过时、遭篡改或已重新配置证据的底层机制,但明确没有证明语义正确性。