#AI创造营# Addy Osmani 是 Google 的工程师,目前担任 Google Cloud AI director。 他刚写了一篇博客《Agent Skills》来提醒开发者:AI 编码智能体虽然能快速生成代码,但默认会跳过高级工程师重视的“隐形工作”,比如写规格、拆任务、先测试、做评审、控制改动范围、留下验证证据。 本文中Addy Osmani 试图把多年在 Google 级工程体系中沉淀出的工程纪律,迁移到 AI agent 时代,让模型不只是更快地产出代码,而是在规格、测试、评审、验证和发布约束下产出更可信的软件。

文章配套有开源项目 addyosmani/agent-skills ,把里面这些高级工程实践封装成了 skills 。

下面是全文翻译,makedown排版,适合web端阅读,原文在:addyosmani.com/blog/agent-skills/

Agent Skills

2026 年 5 月 3 日

高级工程师的工作,大多是那些不会出现在 diff 里的部分:规格说明、测试、评审、范围控制、拒绝发布无法验证的东西。AI 编码智能体默认会跳过这些部分。Agent Skills 是我试图让这些环节不再变成“可选项”的尝试。

任何 AI 编码智能体的默认行为,都是走向“完成”的最短路径。你要求它做一个功能,它就写这个功能。它不会问你是否有规格说明,不会在实现前先写测试,不会考虑这个改动是否跨越了信任边界,也不会检查这个 PR 在评审者眼中会是什么样子。它产出代码,宣布胜利,然后继续往前。

这正是每个高级工程师在职业生涯中都在学习避免的失败模式。任何任务的高级版本,都包含那些不会出现在 diff 里的工作:揭示假设、撰写规格、把工作拆成可评审的小块、选择朴素可靠的设计、留下结果正确的证据、控制改动大小,让人类真的能够评审它。这些步骤,正是能在规模化场景下交付可靠软件的工程师,与那些提交会破坏系统的代码的人之间的主要区别。

智能体跳过这些步骤,原因和初级工程师一样:这些步骤是不可见的。奖励信号指向的是“任务完成”,而不是“任务完成,并且设计文档也存在”。所以我们必须把高级工程师的脚手架重新加回去。

Agent Skills 就是我对这种脚手架的尝试。它刚刚超过了 2.6 万颗星,所以显然不只我一个人想要这个东西。这篇文章讲的是 README 没有完全覆盖的部分:为什么每个设计选择存在,它如何映射到标准 SDLC 和 Google 公开的工程实践,以及即使你永远不安装任何一个 skill,也应该从这个项目里借鉴什么。


“Skill”到底是什么

在 Claude Code / Anthropic 的语境里,“skill”这个词承载了很多含义,所以有必要说精确一点。一个 skill 是一个带 frontmatter 的 markdown 文件,会在情况需要时注入到智能体的上下文中。它介于系统提示片段和运行手册之间。

skill 不是参考文档。它不是“关于测试你应该知道的一切”。它是一个工作流:一系列智能体要遵循的步骤,带有能产出证据的检查点,并以明确的退出标准结束。

这个区别就是整个问题的关键。如果你把一篇 2000 字的测试最佳实践文章放进智能体上下文里,智能体会读它,生成看起来合理的文本,然后跳过真正的测试。如果你把一个工作流放进去——先写失败的测试,运行它,确认它失败,写最小代码让它通过,确认它通过,再重构——智能体就有事可做,而你也有东西可验证。

流程优先于散文。工作流优先于参考资料。有退出标准的步骤,优先于没有退出标准的长篇文章。 仅仅这一个区别,就能区分有用的 skill 和漂亮的 markdown 文件。它也解释了为什么很多“AI rules”仓库在实践中最终什么都没做到:那些规则只是文章。


Skills 编码的 SDLC

这个仓库里的 20 个 skills 围绕 6 个生命周期阶段组织,上面还有 7 个 slash commands:

阶段 命令 作用
Define /spec 决定你到底要构建什么
Plan /plan 拆解工作
Build /build 以垂直切片实现
Verify /test 证明它能工作
Review /review 捕捉漏掉的问题
Ship /ship 把它安全地交到用户手中
Cross-cutting /code-simplify 横跨整个流程的代码简化能力