一文搞懂 Skills:会成为第二个 MCP 吗?

📅 发布时间:2026/7/7 20:01:59 👁️ 浏览次数:
一文搞懂 Skills:会成为第二个 MCP 吗?
MCP 让 Agent 能连接世界Skills 让 Agent 能复用能力。两者结合构成 Agent 基础设施的核心。Skills 是什么一个标准化描述和复用 Agent 能力的协议定义了如何描述能力、声明依赖、定义执行流程。和 MCP 什么关系Skills 在 MCP 之上。MCP 解决工具连接Skills 解决能力复用。一个 Skill 可以调用多个 MCP 工具和其他 Skills。解决什么问题让 Agent 能力可以封装、分享、复用避免重复造轮子让最佳实践可以沉淀传播。会成为标准吗很可能。解决真实痛点有大厂推动正在形成生态效应。本文从技术角度深度拆解 Skills 协议的设计理念、核心规范与实现细节。一、为什么需要Skills从一个真实场景说起假设你是一家公司的运营负责人每周一早上需要给老板发一份上周的销售分析报告。这个任务看起来简单但实际上涉及很多步骤。首先你要从公司的数据库里把上周的销售数据导出来。然后你需要按产品线、按区域、按渠道等多个维度做分析算出各种同比环比增长率。接着你要把这些数据做成直观的图表。之后你要把分析结论和图表整理成一份 Word 或 PDF 报告。最后你要写一封邮件把报告发给老板还要抄送给相关同事。现在你有了一个 AI Agent 助手。你对它说“帮我生成上周的销售报告发给老板。”Agent 能完成这个任务吗如果这个 Agent 接入了各种工具——数据库查询工具、Excel 处理工具、图表生成工具、文档编辑工具、邮件发送工具——理论上是可以的。但实际执行时Agent 需要自己想清楚很多事情。应该先查哪个数据库的哪张表SQL 怎么写查出来的数据格式是什么要做哪些维度的分析图表用柱状图还是折线图报告的结构是什么样的邮件标题怎么写正文怎么组织附件还是正文内嵌每次执行这个任务Agent 都要重新思考这些问题。今天它可能先做图表再写分析明天可能先写分析再做图表。今天生成的报告是三页明天可能是五页。质量参差不齐老板体验很差。更麻烦的是隔壁部门的同事看到你的 Agent 能生成销售报告也想要一个。但你没办法简单地把这个能力复制给他因为这个能力并没有被清晰地定义和封装它只是散落在 Agent 的各种 prompt 和工具调用里。这就是 Agent 现在面临的 MCP 解决不了的问题工具有了但怎么组合这些工具来完成一个完整任务的知识没有办法标准化地描述和复用。Skills 如何解决这些问题Skills 协议就是为了解决这些问题而生的。它的核心思想是把完成某类任务的完整能力封装成一个标准化的单元这个单元可以被描述、被发现、被复用、被分享。回到销售报告的例子。有了 Skills 之后可以把销售报告生成封装成一个 Skill。这个 Skill 里面清晰地定义了这个 Skill 能做什么生成销售分析报告需要什么输入时间范围、分析维度、收件人等会产生什么输出报告文件、分析摘要、发送状态依赖哪些工具数据库 MCP、图表 MCP、文档 MCP、邮件 MCP具体执行步骤是什么先查数据、再分析、再做图、再生成报告、最后发邮件出错了怎么处理重试几次、失败了怎么降级当用户说帮我生成上周的销售报告发给老板时Agent 只需要识别出应该使用销售报告生成这个 Skill从用户的话里提取出参数时间范围上周收件人老板然后调用这个 Skill。剩下的事情Skill 会按照预定义的流程自动完成。每次执行都是一样的流程质量稳定可控。这个 Skill 可以分享给其他人他们不需要重新摸索。公司可以统一维护和迭代这个 Skill所有人都能受益。如果说 MCP 是工具连接的USB 标准那么 Skills 就是能力复用的App Store。MCP 让你能够使用各种工具Skills 让你能够获取别人封装好的能力。就像智能手机有了统一的接口标准USB-C你能连接各种配件有了应用商店你能下载别人开发的 App两者结合才构成完整的生态。二、Skills 协议是什么一个完整的 Skill 定义包含六个核心部分。可以把它想象成一份能力说明书告诉别人这个能力是什么、怎么用、需要什么条件。第一部分元信息——“这个 Skill 是谁”元信息就像一个人的身份证包含名字、版本号、作者、分类标签等基本信息。名称和命名空间用来唯一标识一个 Skill避免不同开发者起了相同的名字。比如enterprise.analytics.sales_report这样的完整标识。版本号用来管理 Skill 的迭代更新让使用者知道自己用的是哪个版本。分类标签方便搜索和发现比如标记为 sales、analytics、report 等。第二部分能力描述——“这个 Skill 能做什么”这部分是告诉 Agent 和用户这个 Skill 的用途是 Skill 被正确选择的关键。给模型看的描述帮助 Agent 判断什么时候应该使用这个 Skill。需要说清楚适用场景和不适用场景比如当用户需要分析销售数据时使用不适用于非销售相关的分析。给人看的描述让用户了解这个 Skill 的功能包括简短介绍和详细说明。示例对话提供一些触发和不触发的例子帮助 Agent 更准确地识别意图。第三部分接口定义——“怎么使用这个 Skill”接口定义规定了输入什么、输出什么就像一个函数的参数和返回值。输入参数定义了使用这个 Skill 需要提供哪些信息。每个参数要说明名称、类型、是否必填、默认值等。以销售报告 Skill 为例输入可能包括时间范围必填、分析维度可选默认按产品和区域、输出格式可选默认 PDF、收件人邮箱可选填了就发邮件。输出结果定义了 Skill 执行完会返回什么。比如报告文件的下载链接、分析摘要、发送状态等。第四部分依赖声明——“运行这个 Skill 需要什么”依赖声明说明这个 Skill 需要哪些外部资源才能运行主要包括两类MCP 工具依赖需要哪些 MCP Server。比如销售报告 Skill 需要数据库 MCP查数据、存储 MCP保存报告、邮件 MCP发送报告可选。其他 Skill 依赖需要调用哪些子 Skill。比如需要数据可视化Skill 来生成图表。声明依赖的好处是运行前可以检查条件是否满足缺什么可以提前知道。第五部分执行定义——“具体怎么完成任务”这是 Skill 的核心描述了具体的执行步骤。最常见的是工作流类型把任务拆成一系列步骤每个步骤可以是调用 MCP 工具、调用其他 Skill、让 LLM 处理、或者执行代码。步骤之间可以传递数据比如第一步查出的数据传给第二步分析。执行定义还包括条件判断比如只有填了收件人才发邮件和错误处理比如重试几次、失败了怎么办。第六部分权限与安全——“有什么限制和保障”这部分定义了 Skill 需要什么权限、如何保证安全。权限声明说明需要哪些权限才能运行比如读取数据库、写入文件、发送邮件等。安全策略说明如何处理用户数据比如是否存储、是否发送到外部、是否记录日志等。# # Skills Protocol Specification v1.0 # 完整的 Skill 定义示例销售数据分析报告生成 # skill_protocol_version: 1.0 # # Part 1: 元信息 (Metadata) # 描述 Skill 的基本信息用于注册、发现、版本管理 # metadata: # 唯一标识 name: sales_report_generator namespace: enterprise.analytics # 命名空间避免冲突 version: 2.1.0 # 作者与许可 author: name: DataTeam email: dataexample.com organization: Example Corp license: MIT # 分类标签用于发现和搜索 tags: - sales - analytics - report - business-intelligence category: data-analysis # 兼容性声明 compatibility: skills_protocol: 1.0.0 mcp_version: 2.0.0 # 发布信息 repository: https://github.com/example/sales-skill documentation: https://docs.example.com/skills/sales-report changelog: https://github.com/example/sales-skill/CHANGELOG.md # # Part 2: 能力描述 (Description) # 告诉 Agent 和用户这个 Skill 能做什么 # description: # 给 LLM 看的描述用于 Skill 选择和调用 for_model: | 销售数据分析与报告生成技能。 适用场景 - 用户需要分析销售数据时 - 用户需要生成销售报告时 - 用户询问销售趋势、业绩对比时 - 用户要求将分析结果发送给他人时 不适用场景 - 非销售相关的数据分析 - 实时交易处理 # 给人看的描述 for_human: short: 销售数据分析与报告生成 long: | 自动连接企业销售数据源进行多维度分析产品、区域、时间、渠道 生成包含可视化图表的专业报告支持多种格式导出和邮件发送。 # 能力标签语义化用于能力匹配 capabilities: - data_extraction # 数据提取 - data_analysis # 数据分析 - visualization # 可视化 - report_generation # 报告生成 - email_delivery # 邮件发送 # 示例对话帮助 LLM 理解何时使用 examples: - user: 帮我看看上个季度的销售情况 should_trigger: true - user: 生成一份销售报告发给老板 should_trigger: true - user: 分析一下用户行为数据 should_trigger: false # 不是销售数据 # # Part 3: 接口定义 (Interface) # 定义输入输出的数据结构 # interface: inputs: - name: time_range type: object required: true description: 分析的时间范围 schema: properties: start_date: type: string format: date description: 开始日期 (YYYY-MM-DD) end_date: type: string format: date description: 结束日期 (YYYY-MM-DD) required: [start_date, end_date] examples: - start_date: 2026-01-01 end_date: 2026-03-31 - name: dimensions type: array required: false description: 分析维度 items: type: string enum: [product, region, channel, salesperson, customer_type] default: [product, region] - name: metrics type: array required: false description: 分析指标 items: type: string enum: [revenue, quantity, profit, growth_rate, market_share] default: [revenue, quantity] - name: output_format type: string required: false description: 报告输出格式 enum: [pdf, excel, html, markdown, pptx] default: pdf - name: recipients type: array required: false description: 报告接收人邮箱列表为空则不发送 items: type: string format: email default: [] - name: language type: string required: false description: 报告语言 enum: [zh-CN, en-US, ja-JP] default: zh-CN outputs: - name: report type: object description: 生成的报告 schema: properties: file_url: type: string description: 报告文件下载链接 file_name: type: string description: 报告文件名 format: type: string description: 文件格式 size_bytes: type: integer description: 文件大小 - name: summary type: object description: 分析摘要 schema: properties: total_revenue: type: number total_quantity: type: integer growth_rate: type: number key_insights: type: array items: type: string top_products: type: array top_regions: type: array - name: delivery_status type: object description: 邮件发送状态 schema: properties: sent: type: boolean recipients_count: type: integer sent_at: type: string format: datetime # # Part 4: 依赖声明 (Dependencies) # 声明需要的 MCP 服务和其他 Skills # dependencies: # MCP 服务依赖 mcp_servers: - name: postgresql-mcp version: 1.5.0 purpose: 连接销售数据库执行数据查询 required: true config_schema: properties: connection_string: type: string description: 数据库连接字符串 - name: google-sheets-mcp version: 1.0.0 purpose: 备选数据源当主数据库不可用时使用 required: false - name: smtp-mcp version: 1.2.0 purpose: 发送报告邮件 required: false # 仅当 recipients 非空时需要 - name: s3-mcp version: 1.0.0 purpose: 存储生成的报告文件 required: true # 其他 Skill 依赖 skills: - name: data_visualizer namespace: common.visualization version: 2.0.0 purpose: 生成图表 - name: document_formatter namespace: common.document version: 1.5.0 purpose: 格式化和排版报告 # # Part 5: 执行定义 (Execution) # 定义 Skill 如何执行 # execution: # 执行类型: workflow | code | prompt | hybrid type: workflow # 运行时配置 runtime: timeout: 300 # 最大执行时间秒 max_retries: 3 # 最大重试次数 memory_limit: 512MB # 内存限制 # 工作流定义 workflow: # 全局变量/上下文 context: data_source: postgresql # 默认数据源 # 执行步骤 steps: # Step 1: 参数预处理 - id: preprocess name: 参数预处理 action: code code: | # 处理日期格式设置默认值等 if not inputs.get(time_range): # 默认最近一个季度 inputs[time_range] get_last_quarter() context[processed_inputs] inputs output: processed_inputs # Step 2: 获取数据 - id: fetch_data name: 获取销售数据 action: mcp_call server: postgresql-mcp method: query params: query: | SELECT date, product_id, product_name, region, channel, salesperson, quantity, revenue, cost FROM sales WHERE date BETWEEN {{time_range.start_date}} AND {{time_range.end_date}} ORDER BY date output: raw_data # 错误处理如果主数据库失败尝试备选 on_error: - condition: error.type ConnectionError action: fallback fallback_step: fetch_data_backup # Step 2b: 备选数据获取 - id: fetch_data_backup name: 从备选源获取数据 action: mcp_call server: google-sheets-mcp method: read_range params: spreadsheet_id: {{config.backup_sheet_id}} range: Sales!A:I output: raw_data skip_if: raw_data ! null # 如果主数据源成功则跳过 # Step 3: 数据分析LLM 处理 - id: analyze name: 数据分析 action: llm_process model: claude-3-opus # 可选默认使用当前模型 prompt_template: | 你是一位专业的数据分析师。请分析以下销售数据 ## 数据概览 {{raw_data | summarize}} ## 分析要求 - 分析维度{{dimensions | join(, )}} - 分析指标{{metrics | join(, )}} - 时间范围{{time_range.start_date}} 至 {{time_range.end_date}} ## 输出要求 请提供 1. 整体趋势分析 2. 各维度对比分析 3. 关键洞察至少3条 4. 建议措施 以 JSON 格式输出分析结果。 output_format: json output: analysis_result # Step 4: 生成图表调用子 Skill - id: create_charts name: 生成可视化图表 action: skill_call skill: data_visualizer params: data: {{raw_data}} chart_configs: - type: line title: 销售趋势 x: date y: revenue - type: bar title: 产品销售对比 x: product_name y: revenue - type: pie title: 区域销售占比 dimension: region metric: revenue - type: heatmap title: 产品-区域销售热力图 x: product_name y: region value: revenue output: charts # Step 5: 生成报告调用子 Skill - id: generate_report name: 生成报告文档 action: skill_call skill: document_formatter params: template: sales_report format: {{output_format}} language: {{language}} content: title: 销售分析报告 period: {{time_range.start_date}} - {{time_range.end_date}} summary: {{analysis_result.summary}} insights: {{analysis_result.insights}} recommendations: {{analysis_result.recommendations}} charts: {{charts}} raw_data_sample: {{raw_data | head(10)}} output: report_content # Step 6: 上传报告 - id: upload_report name: 上传报告文件 action: mcp_call server: s3-mcp method: upload params: bucket: reports key: sales/{{time_range.start_date}}_{{time_range.end_date}}.{{output_format}} content: {{report_content.file_data}} content_type: {{report_content.mime_type}} output: upload_result # Step 7: 发送邮件条件执行 - id: send_email name: 发送报告邮件 condition: recipients ! null len(recipients) 0 action: mcp_call server: smtp-mcp method: send params: to: {{recipients}} subject: 销售分析报告 ({{time_range.start_date}} - {{time_range.end_date}}) body: | 您好 附件是最新的销售分析报告主要发现如下 {{analysis_result.insights | join(\n)}} 详细内容请查看附件。 此邮件由系统自动发送。 attachments: - url: {{upload_result.url}} filename: 销售报告.{{output_format}} output: email_result # Step 8: 组装最终输出 - id: finalize name: 组装输出结果 action: code code: | return { report: { file_url: upload_result.url, file_name: upload_result.key, format: output_format, size_bytes: upload_result.size }, summary: { total_revenue: analysis_result.metrics.total_revenue, total_quantity: analysis_result.metrics.total_quantity, growth_rate: analysis_result.metrics.growth_rate, key_insights: analysis_result.insights, top_products: analysis_result.rankings.products[:5], top_regions: analysis_result.rankings.regions[:5] }, delivery_status: { sent: email_result is not None, recipients_count: len(recipients) if recipients else 0, sent_at: email_result.sent_at if email_result else None } } output: final_result # 全局错误处理 error_handling: # 重试策略 retry: max_attempts: 3 backoff: exponential # exponential | linear | fixed initial_delay: 1000 # 毫秒 max_delay: 30000 # 错误回调 on_error: - error_type: DataNotFoundError action: return_error message: 未找到指定时间范围的销售数据 - error_type: PermissionDeniedError action: return_error message: 没有访问销售数据的权限 - error_type: * # 其他所有错误 action: return_error message: 报告生成失败{{error.message}} # # Part 6: 权限与安全 (Permissions Security) # permissions: # 必需权限 required: - database:sales:read # 读取销售数据库 - storage:reports:write # 写入报告存储 # 可选权限 optional:三、Skills 会成为第二个 MCP 吗Skills 生态现状怎么样Anthropic 是 Skills 协议的主要推动者Claude 原生支持并在建设官方 Skills Hub。OpenAI已宣布支持原来的 GPTs 正在向 Skills 标准迁移。Google、Microsoft等大厂也在跟进集成。字节 Coze 有国内最完善的类 Skills 生态正在逐步兼容国际标准。阿里、百度等也在跟进。开源社区有社区维护的 Skills Registry收集开源 Skills。截至现在官方认证和社区贡献 Skills 数百个主要集中在数据分析、内容创作、开发工具、办公自动化、垂直行业等领域。相比 MCP 超过 2000 个 Server 的成熟生态Skills 还比较年轻但增长很快。那Skills 会成为第二个 MCP 吗它们有相似的发展路径MCP 的成功路径是Anthropic 提出 → Claude 率先支持 → OpenAI 跟进 → 成为事实标准。Skills 正在走同样的路Anthropic 提出 → Claude 支持 → OpenAI 跟进 → 其他厂商跟进中。Skills 解决的是能力复用这个真实痛点。随着 Agent 应用增多重复造轮子的问题越来越突出标准化的能力复用方案是刚需。一旦Skills生态建立会形成正向循环更多 Skills → 开发 Agent 更容易 → 更多人开发 Agent → 更多人贡献 Skills。大概率Skills 很可能会成为继 MCP 之后的第二个重要标准。MCP 解决了连接问题Skills 解决了复用问题两者互补共同构成 Agent 基础设施。如果说 MCP 是 Agent 时代的TCP/IPSkills 就是HTTP——在底层协议之上更贴近应用层的标准。想入门 AI 大模型却找不到清晰方向备考大厂 AI 岗还在四处搜集零散资料别再浪费时间啦2026 年AI 大模型全套学习资料已整理完毕从学习路线到面试真题从工具教程到行业报告一站式覆盖你的所有需求现在全部免费分享扫码免费领取全部内容​一、学习必备100本大模型电子书26 份行业报告 600 套技术PPT帮你看透 AI 趋势想了解大模型的行业动态、商业落地案例大模型电子书这份资料帮你站在 “行业高度” 学 AI1. 100本大模型方向电子书2. 26 份行业研究报告覆盖多领域实践与趋势报告包含阿里、DeepSeek 等权威机构发布的核心内容涵盖职业趋势《AI 职业趋势报告》《中国 AI 人才粮仓模型解析》商业落地《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》领域细分《AGI 在金融领域的应用报告》《AI GC 实践案例集》行业监测《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。3. 600套技术大会 PPT听行业大咖讲实战PPT 整理自 2024-2025 年热门技术大会包含百度、腾讯、字节等企业的一线实践安全方向《端侧大模型的安全建设》《大模型驱动安全升级腾讯代码安全实践》产品与创新《大模型产品如何创新与创收》《AI 时代的新范式构建 AI 产品》多模态与 Agent《Step-Video 开源模型视频生成进展》《Agentic RAG 的现在与未来》工程落地《从原型到生产AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。二、求职必看大厂 AI 岗面试 “弹药库”300 真题 107 道面经直接抱走想冲字节、腾讯、阿里、蔚来等大厂 AI 岗这份面试资料帮你提前 “押题”拒绝临场慌1. 107 道大厂面经覆盖 Prompt、RAG、大模型应用工程师等热门岗位面经整理自 2021-2025 年真实面试场景包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题每道题都附带思路解析2. 102 道 AI 大模型真题直击大模型核心考点针对大模型专属考题从概念到实践全面覆盖帮你理清底层逻辑3. 97 道 LLMs 真题聚焦大型语言模型高频问题专门拆解 LLMs 的核心痛点与解决方案比如让很多人头疼的 “复读机问题”三、路线必明 AI 大模型学习路线图1 张图理清核心内容刚接触 AI 大模型不知道该从哪学起这份「AI大模型 学习路线图」直接帮你划重点不用再盲目摸索路线图涵盖 5 大核心板块从基础到进阶层层递进一步步带你从入门到进阶从理论到实战。L1阶段:启航篇丨极速破界AI新时代L1阶段了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理、关键技术以及大模型应用场景。L2阶段攻坚篇丨RAG开发实战工坊L2阶段AI大模型RAG应用开发工程主要学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3阶段跃迁篇丨Agent智能体架构设计L3阶段大模型Agent应用架构进阶实现主要学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造Agent智能体。L4阶段精进篇丨模型微调与私有化部署L4阶段大模型的微调和私有化部署更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。L5阶段专题集丨特训篇 【录播课】四、资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容​2026 年想抓住 AI 大模型的风口别犹豫这份免费资料就是你的 “起跑线”