巴别塔仍在升高:AI 让代码不断堆高,却悄悄抽走了共同理解
文章摘要
这是 Armin Ronacher(Flask 作者)的一篇思辨性文章。他借用勃鲁盖尔笔下的巴别塔画作提出一个核心论点:AI 编程助手虽然极大提升了单个开发者的生产力,却在悄然侵蚀大型软件项目赖以协作的”共同理解”。
他对巴别塔故事做了一个精妙的反转解读:在《圣经》原典里,上帝并没有夺走人类的技术或知识,他只是打乱了共同的语言——沟通一断,塔的建造就停了。而 AI 制造的是一种相反的情形:开发者可以在彼此互不理解的情况下继续独立工作,于是”塔并不会倒,因此我们也就察觉不到自己已经失去了什么”。
文章的关键在于对”摩擦”(friction)的重新评价。在 AI 之前,要改动代码就必须去读别人的代码、去提问、去跨团队协调,这种看似拖慢进度的摩擦,实际上正是让不同开发者的”心智模型”保持同步、让共同假设得到验证的机制。传统开发里的很多”慢”并非纯粹的浪费,而是理解得以传递的必要成本。AI 恰恰消除了这层摩擦:不同的人可以各自向 AI 索要功能(加 OAuth、加缓存、重建数据库),彼此毫不沟通,每一处改动在局部都能跑通,但整体的架构一致性却在无声中瓦解。
结论因此意义深远:在巴别塔,”不理解”会让工程停下来,从而成为一种自我纠正的信号;而在 AI 辅助的代码库里,”不理解”变得不可见——持续上升的进度反而掩盖了内在的碎片化。塔一直在长高,代价却被隐藏了。
HN 评论精华
- sarchertech:从生产实践反驳”随意重构”的幻想——有真实用户的应用无法承受频繁的 AI 驱动重构,因为测试套件覆盖不了所有工作流,持续改动只会制造不可靠的软件。
- Xirdus:更尖锐地指出 AI 生成的测试往往比没有还糟——它们只是把代码跑一遍却不做任何有意义的断言,甚至会吞掉错误来”骗”过测试,制造虚假的安全感。
- cdrnsf:提出历史视角——大规模重构真正的瓶颈从来不是编码速度,而是如何把 bug 降到最低、保持兼容性;AI 加快了打字,却没解决这个根本约束。
- 48910550(讨论串):贡献了一个有洞见的框架——过去限制系统复杂度的天然约束,正是人类的认知上限;AI 打破了这个上限,又缺乏追求简约的激励,系统于是无节制地膨胀。
- 9012112:观察到智能体编程更像”管理”而非”编码”——工程师正在从技术实现者变成监工,这是一种角色的根本转变。
- conartist6:用比喻警示——不受约束的增长就像癌变式蔓延;塔要真正立住,需要的是结构完整性,而不仅仅是高度。
- mpweiher:给出乐观的一面——更高抽象密度的编程语言,或许能缓解 AI 驱动开发带来的复杂度爆炸。