LLMs: The Next Rung on the Ladder of Abstraction
摘要
这篇文章认为大型语言模型是软件抽象历史中的新一级,使自然语言成为接口,提升了人的能动性,但不会终结编程,而是延续了从意图取代实现的趋势。
暂无内容
查看缓存全文
缓存时间: 2026/07/30 01:47
TL;DR: LLMs 延续了软件抽象的历史——从意图取代实现的角度看,它们让自然语言成为新的接口,提升了人的能动性,但不会终结编程,而是阶梯上的新一级。
## 引言:从1975年的预言说起
想象一下,你走进1975年的一家软件公司,对满屋子汇编程序员说:50年后,数百万从未学过计算机科学的人,只需用英语描述他们想要什么,就能构建软件。他们大概不会相信你。不是计算机做不到,而是因为他们无法想象这把梯子还能再上一级。今天,我们正亲眼看着这一级阶梯在现实中浮现。
软件的历史其实不是编程语言的历史,而是抽象的历史。每一次我们爬上一级新的抽象层,都极大地拓展了谁能创造软件、以及他们能创造出什么。大型语言模型并没有打破这一模式,而是在延续它。
## 抽象到底是什么?
人们通常说抽象是隐藏复杂性。这没错,但有个更好的定义:**抽象是用意图取代实现的过程**。
想想开车。当你踩下油门时,你并不会去想火花塞、喷油器、曲轴或燃烧化学。你只是在表达一个意图:加速。底下的一切把那个意图转化成成千上万的机械操作。复杂性并没有消失,它只是被放到了接口背后。软件的工作原理完全一样。当一个程序员调用 `sort` 函数时,他并不是在逐条指令地比较内存地址。别人已经解决了那个问题。他只需要说:“把这个列表排序。”这就是抽象做的——让人类少想“如何发生”,多去想“想要什么”。
## 软件抽象的历史:每一级都站在前一代的肩膀上
一旦你用这个视角看软件,整个计算史就变得清晰了:
- **机器码**:程序员直接告诉处理器该执行什么电气操作。
- **汇编语言**:用符号指令代替数字指令。
- **编译型语言(Fortran、C)**:一行源代码能变成几十甚至几百条机器指令。
- **操作系统**:抽象了硬件。
- **库**:抽象了常见算法。
- **框架**:抽象了应用架构。
- **Python**:抽象了大量早期程序员需要手动编写的模板代码。
每一步都遵循同样的模式:计算机变得更复杂,而程序员的工作变得更简单。或者更准确地说,程序员能花更多时间思考真正的问题。
## Python 不是终点,LLM 反转了关系
很长一段时间里,Python 让人觉得是抽象的终极大 boss。它的语法如此易读,人们开玩笑说它基本就是英语。但它不是。Python 仍然是一门编程语言。每个冒号都得有,每个缩进都得对,每个关键字必须精确无误。计算机仍然要求人类把自己的意图翻译成它的语言。
大型语言模型反转了这种关系。现在我们用我们的语言描述意图,模型把它们翻译成代码。这是一个完全不同的抽象层次。不用再写“创建这个类、导入这些库、实例化这些对象”,我们只需说“给我建一个能做 X 的应用程序”,机器自己搞定实现。
## 能动性:抽象阶梯上每一级的关键
这就引出了一个我认为最重要的概念:**能动性(agency)**。抽象阶梯上的每一级都提升了人的能动性。机器码程序员对处理器拥有惊人控制力,但他们一天能做的事相对很少。今天的软件工程师能构建出50年前需要数百名程序员才能完成的产品。程序员并不一定更聪明,他们是站在几代人积累的抽象之上。
这就是为什么经济价值往往向上移动。我们仍然需要芯片设计师、编译器工程师、操作系统开发者。这些工作不会消失。但大多数企业不是靠优化处理器寄存器来创造价值的,而是靠解决客户问题。你的工具越能贴近客户问题,你就越有杠杆效应。
LLM 编程代理将把这一边界再次向上推。开发者不再花数小时写语法,而把越来越多时间花在定义目标、审查解决方案和做出架构决策上。稀缺资源在转移:语法变少,判断变多。
## AI 是“正常技术”,不是魔法
有人会倾向于认为这是史无前例的。我不这么认为。研究者 Arvind Narayanan 和 Sayash Kapoor 把 AI 描述为一种“正常技术”。我觉得完全正确。电是正常技术,互联网是正常技术。企业逐渐围绕新能力重组自己。这正是 AI 编程正在发生的事情:模型不断改进,公司逐步重新设计工作流,工程师适应,组织变化。这不是魔法,是技术扩散。这意味着历史可能比科幻小说更好的参考。
## 未来:从“构建什么”到“想要什么结果”
这就引出了最有趣的问题:如果自然语言是今天的抽象,那下一步是什么?我认为我们不会止步于告诉软件该构建什么。最终我们会告诉软件我们想要什么结果。不是“构建一个理赔处理应用”,而是“在不增加欺诈、不超过预算的前提下,将理赔处理时间减少30%”。系统会自己决定软件是不是解决方案。也许它会改变工作流、采访员工、自动化文书工作。也许它会构建软件。也许四者都做。我们不再指定软件,而是指定现实。那将是完全不同的抽象层次。
软件的历史始终是关于拉大人必须说什么与计算机能做什么之间的距离。机器码要求我们像处理器一样思考,汇编让我们像程序员一样思考,高级语言让我们像工程师一样思考,LLM 让我们像用户一样思考。下一层抽象可能让我们像管理者或政策制定者一样思考。
## 结论:阶梯还在向上延伸
较低的层次不会消失,它们从未消失过。总会有人需要理解底层运作。但最大的机会将持续向上移动,移动到人能发挥能动性的最高层。这就是为什么我不觉得 LLM 编程代理会是编程的终结。它们只是过去七十年我们一直在爬的那把梯子上的新一级。而如果历史有参考价值,我们上方还有更多级阶梯。
Source: https://youtu.be/ygN15LmaacE
相似文章
大语言模型化:当人类开始将自己视为语言模型
本文探讨了“大语言模型化”这一概念,即人类开始透过语言模型的视角来审视自身,并深入分析了这一现象对人类认知及自我感知的影响。
语言作为设计的潜在空间
本文探讨了人类语言是一种设计的潜在空间,它将推理约束为模式匹配和符号操作,并论证了LLM无法创造新语言来解决现有语言之外的问题。
LLM时代的可扩展软件
本文讨论了LLM如何在Web上开启可扩展软件的新时代,使用户能够通过诸如‘Small Software’和‘LLM-native software’等概念,创建个性化应用并满足长尾需求。
在LLMs时代学习编程
这篇文章探讨了在LLMs时代学习编程的挑战,质疑深度理解是否受到损害,并讨论了大规模失业等社会影响。
LLMs能否意识到我们正从错误的角度看待问题?
本文探讨大语言模型是否能够独立识别并挑战科学中的基本假设,以实现范式转变式的突破,并类比了人类创新,如爱因斯坦的引力理论。