Lobsters
Comprehension Debt — the hidden cost of AI generated code
什么是理解债务?
Comprehension Debt 是人类智能和记忆因过度依赖 AI 和自动化而累积的隐藏成本。对于工程师来说,这与代理工程最相关。
定义: 理解债务是你的系统中存在的代码量与任何人类真正理解的代码量之间越来越大的差距。
关键发现
1. Anthropic 研究:AI 损害技能形成
- 52 名软件工程师学习新库的随机对照试验
- 使用 AI 辅助的参与者完成任务时间相近,但后续理解测验分数 低 17%
- AI 辅助组:50% | 对照组:67%
- 最大下降在 调试 领域
2. 速度不对称问题
AI 生成代码的速度远快于人类评估它的速度:
- 过去:高级工程师可以比初级工程师更快地审查代码
- 现在翻转:初级工程师生成代码的速度超过高级工程师的审查能力
- 曾经的质量门现在是吞吐量问题
"瓶颈一直是理解项目的能力。AI 创造了你已经摆脱它的错觉。"
3. 测试不是完整答案
- 覆盖所有可观察行为的测试套件在许多情况下比它验证的代码更复杂
- 你无法为你没有想到要指定的行为编写测试
- 当 AI 改变实现行为并更新数百个测试用例时,问题变成:"这些测试更改都必要吗?"
关键数据:
- 使用 AI 进行代码生成的开发者:理解测试分数 < 40%
- 使用 AI 进行概念性询问的开发者:理解测试分数 > 65%
4. 规范也不是完整答案
将规范转换为工作代码涉及大量隐式决策:
- 边缘情况
- 数据结构选择
- 错误处理
- 性能权衡
- 交互模式
"足够详细以完全描述程序的规范基本上就是程序本身,只是用不可执行的语言编写。"
为什么理解债务如此危险
- Velocity metrics 看起来完美: DORA metrics 保持稳定,PR 数量增加,代码覆盖率绿色
- 但无法看到理解赤字: 没有组织测量输出的维度捕获这个维度
- 技术债务通常是有意识的权衡 — 理解债务无形累积
监管即将来临
当 AI 生成的代码在医疗系统、金融基础设施和政府服务中运行时,"AI 写了它,我们没有完全审查它"在事后报告中站不住脚。
结论
让代码生成便宜并不意味着可以跳过理解。 理解工作是工作。
AI 处理翻译。但必须有人理解产生了什么,为什么以那种方式产生,以及这些隐式决策是否正确——否则你只是在推迟一个最终会全额到期的账单。