抽象层越高,正常路径上的效率越高。但是当抽象层泄漏,从抽象层穿透到底层原理的知识反而需要的越多。
2002 年,Joel Spolsky 提出的 The Law of Leaky Abstractions: 所有非平凡的抽象,都在某种程度上是有泄漏的。TCP 承诺可靠传输,但是网络拥堵时会泄漏—你必须了解 IP 层的行为;ORM 承诺不必写 SQL,但慢查询出现时会泄漏 — 你必须理解查询计划和索引;高级语言承诺你不必管理内存,但内存泄漏时 — 你必须理解 GC 的工作原理。
Spolsky 的洞察很简单:抽象让你在 99% 的时间里更高效,但是 1% 的泄露时刻,你需要的知识深度反而比没有抽象时更大。
这条定律在软件工程中无数次验证,今天我们在建造有史以来最大的抽象层 — AI Agents
我们能做什么
保存可审计的推理链
类似软件工程中 ADR(Architecture Decision Record): 不只是记录结论,而是记录推理过程,考虑过的替代方案,以及选择背后的 tradeoff
Grill-with-docs 保存的就是这个过程
刻意维持深度理解者的最低存量
某些系统必须有能从底层重建的人类专家
重塑教育:从学会做到学会审计和重建
- 审计能力 — 理解 Agent 输出的含义,能判断是否合理,能识别隐蔽的错误,大多数工程需要这种能力
- 重建能力 — 少数专家需要这种能力
知识的种子化保存
Linux 内核的源码、文档、mailing list 归档、commit history,合在一起构成了一颗知识种子:一个聪明人在足够时间内,理论上可以从这些材料重建对操作系统的完整理解。