乐于分享
好东西不私藏

从第一性原理看 AI 编程:软件工程从未改变的本质

从第一性原理看 AI 编程:软件工程从未改变的本质
 Vibe coding 很流行,但流行不意味着可靠。用速度换取理解和控制,在原型阶段没问题,生产级系统不行。

Agentic Engineering 是另一种思路:工程师与 AI 深度协作,AI 负责执行,人负责判断。Engineering 的本质是约束优化——在给定资源、时间、质量等约束下找到最优解。

1
从基本事实出发

软件工程的固有挑战归结为四点:

  • 信息损耗(意图从构想到代码逐步失真)、

  • 知识孤岛(经验存在于个人头脑中)、

  • 认知成本(理解复杂系统消耗大量认知)、

  • 重复性劳动(编写测试、Mock 等机械工作)。

AI 改善了这些挑战——缩短反馈周期、通用知识即时可用、辅助代码解读、自动生成。

但 AI 也引入了新问题:概率性输出带来似是而非的损耗、团队私有知识仍无法被利用、审查信息量暴增、生成成本骤降但验证成本未降。

2
三层价值模型

L1 加速:同样的事做得更快。

L2 增强:同样的事做得更好。

L3 解锁:做以前做不到的事。

L1 不需要体系化方法,现有模型即可实现。

真正需要 Engineering 思维的是 L2 和 L3——约束空间复杂、上下文庞大、验证困难。

3
三条公理

公理 1:信息损耗不可消除。

软件工程的本质是把模糊意图变成精确代码,每一步都有损耗。AI 改变了各环节的损耗率,但不消除链本身。

公理 2:LLM 的特征决定输出质量。

 输出由上下文决定、输出是概率性的、工作记忆有限且易失。这三个特征共同决定了 AI 的能力边界。

公理 3:人类认知是稀缺资源。

最优策略不是最大化 AI 产出量,而是最优化工程师认知带宽的分配。

4
五条修正

  • 上下文价值取决于信噪比,不是代码越多越好
  • 可靠性取决于关键上下文是否被有效传递,不是 AI 能力不够
  • AI 的最大价值是贯穿全链条降低信息损耗,不是更快写代码
  • 完整验证需要多维度组合,不是通过测试就行
  • 小任务推进、频繁校验,不是让 AI 独立完成

5
三条实践

Context Engineering:Spec-First、Docs as Code、渐进式披露。

Knowledge as Code:团队知识编码为 Skill 和 Rules,版本化管理。

Error-Driven 闭环:犯错→诊断→沉淀→预防。