巴别之塔 - Tower of Babel

当 Agent 成为新的抽象层:我们正在走向一场知识传承危机吗?

抽象层越高,你在正常路径上效率越高。但当抽象泄漏时,你需要的不是"稍微懂一点"的人,而是能从表象一路穿透到底层原理的人。

而这样的人,正在变少。

Layered erosion abstraction stockcake


从一条古老的定律说起

2002 年,Joel Spolsky 提出了 The Law of Leaky Abstractions(抽象泄漏定律):所有非平凡的抽象,都在某种程度上是有泄漏的。

TCP 承诺可靠传输,但网络拥堵时它会泄漏——你不得不理解 IP 层的行为。ORM 承诺你不需要写 SQL,但慢查询出现时它会泄漏——你不得不理解查询计划和索引。高级语言承诺你不需要管内存,但内存泄漏发生时它会泄漏——你不得不理解 GC 的工作原理。

Spolsky 的洞察很简单:抽象让你在 99% 的时间里更高效,但那 1% 的泄漏时刻,你需要的知识深度反而比没有抽象时更大。 因为你不只需要理解底层发生了什么,你还需要理解抽象层如何歪曲了底层的行为。

这条定律在软件工程中已经被验证了无数次。而今天,我们正在建造有史以来最大的抽象层——AI Agent。

Agent:有史以来最厚的抽象层

当我们让 Agent 写代码、做设计、跑数据分析时,我们本质上是在做一件和 TCP 抽象 IP、ORM 抽象 SQL 一模一样的事情:把一项需要深度理解的工作,封装成一个"输入需求、输出结果"的黑盒接口。

和所有抽象一样,这在大部分时间里效率极高。一个用好 Agent 的初级工程师的产出,可能超过五年前一个高级工程师的产出。

但 Spolsky 的定律不会因为这个抽象层碰巧是一个大语言模型就失效。Agent 会泄漏。 而且它的泄漏方式比传统抽象更加隐蔽和危险。

TCP 泄漏时,你会看到超时错误。ORM 泄漏时,你会看到慢查询日志。这些泄漏是显式的、可观测的。但 Agent 的泄漏可能是:它生成了一段在统计上合理但在概念上错误的代码;它做了一个表面上正确但在边界条件下会崩溃的设计决策;它给出了一个看起来很专业但逻辑链中有一环是幻觉的分析。

你甚至可能不知道它泄漏了。 系统在正常运行,测试在通过,直到某天某个边界条件被触发,你才发现整栋楼建在一个 Agent 三个月前虚构的假设之上。

一场正在发生的预演:美国制造业

如果你觉得这个担忧太理论化,看看美国制造业——它正在经历一场和"Agent 时代知识传承危机"几乎同构的灾难。

从 1980 年代开始,美国企业把制造"抽象"成了一个外包接口:你下订单,对方交货,中间的物理过程你不需要关心。华尔街奖励这种做法——轻资产、高 ROE,股价好看。

波音是这个故事最惨烈的注脚。1997 年与 McDonnell Douglas 合并后,一批财务导向的高管系统性地用"效率优化"替代了工程文化。有经验的老工程师退休了,中间一代在裁员中被淘汰,新一代从未在车间里摸过铆钉。工程判断让位于季度财报。

这个过程是渐进的、不可感知的。 每一步都是"合理的效率优化"——外包这个零件省 5%,裁掉这个团队省一个部门的开销。直到 737 MAX 的 MCAS 连续导致两起坠机,直到 787 的外包供应链失控,直到一架飞机在飞行中门塞板飞脱,所有人才意识到:那些被"优化"掉的,不是冗余,是抗风险能力。

而现在想要重建这种能力,成本是天文数字。台积电在亚利桑那建厂的困难已经说明了:你不能只搬设备,你需要搬整个知识生态——工艺经验、供应链关系、技工培训体系、工程师的直觉判断。这些东西一旦断裂,不是花钱就能买回来的。

这就是抽象泄漏定律在产业层面的体现:外包让你在正常情况下更"高效",但当泄漏发生时(疫情、质量失控、地缘冲突),你发现修复所需的能力已经不在自己手里了。

