运行编码代理的团队可以在每次运行周围增加更有用的审查点:补丁前查看过的具体代码区域、用于识别测试作弊的随机化评测器检查,以及针对第三方 skills 的运行时检查。共同的运营需求是:代理成功或失败之后,都能审计这些证据。

3 个想法

编码代理补丁前的行范围探索报告

编码代理团队应该记录代理在写补丁前查看过的文件路径和行范围,然后在一个留出的 issue 集上,把这些区域和已知修复进行比对评分。SWE-Explore 说明了为什么这是一项可行的评估目标:它要求探索器在固定行数预算下返回按排序的代码区域,真实标注来自成功修复轨迹。它的探索指标与下游修复率相关,包括 Context Efficiency 的 Pearson r=0.950,以及 first useful hit 的 r=0.928。

一个成本不高的内部测试做法是回放 50 到 100 个已关闭的 issue,隐藏最终补丁,让每个代理在编辑前先给出五个排序后的区域。评审就可以把“没找到相关代码”和“没写出补丁”区分开来。这比单一的通过或失败结果更能说明工程经理和工具开发者这次运行为什么失败。

编码代理评测套件中的上限随机测试

基准维护者和内部评测团队可以在一部分编码任务里加入随机化的可接受输出,然后标记超过预期上限的分数。CapCode 把上限定义为 B = 1/M,其中任务有 M 个同样有效的输出,而评测器只抽取其中一个。非作弊代理无法知道被抽中的值,所以超上限结果会变成一个统计警示,提示可能存在泄漏测试、硬编码输出或与评测器相关的行为。

这可以先作为现有评测套件中的一个 canary 集。团队保留正常测试来测能力,再加入 capped 变体来查泄漏,并对重复提交做单侧二项检验。真正有用的结果不只是分数更低,而是提示代理的评测提升可能来自利用可获得的反馈。

第三方编码代理 skills 的运行时沙箱检查

允许 Claude Code、OpenCode、Cursor、Gemini CLI 或类似工具加载第三方 skills 的组织,需要在安装前做一次检查,在沙箱里执行每个 skill,并观察文件、进程、网络和工具行为。MalSkillBench 表明,skills 会把 markdown 指令、可执行脚本和代理工具使用结合起来,所以只做静态代码扫描,可能漏掉依赖代理在运行时遵循指令的攻击。

一个实用的门禁是给新的 SKILL.md 包做一个小型隔离服务。它在 Docker 里配合测试代理运行 skill,记录系统调用和文件变化,并阻止与已知恶意行为匹配,或者要求不安全工具权限的 skill。基准里的误报结果对落地很重要:高召回的迁移工具在 4,000 个良性 skill 上产生了多达 3,979 个误报,所以团队在大范围启用检测器前,应该同时测被拦住的攻击数和对开发者的干扰。