AI 编码的危险幻象:Jeremy Howard 谈软件工程与编码
AI 编码的危险幻象:Jeremy Howard 谈软件工程与编码
核心论点:编码不是软件工程
AI 辅助编码通过把软件开发视为一种风格迁移问题,而非工程学科,制造了一种危险的生产力幻象。虽然大语言模型(LLMs)能够在其训练数据中的已有模式之间进行插值,生成语法正确的代码,但它们无法完成真正的软件工程所需的高层设计、架构推理和新颖问题求解。这一区别很重要,因为在没有保持对系统深层心理模型的前提下将认知任务委托给 AI,会导致“理解债务”,即组织拥有可运行的代码,却没有任何人真正理解它。
插值幻象与“氛围编码”
现代 AI 编码工具常常像一台“老虎机”,开发者拉动杠杆(即提示),就会得到一个随机结果。这一过程被称为“氛围编码”,通过提示工程和上下文管理制造出一种控制感的幻象,但缺乏技术直觉的支撑。
组合创造力 vs. 真正创新
Jeremy Howard 区分了不同类型的创造力:
- 组合/组合式创造力: LLM 在这方面非常高效。它们可以把已有的人类知识碎片以全新的方式组合。例如,用 Rust 编写 C 编译器往往是对训练数据中已有 Rust 代码和已有编译器逻辑的插值,而不是一次“清洁室”发明。
- 外推创造力: LLM 难以跳出其训练分布。当问题需要真正前所未有的解决方案时,LLM 常常会灾难性地失败,回退到表层相似性,而这些相似性根本不正确。
老虎机效应
因为 LLM 偶尔会出现“赢”(可工作的特性),开发者容易上瘾于提示‑调优的循环。Howard 指出,这会让人感到疲惫和压力,因为开发者不再掌控逻辑,而是赌模型的输出。
组织衰弱的风险
将编码行为委托给 AI 会侵蚀组织生存与演进所必需的知识。Howard 认为,知识不是维基百科上静态的资产,而是一个活的、具身的适应性获取过程。
控制的侵蚀
当 AI 生成了代码库的大部分内容时,会出现“控制的恶性侵蚀”。开发者停止锻炼设计和工程的肌肉,导致一种“衰弱”状态,失去提升能力的可能。这对中级开发者尤为危险,因为他们可能永远得不到验证 AI 输出所需的深层直觉。
理解债务
Howard 举例说明使用 AI 修复 IPykernel 中的复杂崩溃。虽然 AI 最终解决了问题,但得到的代码没有人能理解。这产生了关键风险:如果代码不被理解,其长期稳定性、内存泄漏和边缘案例漏洞都未知。把公司产品押在无人理解的代码上是一场投机且危险的赌博。
通过摩擦学习:交互式编程的必要性
真正的技术直觉来源于“期望的困难”——当现实对心理模型产生阻力时产生的摩擦。
低摩擦工具的失败
去除编码过程所有摩擦的工具(如自主 AI 代理)会阻碍长期记忆和深度理解的形成。Howard 引用了艾宾浩斯的研究和间隔重复的概念,指出记忆只有在检索过程艰难时才会形成。
REPL 与 Notebook 的力量
为抵御衰弱,Howard 主张回归交互式、状态化的环境(REPL、Jupyter Notebook)。他认为,实时操作对象——不断挑逗问题直至其反馈——是产生真正洞见的地方。
“当人类能够实时操作计算机内部的对象,研究它们、移动它们并将它们组合在一起时,人类能够从计算机中获得更多的价值。”
他强调目标不应是让人类脱离循环,而是利用 AI 在交互环境中提升人类构建系统深层心理模型的能力。
AI 风险:中心化 vs. 灭绝
谈及生存风险时,Howard 认为主要危险不是自主 AI “起飞”并毁灭世界,而是权力的中心化。
- 中心化陷阱: 对 AI 灭绝的恐慌常常导致呼吁将权力集中在少数大型公司或政府手中,以“确保安全”。
- 真实威胁: 将史上最强大的技术集中在少数人手中,会激发权力欲强者垄断控制的巨大动机,这比流氓 AI 对文明的威胁更大。
Howard 认为解决方案是将技术在全社会扩散,确保权力平衡和相互制衡,而不是制造单点故障。
摘要:Jeremy Howard 认为,虽然 AI 在把编码视为风格迁移问题上表现出色,但它缺乏进行“软件工程”的根本能力,这会导致“理解债务”和组织衰弱的未来。
标题:AI 编码的危险幻象:Jeremy Howard 谈软件工程与编码