研究想法

Verification Gates for Code Automation

日 · 2026-04-27 · Software Intelligence

团队可以先用小型 harness 把编码代理放到项目规则、基准工件和迁移契约的约束下测试,再信任更大规模的自动化。证据支持对代理 PR 加产品上下文门控、对执行型基准做自动审计,以及对无服务器迁移做分阶段检查,以保持生成代码和基础设施一致。

3 个想法

Decision-compliance checks for coding-agent pull requests

当所需行为不在仓库中时,产品和工程团队应该在由代理编写的 PR 里加入决策一致性检查。这个检查可以把产品决策转成任务级验收标准,覆盖已批准的 UI 组件、auth wrappers、feature flags、audit logging、ORM 选择和废弃模式。一个轻量评分器可以用正则检查 git diff,再把不确定的情况交给人工复核。

现在就测试这一点很实际:仅靠代码库访问会漏掉存放在 spec、wiki、产品工具或审计文档里的决策。在 Context-Augmented Code Generation 中,只能访问代码库的 Claude Code 在 8 个 Next.js 任务上的加权决策一致性为 46%。加入 Brief 后,它可以检索已记录的决策,并在 spec 生成和中途咨询时提供指导,一致性提高到 95%,消除了阻断性违规,并让研究中的所有 8 个任务都达到了可合并状态。

本地试点可以选 10 个最近的工单,这些工单都有已知的跨文档要求。先只给代理仓库访问权限跑一次,再加上检索到的决策和验收标准跑一次。比较阻断性违规、废弃模式使用、添加的测试和审阅返工。公开结果规模小,而且是在 clean-room 环境中完成的,所以本地测试应重点看团队自己的隐藏规则是否被遵守。

Automated artifact audits for execution-based agent benchmarks

做基准维护的人和运行内部代理评估的团队,在把分数用于模型选择前,应该先加一道审计步骤。审计应比较每个任务的指令、参考程序、评估脚本和环境配置,并标出矛盾之处,比如输出定义不清、会拒绝正确答案的评估逻辑、损坏的参考代码,以及环境假设不一致。

BenchGuard 给出了这个流程的具体模板。它用结构化 LLM 审计、确定性的静态检查,以及可选的代理程序或执行日志,检查完整的任务工件栈。在 ScienceAgentBench 上,它发现了 102 个任务中的 12 个经原作者确认的缺陷。在 BIXBench Verified-50 上,五模型审计与 24 个专家识别的原子问题中的 20 个完全一致,并与 24 个中的 23 个部分匹配。公开的审计成本是:50 个 BIXBench 任务为 14.38 美元,102 个 ScienceAgentBench 任务在仅定义模式下为 22.72 美元。

采用路径很小:在任何用于采购、回归测试或排行榜报告的执行型基准上,先跑一段 50 个任务的样本。先修复致命任务错误和评估器不匹配,再重新跑受影响的模型对比。这样可以避免团队根据坏测试来选工具。

Static-analysis artifacts for agent-assisted serverless migration

云迁移团队可以通过要求在生成代码和基础设施之前先产出明确的中间工件,来减少代理漂移。对于单体到无服务器的迁移,静态分析报告应捕获 HTTP 入口点、文件归属、调用边、异步行为和模式候选项。还应先有一个单独的架构工件,把端点映射到 Lambda 函数和云资源,然后再生成任何 Lambda handlers 或 AWS SAM templates。

Mono2Sls 在一个范围较窄但很有用的场景中展示了这个模式:把 Flask 和 Express 应用迁移到 AWS SAM 应用。它的流程先写 analysis_report.json,再写 blueprint.json,然后生成 Lambda 代码和 template.yaml,最后做 11 项跨工件一致性检查。在 6 个基准应用上,它覆盖了 10,478 行代码和 76 个可观察业务端点,报告的结果是:没有人工修复时部署成功率 100%,端到端正确率 66.1%,API 覆盖 F1 为 98.7%。消融研究把 23.4 个百分点的端到端正确率归因于静态分析引导的架构规划。

团队可以先在一个低风险的内部服务上测试这一方法,要求代理产出这些工件,并在 routes、handlers、IAM resources、DynamoDB tables 或 SAM 声明不一致时直接让运行失败。第一条成功标准应是可部署性和 API 覆盖,然后再看业务行为测试。