技术笔记

Coding Agent 验收:补丁、测试与独立证据

代码代理的交付物是可检查的补丁和验证结果。

2026年5月20日阅读约 2 分钟
Coding Agent测试回归

任务完成需要什么证据

代码代理的交付物是可检查的补丁和验证结果。生成一个看起来合理的实现,不等于修复了原始缺陷。开始前应定义触发条件、预期行为和禁止改动范围,并记录工作区已有修改。

测试命令退出码、测试覆盖的场景与运行环境应一起保存。构建通过只能证明编译链路,不代表登录隔离、浏览器交互或移动端布局正确。

可运行的检查执行器

以下示例运行一个受信任的固定命令,保留超时和退出码。不要把未经校验的用户输入拼进 shell 命令。

import { spawnSync } from "node:child_process";
import assert from "node:assert/strict";
const result=spawnSync(process.execPath,["-e","process.exit(0)"],{
  shell:false,timeout:1000,encoding:"utf8"
});
assert.equal(result.error,undefined);
assert.equal(result.status,0);

防止测试污染

修复时可以添加针对缺陷的回归测试,但不能通过删掉失败断言、替换预期答案或关闭规则来制造成功。涉及数据库权限时,应建立两个独立账户,并验证对方的数据不可读、不可写、不可删。

浏览器测试需要检查真实输入和状态转换。界面不存在异常日志并不能证明业务成功,应该同时核验请求状态、数据库结果和用户看到的反馈。

发布前的边界

代理可以准备迁移和回滚步骤,但生产发布应使用已验证构建,保留旧版本并执行健康检查。真实外部副作用应在授权范围内进行;使用模拟服务时必须说明模拟了哪部分,避免把测试结果当成线上证据。

原始资料

  • SWE-bench:真实软件问题评测的研究背景。本文的检查流程不是 SWE-bench 分数或模型能力比较。

感谢阅读本文

如果你觉得内容有帮助,欢迎点赞支持或分享给同行开发者。

425 次阅读23 人赞过