Agent 时代的知识退化路径

把波音的故事平移到 Agent 时代,你几乎可以逐帧预测接下来会发生什么:

第一阶段:效率狂欢。 Agent 能解决大部分问题,工程师的产出飙升。会用 Agent 的人成为新的"10x engineer"。深度理解底层原理的人看起来像恐龙——他们花三天手动排查的问题,Agent 用三分钟就解决了。

第二阶段:激励扭曲。 市场开始停止为深层知识定价。公司招聘时看重"prompt engineering"和"Agent 工作流设计",而不是"能从头实现一个分布式共识协议"。这不是因为后者不重要,而是因为在 99% 的日常工作中它确实不需要。教育体系跟随市场信号调整——为什么要花四年教学生操作系统原理,如果他们毕业后只需要告诉 Agent “帮我写一个调度器”?

第三阶段:隐性退化。 能在 Agent 泄漏时穿透到底层修复问题的人越来越少。这个过程是渐进的、不可感知的,就像波音的工程能力萎缩一样。大部分时候没有人注意到,因为 Agent 在 99% 的情况下工作得很好。偶尔出现的泄漏由少数剩余的"深度理解者"修复,他们被视为昂贵的遗老,而不是关键的基础设施。

第四阶段:临界点。 某一天,一个关键领域的"深度理解者"数量降到了临界点以下——可能是退休、可能是转行、可能是新一代根本没有人走上这条路。然后一个 Agent 无法处理的泄漏发生了,而这次,没有人能修。

历史上知识断裂的模式

这种担忧不是科幻想象。人类历史上有过多次知识断裂,而它们的共同模式惊人地一致:

罗马混凝土。 古罗马人掌握了一种特殊的混凝土配方(掺入火山灰),使得万神殿的穹顶两千年后仍然完好。这个配方在帝国崩溃后失传了——不是因为罗马人变笨了,而是因为维持这套知识体系的社会制度和经济激励消失了。直到 2023 年,MIT 的研究团队才通过分析古代样本重新破解了其中的关键机制。

希腊火。 拜占庭帝国的秘密武器,一种能在水面上燃烧的燃烧剂。因为知识被限制在极少数人手中(出于军事保密),当这条极窄的传承链断裂后,配方永久失传。至今只有猜测,没有定论。

阿波罗登月。 NASA 已经公开表示过,以目前的能力重新制造土星五号火箭是极其困难的。不是因为图纸丢了(大部分还在),而是因为图纸背后那些"为什么选择这个参数"“这个焊接工艺的关键诀窍是什么"的隐性知识,随着那一代工程师的退休而消散了。

这些案例有一个共同点:知识的断裂从来不是因为某一天有人决定"我们不再需要这些了”。它总是在一切看似正常运转的时候,因为激励消失、传承链变窄、新一代无人入行,而悄然发生的。

当一切运行良好的时候,恰恰是系统最脆弱的时候——因为"一切运行良好"本身就在削弱你应对异常的能力。

我们能做什么

知识传承问题没有银弹,但有几条值得认真思考的路径:

1. 让 Agent 成为知识传承的载体,而不仅是执行工具

今天的 Agent 是黑盒——给你答案,不告诉你"为什么"。如果我们能让 Agent 在执行任务的同时生成可审计的推理链,并将其沉淀为结构化的知识库,那 Agent 就不只是在替你干活,它同时在为后人留下"这件事为什么要这样做"的记录。

这类似于软件工程中的 ADR(Architecture Decision Record):不只记录结论,而是记录推理过程、考虑过的替代方案、以及选择背后的 tradeoff。如果每一次 Agent 解决 leak 的过程都被自动沉淀成一份带上下文的案例,未来的人就有可能通过这些案例重建理解。

当然,前提是这个系统本身被良好地设计和维护——这就引出了一个自指问题:谁来维护知识传承系统?这个问题后面再说。

2. 刻意维持"深度理解者"的最低存量

知识传承的本质不是让所有人都懂,而是确保每一层永远不要空

