AI 与工程纪律的回归

软件生产的经济学已经发生了根本性的转变:生成代码现在实际上是免费且即时的。这种转变意味着代码行不再是需要精心维护的珍贵资产,而是可以一夜之间重新生成的易耗品。因此,软件工程的主要挑战正在从编写代码的行为转向在生产环境中验证系统的纪律。

代码即易耗缓存

在计算历史的大部分时间里,生产代码所需的劳动是主要的瓶颈。因为重写成本很高且重新验证风险很大,代码成为了开发者意图、用户期望和历史错误修复的唯一存储库。这创造了一种将代码视为持久资产的模型。

随着 Opus 4.5 等高能力模型的出现以及 2025 年智能体框架(agentic harnesses)的兴起,AI 现在可以针对常见模式生成质量达到中等软件工程师水平的代码。这使得代码的角色从永久记录转变为“理解的物化视图”——一个在当前有用但在陈旧时即可丢弃的缓存。

当重新生成变得廉价时,原地编辑代码反而成了一种负担。就像从手工构建的服务器转向不可变基础设施一样,改变应用程序代码会积累熵。只要工程团队理解系统所需的行为,完全替换代码就可以重置这种熵。

删除测试与评估问题

“删除测试”(Deletion Test)揭示了大多数工程师将代码视为系统本身。当工程师声称他们无法丢弃代码时,他们通常是在描述评估问题,而不是代码问题。具体来说,他们缺乏以下知识:

  • 确切需要什么样的行为。
  • 哪些失败是不可接受的。
  • 哪些不变性(invariants)必须始终保持。
  • 如何确定新版本是否正确。
  • 哪些错误修复是针对被遗忘的边缘情况的刻意修复。

这些理解上的差距无法通过阅读代码来解决,而必须通过建立严格的评估框架来解决。只有当代码是系统知识存在的唯一场所时,代码才会变得珍贵。

将严谨性转移至生产环境

由于人类大脑不适合进行重复、琐碎的验证工作,人类是质量关卡中最薄弱的一环。因此,必要的严谨性必须从代码审查过程转移到生产环境。

生产环境不是开发之后的最终阶段;它本身就是一个开发阶段。为了在非确定性、AI 生成代码的时代保持稳定性,团队必须采用来自运维和 QA 的技术,这些技术能够编码系统“正在”做什么,而不是它“应该”做什么。关键纪律包括:

  • 行为与特征测试(Behavioral and Characterization Tests): 编码现有系统行为以确保替换后的系统保持一致性。
  • 捕获/重放与流量切分器(Capture/Replay and Traffic Splitters): 使用真实世界的数据来验证新的实现。
  • 可观测性(Observability): 使用追踪(traces)和生产环境评估来确保系统实时满足需求。

工程纪律的回归

虽然 2025 年可能是“氛围编程”(vibe coding)的一年,但 2026 年代表了工程纪律的回归。AI 生成代码的能力并不会消除对技术人员的需求;相反,它消除了手动 API 重写和“绞杀者模式”(strangler fig)迁移等乏味的任务。

软件的价值由持久性和确定性支撑,而非生成速度。用户需要一致的接口和可靠的金融交易。实现这种持久性需要通过快速、短促的反馈循环和严格的生产环境验证,将目前困在人类大脑中的知识编码进系统本身。AI 工具使这种程度的纪律变得更加容易实现,但纪律本身仍然是人类工程的要求。

Sources