从一个真实事故谈起
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,而是要判断代码、业务、风险和语境之间是否真的对齐。
