引言:本地最优解与全局工程腐化

在当前的 AI 协作范式中,我们正面临一个隐蔽的挑战:AI Agent 本质上是一个“缺乏反馈回路的生成器”。它被高度优化以寻求“任务完成”的最短路径,即所谓的“捷径陷阱”。当你要求 AI 实现一个功能时,它会精准地跳过规格说明(Specs)、忽略测试覆盖、无视边界耦合,直接产出差异代码(Diff)并宣告胜利。

高级工程师深知,软件工程中 80% 的价值存在于那些“不显示在代码差异中”的部分。Agent 的默认行为极像一个极度高产但缺乏纪律的初级开发者——他们绕过隐形成本,直奔交付,却为系统留下了巨大的技术债。

Google 资深软件工程师 Addy Osmani 推出的 Agent Skills 项目,其核心目标并非简单的 Prompt 集合,而是一套工程脚手架(Scaffolding)。它试图将人类数十年来沉淀的、原本对 AI 而言“隐形”的高级工程实践,编码为 AI 无法逃避的硬性约束。

流程胜过散文:从“参考文档”转向“执行流”

将数千字的“工程最佳实践”塞进 Context 往往是低效的。AI 会以极高的语义相似度回复你,但在执行时依然故我。Agent Skills 的分水岭在于:将“参考文档(Reference)”转化为“工作流(Workflow)”。

  • 退出标准(Exit Criteria): 每一项技能不再是宽泛的建议,而是一系列带有明确物理证据的步骤。
  • 证据产生(Evidence Generation): AI 不再仅仅是“说话”,它必须产生可被验证的工件(如失败的测试日志、构建清理输出)。

“流程胜过散文。具有退出标准的步骤,其价值远高于没有执行约束的长篇大论。” —— Addy Osmani

架构视点: 这种转变标志着 AI 协作从“对话驱动”向“协议驱动”的演进。作为架构师,我们不再指望 AI 的自律,而是通过设计“执行流”来强制规避模型的随机性。

反辩解表:预写式驳回 AI 的“偷懒念头”

AI 模型是天生的辩解专家。当它们试图跳过复杂环节时,总能生成逻辑自洽的借口。Agent Skills 引入了最具对抗性的设计:反辩解表(Anti-rationalization Tables)。这种机制在模型产生逃避念头之前,就预先封死了退路。

典型借口 (Rationalization) 反驳逻辑 (Rebuttal)
“这个任务太简单,不需要规格说明。” 验收标准依然适用。5 行文档可以,0 行不行。
“我稍后再补测试。” “稍后”是核心负债词。 实际上不存在稍后。请先写出失败的测试。
“测试通过了,可以直接合并。” 通过测试仅是证据而非证明。你检查过运行时行为并让渡给人类评审了吗?

架构视点: 这种机制深刻揭示了工程腐化的本质:腐化往往始于团队接受了第一个“听起来合理”的借口。在 AI 环境下,我们必须通过预设的硬性逻辑,对抗模型追求局部最优解的本能。

非谈判式的验证机制:终结“调试考古学”

在高级工程实践中,“看起来是对的”是不可接受的。Agent Skills 强调验证是非谈判式的(Non-negotiable)。

每一个阶段的终点必须是客观证据。对于长时运行(Long-running)的任务,这种强制验证尤为关键。如果一个运行数小时的 Agent 在初期跳过了测试,最终产出的将是一个无人能理解意图的故障堆叠场。没有硬性验证,复杂的 AI 任务就会演变成一场“调试考古项目”。

范围纪律与 Google 基因:代码即负债

AI 的另一个典型问题是“过度热心”:为了修复一个 Bug,它可能会由于缺乏约束而重构三个不相关的系统。Agent Skills 将 Google 的工程 DNA 注入了 Agent 的决策链路中:

  • 范围纪律(Scope Discipline): 强制执行单一职责 PR,通常限制在 100 行左右。严禁在未被要求的情况下触碰相邻系统。
  • Beyoncé Rule(碧昂丝法则): “如果你喜欢它,就应该给它加个测试。”基础设施的改变不能捕捉 Bug,只有测试可以。
  • Hyrum’s Law(海勒姆定律): 意识到 API 的所有可观察行为最终都会被用户依赖。AI 在设计接口时必须考虑这种长期的耦合风险。
  • 切斯特顿栅栏(Chesterton’s Fence): 在完全理解一行代码为何存在之前,严禁删除或重构它。

这种对“代码即负债”的认知,是区分资深工程师与代码生成器的核心指标。

渐进式披露:路由机制与 Token 优化

在技术实现层面,将 20 多个复杂的工程技能一次性推入 Context Window 会导致严重的注意力稀释。Agent Skills 采用了渐进式披露(Progressive Disclosure)策略:

它设计了一个名为 using-agent-skills 的元技能作为路由(Router)。该路由根据当前的任务阶段(定义、计划、构建、测试等)动态激活相关的技能片段。这不仅优化了 Token 消耗,更保证了模型在特定阶段只聚焦于特定的纪律约束,实现了“强大的功能库”与“有限上下文窗口”之间的架构平衡。

结语:将工程智慧编码进逻辑循环

高级工程师的真正价值在于那些“看不见的部分”。Addy Osmani 的项目提醒我们:当我们委托 AI 进行开发时,我们索要的不应只是代码,而应是工程纪律的移植。

这些原则——流程化、反辩解、硬性验证、范围控制和按需披露——不仅是 AI Agent 的“外挂”,更是任何人类团队对抗工程腐化的良方。无论模型如何进化,缺乏纪律的生成永远无法构建出可靠的大型软件系统。

发散性思考: 当模型本身无法产生职业道德时,作为架构师,我们该如何通过“脚手架”将人类数十年的工程智慧,编码进 AI 的每一次逻辑循环中?

这或许是 AI 时代对“软件架构”的重新定义:从设计系统架构,转向设计“生成系统的系统”。


作者:道一云低代码

作者想说:喜欢本文请点点关注~

技术社区分享

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