ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

大模型技术全景(十四):Skill 技能封装与渐进式披露

大模型技术全景(十四):Skill 技能封装与渐进式披露 本文收录于「流浪」的系列专栏Linux系统⚙️C数据结构与算法PythonLangChain LangGraph️MySQL 数据库Git 工具计算机网络LLM大厂面试、八股学习筑基专栏 博客主页流浪 原创首发于 CSDN篇十一讲清了Agent 之间「怎么传话」篇十二界定了「哪些动作必须等人点头」篇十三解决了「怎么跨会话记得住」。但 Agent 光会通信、会刹车、有记忆还不够——还得「会做活」。本篇讲 Skill把成熟工作流、避坑指南封装成可插拔、可复用的能力文件夹让 Agent 从「临时调工具」走向「标准化能力复用」。一、四次跃迁AI 如何从「调一个工具」走向「装一套能力」1.1 从 Function Calling 到 Skills 的演进时间线大模型「调用工具、执行任务」的能力在 2023 到 2026 年间经历了四次关键跃迁2023.06 OpenAIFunction Calling最早让模型「主动请求调用外部函数」的标准化接口首次赋予大模型与外部系统交互的能力是后续所有工具调用协议的雏形。2024.11 AnthropicMCP模型上下文协议把工具调用从「单点功能」升级为标准化开放协议统一了 AI 连接数据库、API、本地文件等外部资源的方式工具生态开始具备互操作性。2025.10 AnthropicAgent Skills首次用「SKILL.md 文件夹」把「任务流程 专业知识 脚本工具」打包为可复用技能单元标志 AI 能力从「临时调用工具」演进为「长期可复用的标准化能力模块」。2025.12 成为开放标准、GitHub Copilot 正式支持Anthropic 将 Skills 协议开放任何 AI 平台均可采纳同月 GitHub Copilot 率先集成获得主流开发者工具认可。2025.12 OpenAICodex 产品线支持OpenAI 在 Codex 系列CLI、IDE、App中实现对 Skills 的扫描与安装扩大标准在编程辅助场景的覆盖。2026.01Cursor 将 Skills Hooks 作为 Agent 关键机制下一代 AI 编辑器 Cursor 在 Nightly 中将 Skills 与 Hooks 深度整合作为 Agent 行为控制的核心机制。2026.02 GitHub 集成多家第三方 Coding Agent成为多代理枢纽GitHub 进一步平台化集成多家第三方编码代理成为多代理协作的中枢平台。四次跃迁的主线是从「教模型怎么调一个工具」Function Calling走向「给模型一套可插拔的能力模块」Skills。Skill 的出现让 Agent 的工程化从「临时调用」跨入「标准化能力复用」阶段。二、Skill 是什么一个可插拔的能力文件夹2.1 提出方与定义1 提出方Anthropic 最早提出 Skill作为其大模型 Claude 的能力扩展机制允许用户为 Claude 添加自定义的功能和工具。随着做法成熟、社区广泛接受如今 Skills 已成为多数 Agent 开发工具与 IDE 都支持的标准扩展规范。2 定义一个 Skill 就是一个包含SKILL.md文件的文件夹——至少含元数据name、description和「如何执行任务的指令」还可捆绑脚本、参考资料、模板等资源。说白了就是把一整套成熟工作流、避坑指南、独门秘籍全塞进一个文件夹里。2.2 本质给 Agent 装「专项能力」Skill 相当于给只会说话的 Agent 装上不同「专项能力」——装了天气 Skill 就能实时查天气装了文件 Skill 就能读写各种文档装了代码 Skill 就能写程序、跑代码。Agent 的差异不在「会不会说」而在「挂了哪些 Skill」。2.3 一个 Skill 的三层组成一个 Skill 本质是一个文件夹核心是三样东西SKILL.md说明书指令 元数据告诉 Agent 怎么干。Scripts操作脚本可执行的 Python / Bash / Node 代码处理纯 Prompt 难稳定的数值计算、文件处理。References参考资料领域文档、API 手册、技术标准、FAQAgent 按需读取避免把所有知识硬编码进提示词。此外还有Assets静态资源模板、数据文件、对比示例图、预定义 JSON Schema 等「原材料」为 Agent 提供执行所需的静态依赖。2.4 官网与开放标准Skill 的开放标准官方主页是 https://agentskills.io 提供技术规格、完整文档、使用指南和客户端支持列表。Skill 不是「又一种提示词」而是一个可插拔的能力文件夹——SKILL.md是指令层Scripts/References/Assets是能力层。Agent 的差异不在「会不会说」而在「挂了哪些 Skill、怎么用」。三、文件结构SKILL.md 主文件 三类附属目录3.1 文件夹树my-skill/ ├── SKILL.md # 核心文件指令 元数据 ├── scripts/ # 可选该技能专属的可执行代码 ├── references/ # 可选技术文档、领域知识参考 └── assets/ # 可选模板、静态资源3.2 SKILL.md 字段表字段必需说明name是Skill 名称最长 64 字符只能使用小写字母、数字和-且不能以-开头或结尾description是功能与使用场景说明最长 1024 字符不能为空license否许可证名称或指向随 Skill 附带的许可证文件compatibility否环境与依赖说明产品、系统包、网络权限等最长 500 字符metadata否自定义键值对用于扩展元数据如作者、版本号allowed-tools否允许使用的工具列表空格分隔实验性功能3.3 三类附属目录的职责1 Scripts包含该技能专属的自动化脚本Python、Bash 或 Node.js。当某些任务通过纯 Prompt 难以稳定实现或需要进行复杂的数值计算、文件处理时Agent 可以直接运行这些脚本。2 References存放该领域的专业文档、API 手册、技术标准或常见问题解答FAQ。Agent 会在需要时才按需读取这既能保证专业性又避免了将所有知识硬编码在提示词中。3 Assets存放各种静态资源例如配置模板、数据文件、用于对比的示例图像或预定义的 JSON Schema。这些资源为 Agent 提供了执行任务所需的「原材料」。文件结构的核心是「SKILL.md主文件 三类按需加载的附属目录」。name/description是必填的「身份证」其余字段按需选填scripts/references/assets把重活与知识外置主文件才能保持轻量——这正是渐进式披露的物理基础。四、实例拆解官方 docx Skill 把「踩坑」写成检查项4.1 官方 docx 示例一份完整的 SKILL.md官方仓库的 WORD 处理示例官方仓库展示了一个完整SKILL.md。其 YAML Frontmatter 含name: docx与一段极长的description覆盖「创建 / 读取 / 编辑 Word、提取文本、插入图片、find-replace」等触发词并显式排除 PDF、表格、Google Docs。正文以一个核心判断开头.docx本质是 XML 的 ZIP 包按任务选方案——新建用docxnpm脚本、编辑用unzip改document.xml再zip、读取用pandoc。另一个生产级样例是腾讯文档 Skill其SKILL.md通过场景路由表把多品类文档操作模块化可作为封装复杂业务的参考。4.2 正文里的「踩坑清单」docx-js gotchas官方示例正文体量很大但其价值在于把「血泪经验」固化成检查项。举几个典型 gotcha页面尺寸默认 A4要做 US Letter 需显式设width/heightDXA1440 1″。表格需双宽度表格设columnWidths、每个单元格设width均用WidthType.DXA且二者之和要对上。表格底纹用ShadingType.CLEAR绝不用SOLID会渲染成黑块。列表绝不用字面•要用numbering配置LevelFormat.BULLET。ImageRun必须带type「png」「jpg」…PageBreak必须包在Paragraph内绝不用\n要用独立Paragraph。好 Skill 的样板不是「Hello World」而是把「踩过的坑」写成可复用的检查项。docx 示例的价值正在于此——它证明了SKILL.md该装的是经验不是概念。五、装到哪User 级常驻还是 Project 级随代码5.1 Project 级团队协作项目目录/.客户端/skills/某个客户端可用的技能。项目目录/.agents/skills/跨多个客户端项目共享。5.2 User 级个人常驻~/.agents/skills/通用目录。~/.客户端/skills/客户端技能目录。~/.claude/skills/Claude Code、~/.cursor/skills/Cursor、~/.workbuddy/skills/WorkBuddy、~/.qclaw/skills/QClaw、~/.codex/skills/、~/.copilot/skills/、~/.gemini/skills/、~/.config/opencode/skills/、~/.windsurf/skills/、~/.cline/skills/、~/.trae/skills/。路径所在目录决定「谁能用到这个 Skill」——User 级目录如~/.claude/skills/对你机器上所有项目生效Project 级目录随仓库提交、团队克隆即继承无需再逐一配置。安装目录决定 Skill 的「作用域」。放 User 级是个人习惯全局生效放 Project 级是团队规范随代码走。选型看协作边界而非随手一放。六、社区与渐进式披露几百个 Skill 挂机也不撑爆上下文6.1 8 个社区 / 市场Anthropic 官方 Skills 仓库https://github.com/anthropics/skillsModelScope Skills 中心https://modelscope.cn/skills合集https://github.com/voltagent/awesome-agent-skills聚合市场https://skillsmp.com/Vercel 官方排行榜https://skills.sh/小龙虾官方仓库https://clawhub.ai/skills小龙虾国内镜像https://cn.clawhub-mirror.com/为中国区优化的 skillhubhttps://skillhub.cn/以上链接时效性请自行核实安装前确认仍可访问。6.2 核心机制渐进式披露Progressive Disclosure如果给 Agent 装 50 个 Skill每个都有几千字说明书系统一启动就把这些全塞进上下文窗口会同时触发成本爆炸每次对话消耗数万 Token与注意力分散「这也想干、那也想干」。渐进式披露按需加载、用多少拿多少就是为此设计分三个阶段1 阶段一发现Discovery启动时只扫描所有SKILL.md头部的 YAML 元数据name、description形成一个轻量「技能索引表」就像书籍的目录。此阶段 token 消耗极低哪怕有数百个技能也不会造成负担。2 阶段二激活Activation当用户提出具体任务Agent 分析意图 → 按description匹配 → 命中后才会完整读取该SKILL.md。例如用户说「帮我合并这三个 PDF 文件」Agent 识别「合并」「PDF」关键词在索引里找到 PDF 合并技能此时才将完整指令加载进上下文。这种按需激活确保任何时刻上下文只包含当前任务真正需要的指令。3 阶段三执行Execution执行中按需读取references/参考文档、调用scripts/脚本、使用assets/模板——用到什么加载什么而非一次性全载。比如只有处理扫描件 PDF 时才会读取references/ocr-guide.md。渐进式披露让 Skill 体量再大也不怕。元数据常驻、正文命中才注入、参考资料用到才读——这才是「几百个 Skill 同时挂机也不撑爆上下文」的根本原因也是 Skill 工程可行性的基石。七、编写六原则用最省的 token 沉淀专家 SOP7.1 description 很关键description决定 AI 什么时候会触发这个 Skill。写得太模糊该触发的时候不触发写得太宽泛不该触发的时候乱触发。这就好比你去买水果和店家说要苹果店家会给你苹果而不会递你香蕉、葡萄、草莓。好的description: 从 PDF 文件中提取文本和表格、填充表单、合并文档。在处理 PDF 文件或用户提及 PDF、表单或文档提取时使用。坏的帮助处理 PDF 文档7.2 只写 AI 不知道的东西就这样想如果你要把这个工作交接给经验丰富的同事你需要告诉他什么Excel 怎么做这种就不用教了。值得写的是你的私有规则、个人习惯、行业里的特殊流程——比如「工作周从周三算起」「老板只看柱状图不看饼图」。每写一句自问这个信息 AI 会知道吗如果知道可以删掉。7.3 信息分层按需加载核心规则放主文件参考资料、模板放单独文件AI 需要时再去调用读取。主文件控制在 500 行以内引用保持一层深度。SKILL.md直接引用参考文件就好例如「需要参考格式时请读取references/output-example.md」。7.4 复杂流程加验证环节AI 可能在某一步出错但要到后面才暴露。如果是比较复杂的任务就可以在关键步骤后加检查点验证通过才继续。可以在关键步骤后加一句「做完这步先检查 XX 是否正确确认没问题再继续下一步」。7.5 先跑起来再慢慢打磨Skill 很难做到一次就是完美的可以先做一些尝试哪里不对再优化别追求一步到位。7.6 SKILL.md 要简单上下文窗口是一种公共资源里面包含系统提示词、对话历史等。Skill 在最开始占用的成本不高但如果一旦决定加载skill 的内容会被整体加载进上下文所以保持简洁很关键。7.7 对复杂任务使用指定步骤或工作流七条原则一句话收口——description是路由开关、只写 AI 不懂的私有知识、重活外置分层、复杂任务留检查点、先通再精、主文件保持轻。本质是「把专家经验用最省的 token 沉淀成可触发、可复用、可验证的 SOP」。八、Skill ≠ Prompt ≠ MCP一张表看清三者边界8.1 Skill VS 提示词六维对比Skills 和传统 Prompt 最大的区别是按需加载 渐进式披露只在需要时才把厚厚的流程信息塞进上下文极大节省 token。对比维度普通 Prompt传统提示词Skills 机制技能封装核心逻辑一次性口语指令每次对话都得重新「教育」AI封装好的「岗位说明书 SOP」AI 自动按章办事加载方式全量强塞随用户消息或系统指令一次性灌入渐进式披露索引常驻正文仅在命中时动态注入上下文占用Token持续巨量消耗无论这轮用不用几千字都占着上下文极致节俭未触发时约占 50 Token触发后按需加载输出稳定性极差抽卡模式换个说法、换次对话结果风格大变极高固定 Checklist 输出模板质量稳定如一触发机制完全被动必须由用户显式在对话框输入指令主动决策 被动响应AI 判断任务匹配时自主决定调用工程化管理几乎为 0无法做 Git 版本控制改乱了找不回支持 Git 全链路追踪可 Code Review、可回滚、可协作8.2 Skill VS MCP四维对比Skill 是嵌入 AI 的「标准作业程序」SOP教它按规范完成任务MCP 是 AI 的「通用插头」帮它即插即用地连接外部工具和数据。对比维度MCP模型上下文协议Skill技能核心定义一种开放的标准通信协议类比 AI 的 USB-C 接口一个封装好的能力包 / 知识包包含 Prompt、脚本、知识库交互方式动态双向交互。客户端Host通过协议调用远程服务器的工具Tools和资源Resources静态 / 半静态注入。启动时或对话中将指令、文件挂载到 System Prompt 上下文中开发复杂度较高。需实现 JSON-RPC 服务端、定义 InputSchema、处理鉴权较低。只需编写 Markdown 指令和整理文件夹结构类似写 Prompt 工程典型用途获取实时天气、操作 Jira / GitHub、读写云盘文件、执行系统命令固定代码风格规范审查、特定财报分析流程、邮件草稿生成模板、法律文书初审Skill 与 MCP 不在同一抽象层级——一个管「怎么做」能力 / 方法论一个管「连什么」连接 / 通道。真实系统里二者协同Skill 主导流程MCP 提供外部数据与工具缺一不可。九、收口衔接Skill 在 Agent 工程化里站哪一层轻量9.1 与通信协议的关系篇十一讲协议负责「Agent 之间怎么传」本篇 Skill 负责「传完之后 Agent 自己怎么干」二者前后衔接——协议把信息运到位Skill 把信息用到位。9.2 与人工介入的关系篇十二的 HITL checkpoint 是「运行态断点续传」本篇 Skill 是「能力态固化」两者都是把状态 / 规范外置只是层级不同运行态 vs 能力态。八、面试题8.1 推导题【推导】从「Agent 需按需加载专业知识、且上下文窗口是稀缺公共资源」出发推导为什么 Skill 必须采用渐进式披露并进一步推导 Skill 与 MCP 为何互补而非替代——一个管「怎么做」、一个管「连什么」。推导链LLM 本身无状态、上下文窗口有限且每次请求都按 token 计费若给 Agent 装几十个 Skill 且每个几千字说明书在启动时全量灌入会同时触发成本爆炸每次对话消耗数万 token与注意力分散指令拥挤导致「这也想干那也想干」所以必须「按需加载、用多少拿多少」——这就是渐进式披露发现阶段只扫name/description形成轻量索引激活阶段按description命中才读入SKILL.md正文执行阶段才按需读references/scripts/assets由此 Skill 在「未触发时仅占约 50 token」的前提下既保留了厚重专业知识又几乎不占上下文这正是其工程可行性的根基呼应篇十三「外部存储 检索替代全量上下文」的同一思想。再推 Skill 与 MCP 的关系Skill 封装的是「某类任务怎么思考、按什么流程执行、输出什么约束」SOP / 方法论MCP 提供的是「Agent 如何发现、调用、取回外部工具与数据」连接协议二者抽象层级不同——只有 MCPAgent 能连外部但流程混乱、输出不可控只有 SkillAgent 流程标准却拿不到实时数据与系统能力真实生产里 Skill 主导流程、MCP 提供数据与工具协同闭环呼应篇十一「协议负责传输」、篇十二「checkpoint 负责运行态」——本篇 Skill 负责「能力态」。8.2 真题【真题·转述自Anthropic 官方 Skills 编写最佳实践 / SKILL.md 结构解析为什么 description 是最重要的一行】SKILL.md 里的description为什么最关键写错会怎样思路description 是 Agent 在启动时唯一会看到的、用于「决定要不要激活这个 Skill」的文本其余正文都未加载它本质是「路由规则」而非「给人看的文档」所以必须写清「做什么 何时用 用户会怎么说」这类触发词否则模糊描述如「帮助处理 PDF」会让该触发时不触发、过宽描述会乱触发写错的直接后果是 Skill 形同虚设——要么永远不被调用要么在不该用时抢答。【真题·转述自Skills 与 MCP 的核心区别一文读懂 / 看懂智能体底层Agent、Skill、MCP 不是一回事】Skill 和 MCP 到底什么关系实际项目里怎么分工思路二者不在同一抽象层——Skill 是「内功 / 手艺」管怎么把事做对做标准固化 SOPMCP 是「外接通道 / USB-C」管连什么外部工具与数据Agent 是「脑子」负责调度落地分工是 Agent 决策 → 加载 Skill 主导流程 → Skill 通过 MCP 拉取外部数据 / 调工具 → 二次加工输出只有 MCP 流程不可控、只有 Skill 拿不到实时数据所以互补而非替代。【真题·转述自面试官问你「会写 Agent Skill 吗」别只说「写提示词」 / Agent Skill 是什么不是保存 Prompt而是可复用能力包】什么场景该用 Skill 而不是一长段 Prompt思路判断标准是「是否频繁发生、流程是否稳定、结果能否检查」——高频重复、有固定流程、需统一标准、需团队复用、有外部工具 / 脚本依赖、结果要可校验的任务如周报生成、代码审查、测试报告值得做成 Skill偶发、短、无格式要求、不需复用的如「帮我想 10 个标题」直接 Prompt 即可做成 Skill 反而过度设计。一句话Prompt 管「这一次」Skill 管「这一类」。结语通信、刹车、记忆都齐了还差「会做活」——Skill 就是把专家 SOP 封装成可触发、可复用、可验证的能力文件夹。记住渐进式披露索引常驻、正文命中才注入。你打算先给自己的 Agent 写哪个 Skill评论区聊聊。觉得有收获点个赞再走关注流浪大模型技术全景持续更新。
返回列表