Concitech AI · 深度长文

2026/09/20 14:17

Agent交出数百个文件:代码生成提速,集成债务爆发

Agent偏爱数据库、应用层、前端的横向铺开,集成节点落在项目末端。Tracer Bullet构造端到端切片,缩短错误存活期。AI编程的新瓶颈是反馈设计。

一位游戏公司工程师参与了一次 AI 编程实验。

原型周期:两个月。文件总量:两三百个。类名数量超过工程师的记忆容量。重构周期:两个月。

这段经历来自社交媒体转述,缺少独立证据。它描出一种常见故障:代码产量上涨,系统理解度下降;功能呈现齐全表象,集成工作处于起点。

AI 保留了软件工程。AI 放大了软件工程的批量风险。

两个月原型,四个月工程

传统开发的昂贵资源是代码。AI 编程的昂贵资源变成反馈。

Agent 铺出数据库层、应用层和前端层。每层拥有完整目录、类型定义和测试样板。三个层次缺少早期连接。接口偏差、领域命名冲突、状态边界错误汇入集成节点。

此类项目拥有一种迷惑性进度:文件增长曲线陡峭,用户价值曲线保持平直。

代码库的体积提供完成感。文件数量与系统闭环属于两种指标。一个功能包含四项验收资产:用户入口、业务路径、持久化结果、验证证据。任一资产缺席,功能状态就是半成品。

横向分层与Tracer Bullet纵向切片,制图:Concitech

大型批次制造认知债务。Agent 记得生成逻辑,工程师承担维护责任。评审者面对数百个文件。评审方式退化成抽查。抽查留下盲区。盲区进入主干。新需求触发旧假设,返工吞掉代码生成节省的时间。

代码质量属于表层指标。错误寿命属于核心指标。

错误诞生于需求解释,死亡于测试、评审或用户反馈。横向分层拉长这段寿命。错误获得更多依赖。依赖数量抬高修复成本。

一颗曳光弹,穿过整套系统

The Pragmatic Engineer 访谈记录了 Matt Pocock 的同类观察。Agent 喜欢完成整层工作。集成工作排在整层工作末尾。他提供一个术语:Tracer Bullet,曳光弹。

Matt Pocock访谈封面,来源:The Pragmatic Engineer

这个术语来自《程序员修炼之道》。曳光弹代码是一条窄路径。路径起点是用户动作,路径终点是可观察结果。数据库、接口、业务逻辑、界面和测试位于同一条路径。

一个小例子:

用户创建一条任务,系统保存任务,页面展示任务,自动化测试验证结果。

这条路径的目标是技术栈、数据契约和交付链条的协作验证。完整任务系统属于扩展阶段。

Tracer Bullet 与一次性原型存在差别。原型服务于探索,原型代码属于一次性资产。曳光弹服务于生产结构,曳光弹代码属于长期资产。这条路径承接其余切片。

这个方法改变了项目的反馈拓扑。横向开发形成大批次和晚反馈。纵向切片形成小批次和短反馈。失败范围变小,评审范围变小,返工范围变小。

AI编程反馈预算,制图:Concitech

AI 编程的新速度公式:

交付速度 = 代码生成速度 × 验证吞吐率 × 修正成功率

代码生成速度接近无限。测试、可观察性、评审能力和领域知识约束验证吞吐率。乘法中的低值决定结果。

“领先词”的能力边界

Pocock 称 Tracer Bullet、Deep Module、Ubiquitous Language 这类术语为 leading words。一个短词压缩一套工程知识。模型训练语料包含这些概念,术语负责相关模式的召回。

这个解释具备实用价值和解释边界。公开材料缺少“某个词触发一组固定能力”的实验证据。“激活知识”的合适定位是工作假说,模型机理结论要求更多证据。

术语提供索引。工程约束形成纪律。

“使用 Tracer Bullet”这句提示缺少验收条件,横向骨架的产出概率保持高位。有效任务包含一个纵向交付契约:

  1. 一个用户动作:任务承载一个可见结果。
  2. 一条数据路径:界面、接口、领域逻辑、存储共享同一用例。
  3. 一份验证证据:自动化测试覆盖主要路径,日志暴露失败位置。
  4. 一个评审边界:全部接口处于工程师的阅读容量内。

提示词提供索引。工单结构、测试门禁、持续集成和代码评审提供执行载体。

软件工程师的价值发生迁移

METR 的 2025 年研究观察了 16 名资深开源开发者和 246 项任务。早期 AI 工具带来的任务完成时间增幅是 19%。参与者估计的效率增幅是 20%。研究边界清晰:开发者熟悉代码库,工具属于 2025 年初水平。

METR 的 2026 年更新指出,新实验存在明显选择偏差,证据质量不足。部分数据呈现 18% 的提速,置信区间宽。两个结果反映不同工具与不同任务。模型能力的变化速度高,任务结构影响收益。开发者感受与计时数据分属两种证据。

DORA 2025 报告给出另一层解释:AI 是组织能力的放大器。强测试、短反馈、清晰架构获得收益;薄弱流程获得更多返工。

这组证据指向一个职业变化。代码行属于旧稀缺产出。新稀缺产出包括边界设计、验收标准、失败定位、风险判断和系统叙事。

Agent 创建类名;工程师解释类名责任。

Agent 扩充目录;工程师确认目录背后的依赖方向。

Agent 完成一次功能;工程师维护下次修改路径的清晰度。

Agent任务的最小模板

团队工单包含五项:

用户结果:用户创建一条任务。

纵向路径:表单、接口、领域对象、数据表、结果页面。

完成证据:端到端测试通过,错误日志包含请求标识。

范围边界:本切片包含单条创建;批量操作、权限体系、通知系统属于其他切片。

评审问题:接口是否稳定?失败是否可见?命名是否符合领域语言?

这张工单限制批次大小。Agent 获得明确路径。工程师获得完整上下文。CI 获得可判定结果。

前 AI 阶段的主要瓶颈是编码速度。AI 改写了这个前提。代码价格下降,错误扩散成本保持高位。

Tracer Bullet 的意义包含三项:控制错误寿命,保护人类理解,限制集成债务。怀旧与提示词技巧缺席这份清单。

AI 时代的软件工程竞赛拥有一项关键指标:错误死亡时间。短错误寿命对应强工程能力。

参考资料

  1. 推文:AI Agent 与 Tracer Bullet
  2. 引用推文:AI 编程与可维护性
  3. The Pragmatic Engineer:AI Skills with Matt Pocock
  4. Matt Pocock:Writing for Agents
  5. Matt Pocock:TDD
  6. DORA:2025 DORA Report
  7. METR:2025 AI Experienced Open-Source Developer Study
  8. METR:2026 Uplift Update
微信搜一搜:智简 Smart&Concise 公众号二维码

关注公众号

智简 Smart&Concise

微信搜一搜,获取独立开发与 AI 实践更新。