一文读懂 Agent Skills 文章目录前言一、什么是 Agent Skills1. 概念的由来2. Agent Skills 的本质3. 为什么需要 Skills二、Agent Skills 与 MCP 协议的区别1. MCP 的定位2. Skills 的定位3. 一个直观对比三、Skills 如何通过渐进式披露节省 Token1. 传统方式的问题2. 渐进式披露的核心思路3. 为什么这样可以节省 Token4. 工程学上的进一步延伸四、总结前言在 Agent 系统逐渐走向复杂化的过程中一个问题开始变得越来越突出当模型需要调用越来越多工具、执行越来越复杂任务时如何组织这些能力并在保证效果的同时控制成本在这样的背景下Agent Skills逐渐成为一个被频繁提及的概念。它并不是一个单一的技术而是一种围绕“能力组织与调用”的工程范式尤其在多工具、多步骤的 Agent 系统中表现出重要价值。一、什么是 Agent Skills1. 概念的由来在早期的 Agent 系统中开发者通常会把所有能力直接暴露给模型。例如将所有工具的说明、参数定义、使用方式一次性写入 Prompt 或系统上下文中让模型“自己决定”该调用哪个工具。这种方式在工具数量较少时尚且可行但随着系统复杂度提升很快暴露出两个问题一方面上下文迅速膨胀模型的注意力被大量无关信息分散反而降低了决策质量另一方面模型在面对复杂工具集合时容易出现误用、乱用甚至完全忽略工具的情况。因此工程实践开始从“把所有能力都给模型”转向“只在需要时提供能力”Agent Skills 正是在这一转变中逐渐形成的。2. Agent Skills 的本质从工程角度来看Agent Skills 可以理解为对 Agent 能力的一种模块化封装与按需暴露机制一个 Skill 通常包含以下几个要素能力描述它能做什么调用条件在什么场景下使用执行逻辑可能包含多步操作或工具组合输入输出规范结构化接口与“工具Tool”相比Skill 往往是更高层的抽象。工具是原子能力例如“搜索”、“读取文件”、“调用 API”而 Skill 更像是对这些能力的组合例如“分析文档风险”、“生成产品报告”。换句话说Skill 并不是简单地增加能力而是在能力之上增加了一层组织与调度逻辑。3. 为什么需要 Skills随着 Agent 从“回答问题”转向“执行任务”系统面临的核心问题不再是单次生成是否正确而是整条任务链路是否稳定。在这种情况下如果仍然让模型直接面对所有底层工具等价于让一个人同时记住所有 API 文档、业务规则和执行流程这在实践中几乎不可控。Skill 的出现本质上是在做一件事情将复杂能力结构化、分层化让模型在更小的决策空间中做判断。这不仅降低了错误率也为后续的优化如调度、缓存、复用提供了基础。二、Agent Skills 与 MCP 协议的区别在讨论 Agent 能力组织时另一个常被提及的概念是 MCPModel Context Protocol。两者虽然都与“能力调用”相关但关注点完全不同。1. MCP 的定位MCP 更偏向于一种通信协议或标准接口其核心目标是定义模型如何与外部工具、数据源进行交互它解决的是“怎么连”的问题包括工具如何被描述参数如何传递返回结果如何结构化多个服务如何统一接入从这个角度看MCP 更像是 Agent 生态中的“基础设施”。2. Skills 的定位相比之下Agent Skills 更关注的是在已有能力之上如何组织、选择并调度这些能力它解决的是“怎么用”的问题例如在什么情况下调用某个能力是否需要组合多个能力如何拆解复杂任务如何控制执行路径因此可以把两者关系理解为MCP 提供能力接入的标准方式Skills 负责能力的组织与使用策略。3. 一个直观对比可以用一个类比来理解MCP 类似于“USB 接口标准”解决设备如何接入Skills 类似于“应用程序”决定如何使用这些设备完成任务一个系统可以没有复杂的 Skills但只要涉及多个工具协同就几乎离不开 MCP而一旦任务复杂度上升Skills 就成为提升系统稳定性的关键。三、Skills 如何通过渐进式披露节省 Token在实际工程中Agent Skills 最直接的价值之一是显著降低上下文消耗。这一点主要体现在“渐进式披露Progressive Disclosure”这一设计思路上。1. 传统方式的问题在没有 Skills 的情况下常见做法是将所有工具信息直接放入上下文例如工具说明参数定义使用示例当工具数量达到十几个甚至几十个时这部分内容会占据大量 Token带来两个直接问题首先是成本问题上下文越长调用模型的成本越高其次是效果问题信息过多会导致模型注意力分散反而降低决策准确率。2. 渐进式披露的核心思路Skills 的一个关键设计是不一次性暴露全部能力而是在需要时逐步提供信息。典型流程如下第一步只向模型提供一个“能力列表”每个 Skill 只有简要描述例如文档分析数据查询报告生成此时上下文非常精简模型只需要做一件事情判断当前任务属于哪个能力范围。第二步当模型选择某个 Skill 后系统再将该 Skill 的详细信息包括步骤、参数、约束等注入上下文。第三步在执行过程中如果需要调用具体工具再进一步补充对应工具的细节。3. 为什么这样可以节省 Token这种分阶段注入信息的方式本质上是在做两件事情其一减少“无关信息”的长期占用。模型在大多数时间内只看到与当前任务相关的能力描述而不是整个系统的全量能力。其二将复杂信息延迟到“真正需要的时刻”。只有在模型已经确定使用某个 Skill 时才引入详细上下文从而避免早期决策阶段的信息干扰。从结果上看这种方式不仅降低了 Token 使用量也提高了模型在关键步骤上的专注度。4. 工程学上的进一步延伸在实际系统中渐进式披露往往还会结合以下策略对 Skill 进行分层设计基础能力 / 高级能力动态加载上下文而非静态拼接对历史上下文进行压缩或替换在多 Agent 场景下仅传递结构化结果而非原始文本这些手段的共同目标是让上下文始终保持“最小但足够”。四、总结随着 Agent 系统从简单问答走向复杂任务执行能力的组织方式逐渐成为影响系统稳定性的关键因素。Agent Skills 的出现本质上是对这一问题的工程化回应。它通过将能力模块化、结构化并结合渐进式披露机制在保证能力表达完整性的同时有效控制了上下文规模与系统复杂度。如果说 MCP 解决的是“能力如何接入”那么 Skills 解决的是“能力如何被高效使用”。两者共同构成了现代 Agent 系统中不可或缺的基础。