核电站运维工程师大部分时间"无事可做",但社会通过制度安排(监管要求、高薪、专业认证)确保始终有足够的人维持这种能力。航空安全调查员同理。这些角色的存在不是因为它们日常产出高,而是因为它们在异常情况下不可替代。

Agent 时代可能需要为关键技术领域建立类似的制度:规定某些系统必须有能从底层重建的人类专家,就像我们规定核设施必须有持证工程师一样。这不是市场自发会做的事——波音的案例已经证明了市场可以把这种冗余"优化"到零——它需要有意的制度设计。

3. 重塑教育:从"学会做"到"学会审计和重建"

Agent 时代的教育不应该在"教不教底层知识"之间二选一,而应该培养两种层次的能力:

审计能力——理解 Agent 输出的含义,能判断它是否合理,能识别隐蔽的错误。这需要你理解一到两层以下的抽象,不需要能从零重建,但需要能闻出"这里不对劲"。大多数工程师需要这种能力。

重建能力——如果 Agent 不可用了,能从原理出发重新构建系统。这需要穿透所有抽象层的深度理解。少数人需要这种能力,但这少数人的存在是文明韧性的底线。

有意思的是,Agent 本身可能是训练这两种能力的最好工具。让学生用 Agent 解决问题,然后要求他们解释 Agent 的方案为什么是对的——或者找到为什么是错的。这比传统教育中从零开始教可能更高效,因为它直接训练的是在抽象泄漏时最需要的技能:在黑盒之上建立判断力。

4. 知识的"种子化"保存

不是所有知识都需要被活跃地传承。有些知识可以以"种子"的形式保存——不是让每一代人都完全掌握它,而是确保在需要时可以从种子重新培育出完整的知识树。

Linux 内核的源码、文档、mailing list 归档、commit history,合在一起构成了一颗知识种子:一个聪明人在足够时间内,理论上可以从这些材料重建对操作系统的完整理解。

Agent 时代的知识种子可能需要更刻意地设计。不只是代码和文档,还需要包含元信息:这段知识为什么重要?在什么场景下你会需要它?从哪里开始学?前置知识是什么?这类似于给未来考古学家写的注释——你不知道他们什么时候会需要它,但你确保他们找到时能用得上。

一个根本性的张力

所有这些方案都面临同一个悖论:知识传承的基础设施本身也是一个抽象层,它也会泄漏。

谁来维护让 Agent 生成推理链的系统?谁来设计培养"深度理解者"的教育制度?谁来确保知识种子没有腐坏?这些工作本身就需要深层理解,而这恰恰是我们试图保存的东西。

这是一个自指问题,类似于"谁来监督监督者"。我不认为它有一个干净的解答。

但生物学提供了一个启发:DNA 修复不靠一种酶,而是靠多种不同的修复机制互相兜底——碱基切除修复、核苷酸切除修复、错配修复、同源重组。任何一种机制失效,其他机制可以补位。正是这种冗余,让生命在几十亿年的突变压力下维持了遗传信息的完整性。

文明的知识传承可能也需要这种冗余:有人在用 Agent 高效工作,有人在审计 Agent 的输出,有人在维护知识种子,有人在从零学习底层原理"以防万一"。这些角色之间的比例会随着 Agent 能力的提升而变化,但只要没有任何一种角色完全消失,系统就还有自我修复的能力。

最后

Agent 时代最大的风险不是 Agent 不够强,而是它太强了——强到让我们以为不再需要理解它替我们做的事情。

Spolsky 在 2002 年写下抽象泄漏定律时,讨论的是 TCP 和 SQL。二十多年后,我们正在建造一个把整个工程能力抽象掉的系统。定律没变,赌注变大了。

能力的保存不会自动发生。每一次"我们不再需要理解这个"的判断,都是在知识传承的某一层上减少一份冗余。减到零的那一刻,你不会收到任何告警。

直到泄漏发生。


如果你觉得这篇文章有价值,也许最好的回应不是收藏它,而是找一个你已经完全交给 Agent 的领域,花一个下午搞清楚它底下到底是怎么工作的。

那可能是你为自己——以及为文明——买的最便宜的一份保险。

#AI #Engineering