Loading... # 无人能完全理解整个系统的工作原理 # 一、新闻概述 ## 1. 标题 无人能完全理解整个系统的工作原理 ## 2. 发布时间 2026 年 2 月 8 日 ## 3. 来源 Surfing Complexity 博客 # 二、核心内容 ## 1. 事件摘要 ### A. 主要内容 随着 Twitter 的衰落,LinkedIn 作为社交媒体平台意外崛起,多位技术专家在平台上引发了关于「理解系统工作原理」的深入讨论。 ### B. 核心亮点 - Simon Wardley 警告在不理解底层机制的情况下构建系统的危险性 - Adam Jacob 指出 AI 正在改变软件开发方式,这是不可逆转的趋势 - Bruce Perens 强调 Wardley 担心的场景某种程度上已经发生 - Louis Bucciarelli 从 1994 年的著作中引用电话系统的复杂性案例 ## 2. 关键信息 ### A. 涉及人物 - Simon Wardley:战略架构师 - Adam Jacob:AI 技术倡导者 - Bruce Perens:开源先驱 - Louis Bucciarelli:MIT 工程教授 - Brendan Gregg:Netflix 前技术面试官 ### B. 核心观点 现代技术系统的复杂性已经超出任何个人的理解能力,AI 的发展进一步加剧了这一趋势。 ## 3. 背景介绍 ### A. 相关上下文 这篇文章引用了 Bucciarelli 1994 年出版的《Designing Engineers》一书中的经典论述,说明技术系统的复杂性并非新问题。 # 三、详细报道 ## 1. 主要观点 ### A. Wardley 的观点 在不理解底层机制的情况下构建系统是危险的。这正是「魔法」一词在软件行业被用作贬义词的原因。魔法指的是那些为了简化开发而刻意隐藏底层机制的框架,Ruby on Rails 是使用魔法的典型代表。 ### B. Jacob 的观点 AI 正在改变正常软件开发工作的完成方式。这是一种已证明自身极其有用的新能力,显然不会消失。虽然它代表了软件构建方式的重大转变,让我们离底层实际工作原理更远,但收益超过了风险。 ### C. Perens 的观点 Wardley 担心的场景在某种意义上已经实现。现代 CPU 架构和操作系统包含显著的复杂性,许多软件开发人员对这些东西的真实工作原理愉快地一无所知。他们确实对下层系统如何工作有心智模型,但这些心智模型在根本方面是错误的。 ### D. Bucciarelli 的观点 像电话这样的系统固有的复杂性,建立在如此多不同地方的如此多不同层次之上,以至于没有人能够真正理解整个系统的工作原理。这是复杂技术的基本性质:我们对这些系统的知识充其量只是局部的。是的,AI 会让这种情况变得更糟。但这是我们长期以来所处的状况。 ## 2. 经典案例:电话系统的复杂性 Bucciarelli 讲述了一个关于技术素养的会议故事: 一位社会学家在会议上展示了调查数据,得出结论:我们是一个技术文盲的国家。作为例子,他指出很少有人(少于 20%)知道他们的电话是如何工作的。 这引发了作者的反思:知道电话如何工作意味着什么?是知道如何拨打本地或长途电话吗?这显然不是问题所在。真正的问题可能是关于设备的物理知识:振膜、磁场、线圈…… 但更深层次的问题是:那位社会学家知道他的电话是如何工作的吗?他知道长途电话最优路由使用的启发式算法吗?他知道回声和噪声抑制算法的复杂性吗?他知道信号如何传输到轨道上的卫星并从中检索吗?他知道 AT&T、MCI 和本地电话公司如何能够同时使用同一网络吗? 结论是:没有人真正知道他们的电话是如何工作的。 ## 3. 软件系统的分层复杂性 文章提出了一个经典的技术面试问题:当你在浏览器地址栏中输入 URL 并按回车键时会发生什么?你可以在各种不同层面(HTTP、DNS、TCP、IP 等)讨论发生的事情。 但真的有人理解所有层面吗? - 你知道当你实际按下回车键时操作系统内部触发的中断吗? - 你知道你的笔记本电脑当前使用的 802.11ax Wi-Fi 协议使用什么调制方案吗? - 你能解释正交幅度调制(QAM)和正交相移键控(QPSK)的区别吗? - 你熟悉 ARM 处理器的宽松内存模型吗? - 你了解 JVM 内部的垃圾回收如何工作吗? - 你理解芯片内的场效应晶体管如何实现数字逻辑吗? Brendan Gregg(Netflix 前员工)在技术面试中会不断深入询问候选人知识领域的问题,直到他们达到不再知道的点。然后他会看他们是否会承认「我不知道那个问题的答案」,还是虚张声势。他知道没有人能一直理解系统到底层。 ## 4. 技术讨论的可视化 ```mermaid graph TB subgraph 技术层次 A[应用层] B[框架层] C[运行时层] D[操作系统层] E[硬件层] F[物理层] end A --> B B --> C C --> D D --> E E --> F G[开发者知识边界] -.部分理解.-> B G -.概念理解.-> C G -.几乎不了解.-> D G -.完全不了解.-> E G -.完全不了解.-> F H[AI 代理] -.生成代码.-> A H -.自动化.-> B H -.隐藏复杂性.-> C ```  ## 5. 评论区观点摘要 ### Peter Ludemann 的经历 1977 年,他在 BNR 团队工作,参与首个全数字电话交换机(DMS-100)的开发。他们尝试用计算机科学知识构建优雅的分层抽象,但未能封装一个世纪的模拟电话工程知识。他们借来一位资深电话工程师,程序员们整天去他办公室问问题,George 会思考或查阅书架上的活页夹,给出答案,这些答案被整合到日益复杂的代码中。 ### Emanuele 的观点 没有人知道整个系统是如何工作的,但至少每个人都应该知道他们贡献的部分。作为一个工程师,习惯于成为我工作的堆栈层的专家,知道相邻层的一些内容,大多忽略其余部分的工作。现在 LLM 编写我的代码,我应该掌握哪个部分? ### Gurkan 的观点 所有这些深奥的魔法部分都被熟悉自己领域的人限制和抽象化了。不是每个人都需要知道所有子系统的所有细节,只要知道它们如何「承诺」工作就足够了。如果它不像预期的那样工作,就向了解这些系统的人报告。这就是迄今为止的工作方式。 LLM 在根本层面上改变了这一点:那些「应该知道」某一部分的人发现你实际上不需要,你可以直接让「那个东西」为你做。这意味着其他东西,我怀疑这是人们主要抱怨的事情。 ### Simon Wardley 的回应 问题不在于个人不理解整个链条,这从来不是问题。不查看代码级细节的高管依赖于一群这样做的人。CTO 可以阅读代码。工程经理是通过编写代码晋升上来的。高级开发者审查初级开发者。在这个链条的某个地方,即使扩展到外部供应商,这种理解也存在或至少理论上可以恢复。 在这种情况下,高管外包的是注意力,理解仍然保留在链条中。 对 LLM/GPT 生成代码的担忧不在于开发者委托,因为开发者一直在委托给库、框架甚至编译器。问题在于委托已经扩展到理解。没有链条,只有无法解释其推理的系统,除了为它已经生成的代码生成听起来合理的解释。 推理,理解丢失了。没有理解,学习也就丢失了。 ```mermaid graph LR subgraph 传统开发模式 A1[开发者] -->|理解| B1[库/框架] B1 -->|理解| C1[编译器] C1 -->|理解| D1[硬件] end subgraph AI辅助开发模式 A2[开发者] -->|提示| B2[AI代理] B2 -->|生成代码| C2[运行时] C2 -->|执行| D2[硬件] B2 -.推理不透明.-> A2 end ```  # 四、影响分析 ## 1. 行业影响 ### A. 知识传承危机 随着 AI 代理接管越来越多的编码任务,开发者对底层系统的理解可能进一步弱化。这可能导致知识断层,影响系统的长期维护和调试能力。 ### B. 技能需求转变 开发者可能需要从「编写代码」转向「理解需求」、「设计架构」和「审查 AI 生成的代码」。 ## 2. 技术趋势 ### A. 抽象层继续增加 技术系统的抽象层次会继续增加,每一层都隐藏了下层的复杂性。 ### B. AI 成为新的「魔法」 就像框架和库曾经被视为魔法一样,AI 正在成为新的魔法层,进一步隔离开发者与底层实现。 ## 3. 教育和培训 ### A. 需要重新定义技术素养 技术素养不再意味着理解所有层次,而是理解你所负责的层次,并知道如何与相邻层次交互。 ### B. 系统思维的重要性 理解系统作为一个整体的行为,即使不理解所有组件的实现细节,变得更加重要。 # 五、各方反应 ## 1. LinkedIn 上的讨论 多位技术专家在 LinkedIn 上就这个问题展开了深入讨论,观点各异但都认同一个核心事实:现代技术系统的复杂性已经超出任何个人的完全理解能力。 ## 2. 社区反馈 ### A. 正面观点 - AI 提高开发效率是必然趋势 - 人类已经长期依赖抽象层,AI 只是最新的一层 - 重点应该放在理解和设计上,而非实现细节 ### B. 负面担忧 - AI 生成的代码缺乏可解释性 - 理解和推理的丧失意味着学习的丧失 - 没有人能够理解和解释系统的行为 # 六、相关链接 ## 1. 原文链接 - [Nobody knows how the whole system works](https://surfingcomplexity.blog/2026/02/08/nobody-knows-how-the-whole-system-works/) ## 2. 相关资源 - Simon Wardley 的 LinkedIn 帖子 - Adam Jacob 的 LinkedIn 帖子 - Bruce Perens 的 LinkedIn 帖子 - Louis Bucciarelli 著作《Designing Engineers》 ## 3. 延伸阅读 - [Active Knowledge](https://surfingcomplexity.blog/2023/06/26/active-knowledge/) - 作者之前关于主动知识的文章 *** ## 参考资料 1. [Nobody knows how the whole system works - Surfing Complexity](https://surfingcomplexity.blog/2026/02/08/nobody-knows-how-the-whole-system-works/) 最后修改:2026 年 02 月 10 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