找工位
空间入驻
小程序

编程 ≠ 软件工程:AI 编程热潮下的认知危机与范式重构

2026-03-17 00:00:00
文章转载自"北大纵横"

图片
来源 | 大顺AI商业流量
作者 | Alex
3561字 阅读时间8分钟
Anthropic CEO Dario Amodei在《技术的青春期》中宣称:
Anthropic CEO Dario2万字深度撰文:AI的青春期
顶尖工程师借助AI可实现“指数级效率跃升”,并由此推断普通开发者将迅速被自动化取代。
埃隆·马斯克则在社交平台上断言:
未来LLM将直接输出机器码,“编程语言和库文件都将变得多余”。  
就在这种技术决定论甚嚣尘上之际,一位曾亲手奠定现代NLP基石的人物发出了截然不同的声音。
Jeremy Howard——
fast.ai创始人、Kaggle传奇冠军、ULMFiT论文作者——
直言不讳:“这帮人根本没当过现代软件工程师。”
这句话并非情绪化的嘲讽,而是一把精准的解剖刀,切开了当前 AI 编程叙事中最危险的认知盲区。 
核心问题由此浮现:
当我们将“写代码”等同于“软件工程”时,是否正在系统性地误解技术创新的本质?

一、编程与软件工程的根本分野  
要理解Howard批判的深层逻辑,首先必须厘清两个常被混用的概念:
编程(Programming)与软件工程(Software Engineering)。  
编程是将已知逻辑转化为可执行指令的过程,其核心任务是语法正确性与功能实现。
而软件工程则是在高度不确定的环境中,通过抽象建模、系统设计、持续迭代与协作治理,构建可维护、可演化、可扩展的复杂系统。
前者关注“如何写”,后者追问“为何如此构建”。  
Fred Brooks在1986年的经典论文《没有银弹》中早已指出:
No silver bullet - Visual Thinkery - Stories and Cartoons
软件开发的瓶颈从来不在编码环节,而在“概念结构的构建”——
即对问题域的理解、模块边界的划分、接口契约的设计以及演化路径的规划。
这一判断在四十年后的今天依然成立,甚至更为尖锐。  
Howard的实证观察印证了这一点:“我现在大约90%的代码由模型生成,但整体效率并未显著提升。”
原因在于:
真正的开发时间消耗在需求澄清、架构权衡、调试推理、技术债管理与跨团队协同上,而非键盘敲击。
据 IEEE 2023年对全球12,000名开发者的调研,平均仅17%的工作时间用于实际编码,其余均分配于沟通、设计与验证。  
因此,将AI编程工具视为“生产力革命”的核心,本质上是一种因果倒置:
它优化了非瓶颈环节,却对真正的复杂性视而不见。

二、LLM 的“创造力”边界与插值本质  
当前 AI 编程工具最令人迷惑的,是其表面展现出的“创造性”。
例如,Claude Code 曾用 Rust 实现一个 C 语言编译器,引发社区惊叹。
然而,Howard 与 LLVM 创始人 Chris Lattner 的深入交流揭示了残酷真相:
该实现并非原创,而是对训练数据中已有编译器模式(如 TinyCC、LCC)的高维插值。
大语言模型的“创造力”本质上是组合式外推(combinatorial extrapolation),而非概念性突破(conceptual breakthrough)
它能在已知解决方案的空间内高效搜索最优组合,但无法跨越训练分布的边界。
一旦问题超出历史经验范围——
例如设计一种全新的并发模型或内存管理机制——
模型便会陷入“聪明的愚蠢”:
生成语法完美但逻辑崩坏的代码。  
这种局限性源于LLM的根本机制:
基于统计相关性的序列预测。
它没有目标函数,没有状态机,没有对程序语义的真正理解。
正如计算机科学家Leslie Lamport所言:“程序不是文本,而是状态转换的规范。”
而LLM只看到了文本。  
更危险的是,这种“近似正确”的输出极具欺骗性。
开发者容易误以为模型理解了问题,从而跳过关键的验证环节。
GitHub Copilot的内部测试数据显示:
约38%的自动生成代码存在隐蔽逻辑错误,而使用者仅对其中12%进行了深度审查。
这种信任透支正在悄然累积系统性风险。

三、人机脱节下的能力侵蚀机制  
Howard的批判不止于技术层面,更指向一场正在发生的认知能力退化危机。
软件工程的核心能力——
抽象建模、系统直觉、调试心智模型——
并非天生,而是通过数万小时的“必要之难”(desirable difficulty)锤炼而成。
开发者在手动编写、调试、重构的过程中,逐步建立起对程序行为的内在表征。
这种表征使他们能在脑中模拟执行流、预判副作用、识别耦合点。  
而当前主流AI编程工具的设计哲学恰恰消解了这一过程。
用户输入自然语言提示,模型返回完整函数,中间的认知黑箱被彻底遮蔽。
开发者不再需要理解算法细节、内存布局或并发语义,只需“相信模型”。
这种模式短期内看似提效,长期却导致能力空心化。  
Anthropic 2024年的一项纵向研究佐证了这一趋势:
在持续使用Claude Code六个月后,中级开发者(2–5 年经验)在系统设计题上的表现平均下降23%,而在基础语法题上提升 15%。
能力曲线出现“低阶膨胀、高阶萎缩”的畸形结构。  
企业层面的风险更为严峻。
技术债不仅包括代码质量,更包含组织认知债——
当团队集体丧失对核心系统的深层理解,任何架构演进都变得举步维艰。
Howard警告:“这些公司正在用 AI 加速走向不可维护的深渊。”

