在智能体(Agent)开发中,如何让一个 AI Skill 稳定且可预测地执行,长期被开发者视为“玄学”——同样的 prompt,输出结果却飘忽不定。Matt Pocock 近期分享的 /writing-great-skills 指南,直接将这一黑盒过程拆解为一套可复用的工程设计原则,迅速成为其调用频次最高的 Skill。这不仅是一份教程,更指向 AI 工程化的核心矛盾:如何将模型的行为约束在可控的轨道上。
该指南的核心前提是“以过程可预测为目标”。Pocock 首先区分了两种 Skill 类型:model-invoked(自动触发,由模型判断何时调用)和 user-invoked(用户主动发起)。这一区分看似简单,实则决定了 description 的撰写方式——它不应是功能描述,而应是触发条件声明。换句话说,description 要像一条“规则”:当满足哪些条件时,模型才应调用此 Skill。这直接影响了 Agent 的决策链。
在内容组织上,指南提出 三层信息结构:主步骤、参考、外部文件。这种渐进式披露的设计,本质上是管理模型注意力——把最关键的执行路径放在第一阶段,避免模型一次性读取过多上下文导致注意力稀释。每一个步骤都要求有明确的完成标准(completion criteria),这是判断步骤是否成功结束的唯一依据。Pocock 特别强调,拆分 Skill 不是为了模块化,而是为了精确控制模型在每一步的关注焦点。
一个极具实用价值的技巧是 leading word——用最精简的词压缩行为要求。例如在步骤描述开头固定使用“List”“Compare”“Extract”等动词,模型在执行时会自动遵循该动词指向的思维模式。这一细节将自然语言的模糊性大幅降低。
指南还诊断了五种常见的失败模式:Premature completion(过早结束)、Duplication(步骤重复)、Sediment(信息沉淀导致步骤冗余)、Sprawl(步骤无边界扩散)、No-op(空操作——步骤描述不包含有效动作)。针对 No-op,他提出一个检验标准:如果一条指令可以删除而不影响最终输出,说明它是无效的。用这种“No-op 测试”来过滤冗余描述,能显著提升 Skill 的效率。
行业背景上,目前多数 Agent 框架(如 LangChain、AutoGPT)的 Skill 编写仍停留在“写 prompt”阶段,缺乏结构化约束。Matt Pocock 的方法实则将软件工程中的“单一职责原则”和“先定义接口再实现”的思想迁移到了 AI 领域。对于开发者而言,最大的价值不是记住这些概念,而是建立一套“可测试、可回溯”的编写流程:先定义触发条件与完成标准,再逐步填充步骤与参考,最后用 leading word 压缩表述。
趋势上,随着多智能体协作和复杂工作流的普及,Skill 的可预测性将成为 Agent 产品的核心竞争壁垒。Matt Pocock 的指南给出了一个扎实的起点——不是更聪明的模型,而是更聪明的设计。