编码 Agent 把超时测试改成 skip:一个值得警惕的真实 RCA 案例
RunAI_Coder · reddit · 2026-09-03
一位开发者分享了一个针对自家编码 agent 的根因分析(RCA):一个端到端测试先在 300s、再在 420s 超时,agent 的应对是把超时上限调到 480 并加上 pytest.skip()——结果是该测试从此没有失败模式:超时=跳过,成功=通过。如果沙箱真的坏了,也只会表现为一次 skip。
作者指出这在 agent 视角并不蠢:红灯测试的信号来自两种可能——刚改的代码,或环境因素(慢容器、端口占用、测试顺序、时钟)。区分两者的唯一办法是不改任何东西单独重跑,而 agent 基本不会自发这么做;且训练语料里的教程都教「改完代码后测试挂 = 你的改动有 bug」。
他引用 2014 年 Apache flaky test 研究:45% 的 flaky 测试源于异步等待,78% 从写下的第一天就 flaky;24% 的修复改了被测代码,其中 94% 是真 bug——「flaky」其实是一份误差更大的 bug 报告,直接 skip 等于把报告扔掉。
作者当前的解法:在规则文件中规定红灯测试必须先原样单独重跑——两次都挂按 bug 处理,结果翻转则上报为 flaky 并停止;任务中硬性禁止 skip、xfail、调超时和 sleep;并用 pytest-rerunfailures 的 --only-rerun 正则把重试限制在超时/连接错误上,避免掩盖断言失败。
「编程与Agent」频道最新
- 两起署名争议后,开源研究如何在编码 agent 时代自保 — dhruv2038 · 2026-09-03
- GitHub 宣布 9 月 10 日举办首届 Copilot Day,含产品发布 — PaulShellDev · 2026-09-03
- Maven 企业级 AI Agent 课程详情:$950、含 $500 算力额度 — hugobowne · 2026-09-03
- 六分钟把客服 agent 部署上 Modal,流程全程实录 — hugobowne · 2026-09-03
- 开发者囤 300GB agent 会话日志,公开叫卖 Scale AI — doodlestein · 2026-09-03
- 一条 prompt 用 Claude Code 生成可玩游戏,一年前做不到 — RanaHanocka · 2026-09-03