四、探索式编程与三方交互环境  
面对这一困局,Howard并未否定AI的价值,而是提出了一种范式级的重构方案:
将AI置入与人类相同的交互环境中,构建“人—机—AI”三方实时协作的生态。  
其代表作nbdev正是这一理念的实践。
该工具以Jupyter Notebook为载体,允许开发者在富交互环境中逐行执行、可视化对象状态、动态修改参数,并即时观察系统响应。
AI代理同样运行于同一Python解释器内,可直接操作内存对象、调用函数、读取变量——
而非仅生成静态文本。  
这种设计回归了软件工程的黄金传统。
Alan Kay的Smalltalk强调“活的对象”(live objects),Ken Iverson的APL主张“可执行的数学”,Stephen Wolfram的Mathematica追求“计算即文档”。
它们的共同点是:
降低认知摩擦,强化直觉反馈,让开发者与系统持续对话。  
在nbdev中,AI不再是“代码生成器”,而是“协作者”。
它可建议下一步实验、解释异常行为、生成可视化图表,但所有决策仍由人类主导。
开发者通过微步迭代(micro-step iteration)持续验证假设,bug在诞生之初即被捕捉。
Howard自述:“我几乎不用调试器,因为错误从未有机会隐藏。”  
这种模式实现了“简单—复杂—简单”的认知闭环:
从直观交互切入(简单),经由系统复杂性展开(复杂),最终提炼出可复用的抽象模式(简单)。
它保留了“必要之难”,同时放大了人类的探索半径。

五、技术垄断与知识剥夺的双重风险  
Howard的批判还延伸至更宏观的社会维度。
他指出,当前AI编程工具的商业模式正在加剧知识剥夺与权力集中。  
开发者将创意、领域知识与调试经验输入封闭的商业模型,却无法获得相应产权或反馈控制权。
平台通过用户交互数据持续优化模型,形成“免费劳动力—更强模型—更多依赖”的正反馈循环。
据估算,2023年全球开发者为闭源AI模型贡献了价值超47亿美元的隐性训练数据。  
更深远的影响在于创新门槛的抬高。
当基础编程能力被外包给API,新一代开发者失去了“从零构建”的机会。
历史上所有重大突破——
Unix、Linux、React——
都源于开发者对底层机制的亲手掌控。
而今,创新被限定在模型允许的插值空间内,真正的颠覆性思想因缺乏实践土壤而窒息。  
Howard援引文字史的教训:
苏美尔时期的书写权仅限祭司阶层,直到腓尼基字母简化后才普及。
AI技术若要释放最大社会价值,必须走向“去中心化赋能”,而非“中心化控制”。
否则,我们将迎来一个由少数科技巨头定义软件未来的时代——
这恰是开源运动半个世纪来奋力抵抗的图景。

六、以人本交互为核心的工具哲学  
那么,AI编程的正确演进路径应是什么?  
答案在于重新锚定工具的人本属性。
优秀的开发工具不应追求“替代人类”,而应致力于“增强人类认知”。
具体而言,需满足三个原则: 
1. 透明性:所有 AI 建议必须附带可追溯的推理链与数据来源,避免黑箱决策; 
2. 可干预性:开发者应能随时介入、修改、否决 AI 行为,保持控制主权; 
3. 认知共建:工具应促进开发者对系统内在机制的理解,而非掩盖复杂性。  
医疗领域的AI应用提供了有益参照。
在放射学中,AI标记可疑结节,医生专注诊断与治疗决策;
在病理学中,AI量化细胞特征,专家聚焦生物学解释。
这种“分工增强”模式既提升效率,又保留人类核心价值。  
软件开发亦应如此。
AI可承担重复性任务(如样板代码生成、格式校验、基础测试),但系统设计、架构权衡、异常处理等高阶认知活动必须由人类主导。
工具的设计重心应从“生成完整函数”转向“支持探索式验证”。

软件工程的本质从未改变  
回看马斯克与Dario的论断,其根本谬误不在于高估AI,而在于低估了软件工程的复杂性。
他们将编程简化为文本生成任务,忽视了其背后庞大的认知、协作与演化体系。  
Howard的批判之所以有力,正因其根植于基本面研究:
软件的价值不在于代码行数,而在于其承载的问题解决能力;
工程师的核心竞争力不在于打字速度,而在于构建心智模型的能力;
技术的终极目标不是自动化人类,而是扩展人类的可能性边界。  
历史反复证明:
真正的技术革命从不来自对现有流程的简单加速,而源于交互范式的根本重构。
从命令行到图形界面,从瀑布模型到敏捷开发,每一次跃迁都重新定义了“人如何与系统共处”。  
AI编程的未来,不应是让模型替我们思考,而是创造一个让人类与AI在同一认知平面上实时协作的新环境。
唯有如此,我们才能避免陷入Howard所警示的认知陷阱,在释放AI潜力的同时,守护人类创造力的火种。  
这或许才是价值投资视角下,AI编程工具最值得押注的长期方向。
图片


文中观点仅为作者观点,不代表本平台立场


各位读者朋友,公众号改了推送规则,如果您还希望第一时间收到我们推送的文章,请记得给北大纵横公众号设置星标。图片

点击左下方公众号“北大纵横”→点击右上角“...”→点选“设为星标⭐️”。