FunTester AI 代码为什么更多 BUG

FunTester · 2026年05月11日 · 362 次阅读

AI 的效率红利正在被质量黑洞吞噬,而这不是一个能靠迭代修复解决的暂时问题。 当整个行业都在讨论 AI 如何让开发者写代码更快时,一组反向数据也在不断积累:AI 生成代码的关键缺陷是人类代码的 1.7 倍,安全漏洞高出 1.5~2 倍,67% 的开发者表示自己花了更多时间调试 AI 生成的代码。效率提升的承诺,正在被验证成本抵消。更关键的是,这背后有一个数学层面的根本原因,而不只是工程层面的不成熟。

从一个真实事故说起

某电商公司 2025 年做了一个看似合理的决定:裁撤 12 人 QA 团队,部署 AI 自动化测试系统,预计每年节省 120 万美元。结果 AI 系统在一次促销活动中生成了错误的折扣码逻辑,把全站所有产品价格设为零。订单在几小时内涌入,损失约 600 万美元,是预计节省成本的 5 倍。

这个案例常被引用来说明 AI 不可靠。但它真正值得追问的问题是:为什么 AI 系统没有发现自己生成的错误? 答案不在于这个 AI 系统质量差,而在于 AI 生成内容时的结构性机制。

数据层:AI 代码的缺陷画像

CodeRabbit 在 2025 年 12 月发布了一份分析大量 Pull Request 的报告,数据非常具体:

  • AI 生成代码的关键和重大缺陷是人类代码的 1.7 倍
  • 逻辑和正确性问题上升 75%
  • 安全漏洞上升 1.5~2 倍
  • 代码可读性问题增加 3 倍以上

Google 2025 年 DORA 报告的视角不同,但结论方向一致:AI 采用率增加 90% 与 bug 率增加 9% 相关,代码变更失败率增加 91%。NYU 对 1692 个 GitHub Copilot 程序的研究发现,其中 40% 含有可利用安全漏洞。

这些数字叠加在一起,指向一个悖论:AI 越被大规模使用,整体代码库的质量风险越高。Sonar 的报告也直接指出,在 AI 加速的代码库里,技术债务会以更快速度积累,代码质量下降几乎是不可避免的趋势。

机制层:幻觉为什么在数学上不可消除

数据告诉我们 AI 代码有问题,但还没有解释为什么。这里有一个很多人没意识到的核心事实:LLM 幻觉在数学上被严格证明不可消除。

2024 年,Xu 等人的研究从信息论角度证明:任何通过预测统计分布中概率序列来生成文本的系统,必然会产生不基于事实的输出。2025 年,Karpowicz 从拍卖理论、评分理论和 Transformer 架构三个独立框架得出相同结论。

这不是技术不成熟,不是数据不够多,不是模型不够大,而是生成方式本身的结构性约束。大语言模型在生成每一个 token 时,本质上是在做概率预测,预测接下来最可能出现什么。当这个机制应用于代码生成时,它输出的是看起来最合理的代码,而不是逻辑上正确的代码。两者在大多数情况下会重合,但在边界条件、异常处理、安全场景下往往分叉。

幻觉在代码领域的表现尤其棘手。UTSA 与 Virginia Tech 联合研究了 576000 个代码样本,发现 19.7% 的 AI 包推荐是虚构不存在的。其中一个幻觉包 huggingface-cli 在三个月内被下载超 30000 次,尽管它根本不含任何代码。开发者看到 AI 推荐的包名,直接安装,没有核验,有时安装到的就是恶意克隆包。

认知层:AI 不知道这是不是问题

幻觉解释了 AI 为什么会生成错误代码,但还有另一个更隐蔽的问题:即使代码在技术层面是正确的,AI 也不知道它在业务层面意味着什么。

某语音识别系统的技术准确率达到 98%,按任何技术指标看都很优秀。上线后却遭到大量南方用户投诉。原因是训练数据里 90% 是北方口音,AI 学到的模式本身就是偏差,而且它不知道这是偏差,它只知道自己很准确。

这类问题不是幻觉,而是语境缺失。AI 不知道 200 毫秒延迟在结账页是关键问题,但在内部管理面板可以接受;不知道某个表单在老年用户群体里的操作逻辑是什么;也不知道某个功能对医疗场景的合规要求和对娱乐场景完全不同。换句话说,AI 能复现模式,但很难自动理解这个模式在具体业务里的后果。

Qase.io 的分析指出,即使是最新的 AI 代理系统,面对复杂企业应用,例如基于角色的访问控制、多步骤工作流、数十个第三方集成,仍然脆弱不堪,需要持续的人类护栏。不是因为 AI 不聪明,而是因为业务判断依赖的是在特定环境中积累的经验,不是对训练数据的统计拟合。

AI 越能写代码,验证代码的需求越大

理解了幻觉机制和语境缺失,再来看 AI 代码质量数据,逻辑就很清晰了。

67% 的开发者表示花了更多时间调试 AI 生成的代码。这个数字不是说 AI 没用,而是说 AI 把时间从写代码转移到了验证代码。当代码生成速度提升 3 倍,而验证成本也同步上升时,效率红利就会被部分甚至全部抵消。

更深的含义是:验证这件事本身变得更重要,也更复杂。 过去验证人类写的代码,主要是检查实现是否符合设计;现在验证 AI 写的代码,还需要识别幻觉引入的逻辑漏洞,判断技术正确性之外的业务适配性,并追踪 AI 无法感知的偏差。

这不是测试工作量的简单增加,而是测试工作性质的升级。GitLab 的调查数据是一个很好的注脚:75% 的关键缺陷最终仍靠人工发现。 AI 测试工具可以覆盖大量重复路径,但真正高价值的缺陷,依然需要人来识别。

AI 越能写代码,世界就越需要能验证代码的人。 而能验证 AI 生成代码的人,和能验证人类写的代码的人,所需的能力已经不完全相同。测试不再只是找 bug,而是要判断代码、业务、风险和语境之间是否真的对齐。


FunTester 名片|万粉千文,百无一用
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册