多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

`agent-skills`:用工程纪律驯化 AI 编程 Agent 的结构化实践

`agent-skills`:用工程纪律驯化 AI 编程 Agent 的结构化实践 agent-skills用工程纪律驯化 AI 编程 Agent 的结构化实践原文addyosmani/agent-skills on GitHub作者Addy OsmaniGoogle Gemini 团队开源时间2026年2月现已超过 60K Star核心观点这不是工具集是纪律手册agent-skills的定位值得仔细辨析。它不是给你多加一个 AI 插件而是在回答一个被低估的工程问题AI Agent 会写代码但它会跳过不在其输出分布中的工作——规格文档、测试、代码审查、发布验收。这个判断是全项目的支点。正如 colobu.com 的深度分析所指出Agent 的最大弱点恰好就是它的最大优势的反面——高速生成代码导致天然倾向于跳过那些不出现在 diff 中的工作。这不是模型懒惰是统计概率使然模型总会走最短路径。相比之前应对这一问题的常见方案——在 prompt 里写请先写测试或不要跳过 review——agent-skills的根本区别在于它把这些约束变成了有步骤、有检查点、有退出标准的可执行流程而不是可以被 Agent 轻易绕过的一句建议。它预判了 Agent 可能找的借口并提前在 Skill 文件里内嵌了反驳这被称为反合理化表anti-rationalization tables。关键机制24 个 Skill 覆盖完整开发生命周期整个项目由24 个 Skill构成分 6 个阶段DEFINE → PLAN → BUILD → VERIFY → REVIEW → SHIP /spec /plan /build /test /review /ship8 个斜杠命令是入口每条命令触发背后对应的 Skill 工作流。三个最值得关注的设计1. 反合理化表Anti-Rationalization Tables每个 Skill 内嵌Agent 的借口 → 预设反驳对照例如Agent 可能的借口内嵌的反驳测试后面再补后面永远不会来。补写的测试只是同一份代码换了名字这个改动不需要审查所有改动都需要审查。变更越小越没理由跳过太简单了不需要 spec简单任务不需要长规格但需要验收标准。两行也行写下来这是整个设计里最有创意的一层——不是告诉 Agent 应该做什么而是让 Agent 无法说服自己跳过。2.doubt-driven-development对抗性自审循环五步流程CLAIM → EXTRACT → DOUBT → RECONCILE → STOP专门针对高风险场景生产环境、安全敏感、不可逆操作强制 Agent 在输出前对自己的每一个断言做对抗性审查。这意味着 Agent 必须主动质疑自己的输出而不是直接提交。3. 量化的测试金字塔TDD Skill 明确规定80/15/5分布单元/集成/E2E不留模糊空间。这个量化标准直接避免了测试写了但全是 E2E这类常见的质量幻觉。对比判断相比.cursorrules/ 系统 Prompt差异是什么目前开发者对抗 Agent无纪律问题常用三种路径路径做法弱点系统 Prompt在 context 头部贴规则文字随 context 增长被稀释建议性非强制性.cursorrules等规则文件IDE 级别的简短策略太短无法承载完整工作流无检查点agent-skills结构化 Skill 命令入口 反合理化上下文占用较大需要团队统一采用微信公众号新智元系的分析文章也指出agent-skills的务实之处在于它主动建议用户只激活 2-3 个核心技能避免上下文爆炸导致模型机械执行、规则互相打架。这说明项目作者清楚地知道把 24 个 Skill 全部塞入 context 是灾难不是银弹。交叉验证信源 1colobu.com个人技术博客2026-06-28作者小笨熊对项目进行了深度解读观点与原文高度一致但补充了一个重要背景agent-skills的设计哲学与 Google 工程文化有明显基因相承——Hyrums Law 对应 API 设计 Skill、Beyoncé Rule 对应 TDD Skill、Chestertons Fence 对应代码简化 Skill。这个视角让人理解为什么这套 Skill 比一般AI 使用指南更有分量它是对谷歌十余年工程实践的蒸馏不是凭空设计的。该信源认同原文的定位并进一步强化了制度性阻止自我欺骗这一核心机制的解释。信源 2微信公众号分析文章2026-05-05约 18K Star 时期这篇文章的立场稍有保留它指出项目当时已存在不少 issue命令冲突、hook 问题并明确表示agent-skills并非再强的模型就能解决的那类方案而是需要配合良好工程实践基础才能发挥效果。这是原文 README 中未直接强调的一个边界——如果团队本身没有代码审查习惯光靠/review命令也无法培养出这个习惯。该信源总体认同价值但对通用适用性有更多保留。两个信源都不存在对原文核心观点的反驳但共同补充了一个原文轻描淡写的局限这套系统的使用效果强依赖于执行者AI Agent 或开发者本身的上下文质量和工具配置。边界与局限并非适用于所有场景局限在于以下几点需要正视对小项目或原型开发成本偏高。/spec→/plan→/build的完整链路在写一个 100 行脚本时显然是杀鸡用牛刀。原文的/build auto模式试图缓解这一痛点但仍需要先通过 spec 阶段。跨工具适配质量参差。Claude Code 是推荐路径其他工具Windsurf、GitHub Copilot的集成本质是把 Markdown 内容粘进规则文件结构化程度大打折扣。单技能安装存在路径依赖缺陷。原文自己在 README 里承认单独安装某个 Skill 时引用references/目录下共享 checklist 的路径会失效这个问题被追踪在 issue #361至今未完全解决。反合理化表能否真正约束 LLM 仍有不确定性。这套机制依赖 LLM 在处理 Skill 文件时确实读到了对应的约束而不是被更强的 few-shot 示例或用户 prompt 覆盖掉。实际效果因模型版本和 context 长度而异。个人启发这对开发者意味着什么具体行动这篇文章和这个项目的实际价值不是又多了一个 AI 工具可以试试而是它提供了一个思考框架给 AI Agent 的约束应该是可执行的流程而不是可忽略的建议。具体而言对个人开发者如果你已经用 Claude Code 或 Cursor 写了一段时间代码最值得先安装的是test-driven-development和code-review-and-quality这两个 Skill而不是全量安装 24 个。上下文膨胀是实际代价要控制。对团队/工程决策者这个项目的真正价值是工程文化的外化——如果你的团队有 TDD 习惯、有 spec 文化这套工具能把这些习惯延伸给 AI Agent如果团队本身没有这些习惯agent-skills只是名义上的约束实际上 Agent 还是会被允许绕过。先建立工程文化再用工具固化。对评估 AI 工具链的人这意味着下一阶段 AI 编程工具的竞争维度不只是写代码有多快、有多准而是能否保证工程流程的完整性。这个方向会推动更多工具从能力增强转向纪律强化。延伸思考反合理化表能否被自动生成每个 Skill 里内嵌的借口-反驳对目前是人工编写的。随着 Agent 使用数据的积累理论上可以让 AI 从真实的Agent 失败案例中反向提取常见借口自动更新这张表。这将是 Skill 设计从静态走向动态的关键一步。这套框架是否会推动 AI IDE 的流程层标准化目前 Claude Code、Cursor、Copilot 各有各的 context 注入方式agent-skills通过 Markdown 命令的最小公约数来兼容是务实选择。接下来值得观察的是这类项目是否会推动主流 AI IDE 统一一套Skill 协议就像.editorconfig对代码风格做的那样。工程纪律外包给 Skill 文件会不会反向削弱开发者自身的工程判断力这是一个值得警惕的悖论当 AI Agent 严格按照 Skill 流程执行开发者可能逐渐习惯于不再亲自思考这步该不该做 review这个功能是否需要 feature flag。长期来看工程纪律的载体从人转移到文件是赋能还是依赖取决于开发者如何主动理解这些约束背后的原因。 参考来源GitHub - addyosmani/agent-skills: Production-grade engineering skills for AI coding agents. · GitHub
返回列表