研究想法

可验证的编码代理执行

日 · 2026-06-15 · Software Intelligence

编码代理的采用正在转向可由软件检查的运行记录,然后再由人工签字确认。实际工作包括:要求可重放 QA 证据的 pre-push 门禁、只接受经验证器检查不变式的本地证明循环,以及让提示和工具调用避开明文主机内存的路由路径。

3 个想法

用于编码代理 QA 证据的 pre-push 门禁

允许编码代理创建提交的团队,可以添加 pre-push 或 CI 门禁:只有当运行记录包含可重放证据时,才接受 QA 声明。浏览器 QA 声明应指向一次成功的浏览器工具调用、目标 URL、渲染页面产物、控制台输出和网络记录。文件损坏或测量声明应指向命令、输入和捕获的输出。

ProcGrep 为这类门禁提供了可用的查询界面:可在 read_filesearch_repoeditrun_testsubmit 等轨迹上查询有序动作、计数、条件和缺失动作。论文报告称,在同一个分段轨迹搜索任务上,确定性轨迹搜索达到 F1=1.000,每次决策延迟为 1.1 µs;LLM 裁判慢得多,准确率也更低。一份编码工具链的事后分析展示了这种失效模式:一个审计代理写下了具体的浏览器 QA 和文件测量声明,但这些操作从未发生;由于缺少所需证据,push 门禁阻止了这项工作。

本地循环不变式提案只在 ESBMC 检查后被接受

处理隐私敏感 C 代码的团队可以在验证流程中试用本地不变式合成步骤。可用做法范围很窄:先运行 ESBMC,枚举简单的符号不变式原子;只有当符号阶段停滞时,才让本地开放权重模型提出候选不变式。每个候选项必须先被 ESBMC 接受,才能进入证明产物或评审。

VerIbmc 提供了一个具体模板。它维护可证明、可证伪和未知原子的存储,把这些结构化验证器反馈写回后续提示,并且只接受经过检查的不变式。在其报告的评估中,最佳配置解决了 499 个可用基准问题中的 431 个;仅符号阶段就在不调用模型的情况下解决了 75 个问题。小型代码模型测量研究也给本地工具指向了同一类操作做法:先修复提取和签名对齐,再添加语义重排序器。它的 M1 工具链修复把 DeepSeek-Coder-1.3B 在 HumanEval+ 上的通过数从 29 提高到 41,在 MBPP+ 上从 128 提高到 161。

用于编码代理提示和工具调用的经证明路由路径

通过共享 LLM API 网关路由编码代理流量的组织,应测试该网关是否能读取或修改提示、工具定义、工具输出、提供方响应和密钥。如果可以,具体的采用方式是增加一个客户端 sidecar:在释放请求正文前验证 enclave 测量,并把请求和响应数据路径限制在 TEE 内。

Aegis 展示了这个小型数据路径改动,同时把认证、调度、账号选择、计费和管理留在主机上。论文中的明文路由器基线允许四类恶意路由器攻击,包括工具调用重写、仿冒拼写依赖替换、触发器门控攻击和被动密钥外泄。在作者的测试中,Aegis 阻止了全部四类攻击,并报告每个请求约 6 ms 的本地中继开销。对于能在开发者机器上运行 shell 命令或安装包的编码代理,这一点最重要。