一次性 vs 持久:AI 代理时代代码质量何时仍然重要

·1 min read·Translated

AI 编码代理改变了团队可以产出的代码量。它们并没有消除对哪些代码值得投入的判断需求。

Max Kanat-Alexander 在 AI Engineer NYC 2026 的最近主题演讲给出了一个清晰的决策规则:代码质量始终存在于两个原因——理解系统和安全地改变它。其他一切(结构、测试、可读性、审查)都是为这两个目标服务的。

当这两个目标不再重要时,质量也就不再重要。

一次性软件现在是默认体积

Kanat-Alexander 描述了一个一直存在但即将变得极为普遍的类别:一次性软件。

它具有:

  • 失败的后果最小或为零
  • 很少(或没有)人类或系统依赖者
  • 扔掉并重新生成的成本接近零
  • 基本上没有长期维护负担

在那个世界里,质量实践旨在防止的累积风险在很大程度上消失了。你可以把输出当作临时的。代理让这个类别在规模上变得可行,因为重新生成很便宜。

持久软件则相反:寿命长、依赖者多、有真实的生产后果、失去理解的成本高。对这类软件,质量仍然重要——在某些方面更重要,因为不透明的成本会非线性地复合。

团队的实际问题不再是「质量重要吗?」。而是「我们系统的哪些部分是一次性的,哪些是持久的?」

观看主题演讲:Does Code Quality Still Matter? — Max Kanat-Alexander

软件工厂适合这种区分

最近关于代理工作流的讲座指向同一方向。

David Ondrej 对软件工厂(带有触发器、技能、检查和人类关卡的代理循环集合)的框架,在工厂被允许产出大量一次性中间工作同时保护持久核心时最有用。计划检查、错误分类、探索性原型和一次性分析可以以较轻的标准运行。架构更改、共享库和生产控制平面则不行。

Kerim Satirli(HashiCorp)描述把代理更多地当作受约束的 CI/CD 流水线,而不是自由的初级工程师。提示规则是请求;硬约束和确定性检查才是真正的护栏——尤其是在本质上持久的基础设施上。

Carlos Kelkboom 的规则——一旦你不理解生成的代码就扔掉它——是一次性/持久划分的直接应用。如果你无法解释它,它就不属于持久表面。

随之而来的实用规则

  1. 在生成前分类。 对于任何非琐碎的工作,提前决定:预期寿命、爆炸半径、依赖者数量、替换成本。写下来。
  2. 到处保持安全底线。 即使是一次性代码也不应泄露凭证、在没有确认的情况下打开破坏性操作,或把秘密留在日志中。安全和隐私不会因为代码是临时的而变成可选。
  3. 把严谨集中在持久表面上。 测试、所有权、可观测性、审查和清晰结构属于那些一年后仍在那里、其他系统依赖的部分。
  4. 让严谨变得便宜。 Kanat-Alexander 的第二个杠杆是降低做正确事情的成本:标准、工作流内工具、轻松测试和最大严格性,让阻力最小的路径成为安全路径。这防止持久工作成为瓶颈。
  5. 在有帮助的地方为一次性设计。 隔离实验、保持低耦合、优先重新生成而非对一次性脚本进行英雄式维护,并避免意外地把一次性代码提升到持久核心。

这如何与瓶颈视图并列

之前的一篇文章涵盖了瓶颈如何从编写代码转移到审查、信任和验证。一次性/持久框架补充了缺失的分类:不是每个生成的更改都值得同样的验证预算。把一切都当作持久的团队会在审查中淹死。把一切都当作一次性的团队会积累不透明的高风险系统。

高杠杆技能是正确地对两者进行分类,然后运行代理工厂,在一次性一侧自由生成,同时在持久一侧保护理解和变更安全。

来源:

Share