朱连峰 發表於 2026-1-19 08:34:00

Agent Skills:给智能体赋予技能——与其“喂”数据,不如教它“查字典”

<p>2025年,Agent相关的概念、协议与标准层出不穷。从年初的 MCP,再到 A2A、A2UI 等,围绕着 Agent 相关而推出的各种标准。随着Agent生态的完善,Agent的门槛可用程度也越来越高。</p>
<p>Agent也从最开始的使用特定提示词、工具调用到基于MCP、基于工作流、A2A形式的,再到目前基于Skills。</p>
<p>在2025年一系列标准协议的发布,Agent进化已经进化到极低门槛。在2025年底Anthropic推出了Skills,从这两三月来看各个厂商也加入了Skills的支持,随着各家厂商的跟进Agent将会有更高的可用程度。</p>
<p><img src="https://img2024.cnblogs.com/blog/84976/202601/84976-20260117124929870-184041912.png" alt="image.png" loading="lazy"></p>
<h2 id="skills是什么">Skills是什么</h2>
<p>使用官方定义:Agent Skills是一种简单、开放的格式,为Agent赋予技能以及专业知识。</p>
<ul>
<li>纯提示词的Agent只能够使用大脑(大模型),去解决自身所具备知识的能力,没有执行脚本的能力。</li>
<li>使用了工具调用的Agent具备了通过工具去扩充大模型知识边界的能力。</li>
<li>基于MCP的Agent能够接入所有提供MCP协议的平台、工具等等,使得Agent的能力扩充更加方便。</li>
<li>基于A2A的Agent,具备了Agent之间互相通讯、调用的能力。</li>
<li>基于A2UI的Agent,统一了Agent的UI渲染格式。</li>
</ul>
<p>Skill不是让Agent“把书背下来”,而是让Agent“学会查字典”。通过渐进式披露,Agent 平时轻装上阵,只有在需要处理特定任务时,才瞬间加载对应的 Skill。</p>
<h4 id="mcp与skill区别">MCP与Skill区别:</h4>
<p>MCP是用来统一工具调用的协议。</p>
<p>Skill可指导Agent如何使用各种工具、各种脚本、完成指定工作流,它把专业知识、工作流融入Agent自身。<br>
Skills包含指令、脚本、资源文件夹,Agent可发现并利用Skills来完成指定任务。</p>
<p><img src="https://img2024.cnblogs.com/blog/84976/202601/84976-20260117124929849-1625238557.png" alt="image.png" loading="lazy"></p>
<h3 id="每个skill包含什么">每个Skill包含什么</h3>
<p>每个Skill是一个文件夹。Skill文件夹必须包含一个SKILL.md文件,该文件包含元数据(至少包括name和description)以及告诉智能体如何执行特定任务的指令。Skill还可以包括脚本(scripts)、模板/资源(assets)和参考资料(references)。</p>
<pre><code> skill-name/
├── SKILL.md          # 必须: 指令 + 元数据
├── scripts/          # 可选: 可执行代码
├── references/       # 可选: 文档
└── assets/         # 可选: 模板, 资源
</code></pre>
<h4 id="skillmd文件">SKILL.md文件</h4>
<p>每个Skill必须包含一个SKILL.md文件,该文件包含 YAML 前置信息和 Markdown 内容。</p>
<p>1、前置信息:</p>
<pre><code> ---
name: skill-名称
description: 对这项技能的作用以及何时使用它的描述。
---
</code></pre>
<p>前置信息除了必须包含的name与description字段外,还可以包括以下可选字段:</p>
<pre><code> license:许可证名称
compatibility:环境要求,最多500个字符。
metadata:
author: linx
version: 0.1
allowed-tools: 预先允许使用的工具
</code></pre>
<p>2、Markdown内容<br>
前置信息后的Markdown正文包含技能说明,没有格式限制。写下任何有助于智能体有效执行任务的内容。</p>
<p>下面是一个用于PDF转Word的Skill的SKILL.md文件内容:</p>
<pre><code>---
name: pdf-to-word
description: 将PDF文档转换为Word格式(.docx)。支持文本提取、表格转换和基本格式保留。使用命令行界面进行批量转换或单文件处理。
---

# PDF转Word转换工具

## 快速开始

```bash
# 单文件转换
python scripts/convert.py input.pdf output.docx

# 批量转换整个目录
python scripts/convert.py --batch input_folder/ output_folder/

# 保留原PDF中的图片
python scripts/convert.py --keep-images input.pdf output.docx
```

## 功能说明

- **文本转换**:提取PDF中的文本内容并转换为Word格式
- **表格处理**:识别并转换PDF中的表格结构
- **格式保留**:保留基本的段落格式和字体样式
- **批量处理**:支持整个目录的批量转换
- **图片保留**:可选保留PDF中的图片元素

## 依赖要求

- Python 3.8+
- pdfplumber(PDF文本提取)
- python-docx(Word文档生成)

## 安装依赖

```bash
pip install pdfplumber python-docx
```

## 使用场景

当用户需要:
1. 将PDF文档转换为可编辑的Word格式
2. 从PDF中提取内容用于后续编辑
3. 批量转换多个PDF文件
4. 在命令行环境下进行文档格式转换
</code></pre>
<h2 id="skills能做什么">Skills能做什么</h2>
<p>Skills 的核心在于将抽象的任务转化为可执行的标准化流程(SOP)。它不仅仅是工具的集合,更是“专家经验”的代码化。通过定义不同的 Skills,我们可以让 Agent 在不同领域瞬间变身为“熟练工”。</p>
<ol>
<li>自动化媒体运营 (Content Operations)<br>
不再需要人工在不同平台间复制粘贴和调整格式。</li>
</ol>
<ul>
<li>
<p>公众号/社群发布 Skill:能够读取 Markdown 草稿,自动进行排版优化(如添加样式、图片自适应),调用 API 推送到微信公众号后台,甚至自动生成摘要和封面图。</p>
</li>
<li>
<p>小红书/社交媒体矩阵 Skill:根据同一份素材,自动改写成适合小红书(Emoji丰富、语气活泼)、LinkedIn(专业商务)等不同平台的文案,并自动完成发布。</p>
</li>
</ul>
<ol start="2">
<li>研发效能提升 (DevOps &amp; Coding)<br>
将资深程序员的经验封装给 Agent,处理繁琐的维护工作。</li>
</ol>
<ul>
<li>
<p>代码重构与审查 Skill:不仅仅是“读代码”,而是加载项目的代码规范(Lint规则),对旧代码进行重构,自动修复常见的 Anti-patterns,并生成重构报告。</p>
</li>
<li>
<p>单元测试生成 Skill:扫描指定模块,根据业务逻辑自动编写覆盖率达标的测试用例,并执行测试脚本验证通过率。</p>
</li>
<li>
<p>环境排查 Skill:当开发环境报错时,自动抓取日志、分析依赖树冲突,并给出修复脚本。</p>
</li>
</ul>
<ol start="3">
<li>数据智能分析 (Data Analysis)<br>
让 Agent 具备数据分析师的能力,实现从“原始数据”到“决策建议”的闭环。</li>
</ol>
<ul>
<li>
<p>可视化报表 Skill:用户只需上传一个 Excel 或 CSV,Agent 即可调用 Python 脚本(如 Pandas/Matplotlib)进行数据清洗,分析关键指标,并自动生成趋势图、饼图,最终产出一份带图表的分析报告。</p>
</li>
<li>
<p>舆情/竞品分析 Skill:自动抓取指定关键词的网络信息,进行情感分析和关键词提取,生成日报。</p>
</li>
</ul>
<ol start="4">
<li>本地数字管家 (Digital Housekeeping)<br>
管理混乱的本地环境,让文件井井有条。</li>
</ol>
<ul>
<li>
<p>智能文件整理 Skill:自动扫描杂乱的“下载文件夹”,根据文件类型(文档、图片、安装包)或内容关键词,将其移动到归档目录,并重命名为标准化格式(如 2026-01-Invoice-项目A.pdf)。</p>
</li>
<li>
<p>会议纪要整理 Skill:读取长录音或会议速记,自动提取 Action Items(待办事项),同步到 Notion 或 Jira 等项目管理软件中。</p>
</li>
</ul>
<h3 id="agent加载skill机制渐进式披露">Agent加载Skill机制:渐进式披露</h3>
<p>大模型的上下文窗口是有限制的目前最大的模型上下文也不过100万Tokens,基于大模型的Agent都不掉Context的魔咒,使用了Skills的Agent也不例外。</p>
<p>官方定义了Skill的加载机制:渐进式披露。<br>
大模型上下文越长模型出错的概率就越大,上下文的长度也是有限的,为了避免Context魔咒,Skills定义了其<strong>渐进式披露</strong>的机制。</p>
<p><img src="https://img2024.cnblogs.com/blog/84976/202601/84976-20260117124929837-102600849.png" alt="image.png" loading="lazy"></p>
<p>Skill定义了三级加载机制:</p>
<p>1、一级:元数据(始终加载)<br>
Agent启动时就会加载SKILL.md文档内的元数据name与description字段,约100 tokens。<br>
Agent通过识别用户消息与Skills元数据来决定是否需要使用Skill。<br>
Agent初始只加载约100 Tokens元数据,也意味着Agent可以包含大量的Skills,不会出现Context魔咒。</p>
<p>2、二级:指令(触发加载)<br>
为整个SKILLS.md文件,Skills触发时就会把整个SKILLS.md加载到Agent上下文,建议SKILL.md少于5000 tokens。</p>
<p>Agent识别到需要触发Skills时就会将该Skills所属的SKILLS.md文件加载到上下文。</p>
<p>3、三级:资源(脚本/引用/资源,动态加载)<br>
资源包括:脚本代码(Scripts Code)、引用文档、资源、子Skills等。<br>
这几类资源只有在触发Skills后Agent加载SKILLS.md文件到上下文,Agent才会根据实际需要加载此类资源(脚本文件不会加载到上下文,只会将脚本执行结果加载到上下文)。</p>
<p>Skills通过<strong>渐进式披露</strong>,尽可能的控制Context魔咒的出现,但还是无法避免此问题出现,加载过多Skills还是会导致Agent上下文爆炸或Agent准确率下降。</p>
<h2 id="skills如何使用">Skills如何使用</h2>
<p>Claude Code对Skills的支持最好,现在越来越多工具也开始支持Skills除了Claude Code外还可以使用Codex、Cursor、opencode、Antigravity等等。<br>
将Agent Skills融合到自己开发的Agents中。</p>
<h3 id="skills安装">Skills安装</h3>
<h4 id="手动安装">手动安装</h4>
<p>下载需要的Skills,如anthropics官方提供的Skills(https://github.com/anthropics/skills),对于Claude Code:</p>
<pre><code> 全局Skills:C:\Users\XXX\.claude\skills
项目Skills:项目路径\.claude\skills
</code></pre>
<h3 id="自动安装">自动安装</h3>
<p>将需要安装的Skills丢给Claude Code让它帮你安装即可。</p>
<p>安装完成后退出重新登录Claude Code即可,新版本已支持热加载。</p>
<pre><code> /skills 查看当前所有Skills
</code></pre>
<p><img src="https://img2024.cnblogs.com/blog/84976/202601/84976-20260117124929742-1787578759.png" alt="image.png" loading="lazy"></p>
<h3 id="skills使用">Skills使用</h3>
<p>在使用Skills可以通过Skills名称指定使用哪个Skills也可以,让Agents自己去决策需要使用哪个Skills。</p>
<p><img src="https://img2024.cnblogs.com/blog/84976/202601/84976-20260117124929844-1917682773.png" alt="image.png" loading="lazy"></p>
<p>1、怎么开发一个法律法规应用,需要先进行头脑风暴,触发了brainstorming SKills(头脑风暴技能)。</p>
<p><img src="https://img2024.cnblogs.com/blog/84976/202601/84976-20260117124929738-154046936.png" alt="image.png" loading="lazy"></p>
<p>2、把文件 @"Attention Is All You Need.pdf" 转为word文件,触发PDF-Word转换Skills。</p>
<p><img src="https://img2024.cnblogs.com/blog/84976/202601/84976-20260117124929750-186756035.png" alt="image.png" loading="lazy"></p>
<p>3、直接输入/<skill-name>即可调用对应技能,例如:/pdf-word-converter 把XXX PDF文件转为Word文件。</skill-name></p>
<h2 id="编写一个skills">编写一个Skills</h2>
<p>一个最简单的Skills只需要在一个符合Skills命名规则的文件夹里创建一个SKILL.md文件,该文件需要包含 YAML 前置信息和 Markdown 内容。将该文件夹移动到C:\Users\xxx.claude\skills\demo-skills目录,重启Claude Code即可。</p>
<p><img src="https://img2024.cnblogs.com/blog/84976/202601/84976-20260117124929824-1703527165.png" alt="image.png" loading="lazy"></p>
<h4 id="创建如下目录及文件">创建如下目录及文件:</h4>
<p>demo-skills/SKILL.md</p>
<h4 id="skillmd文件内容">SKILL.md文件内容:</h4>
<pre><code> ---
name: demo-skills
description: 一个Skills介绍工具。简单描述Agent Skills,以及怎么创建最简单的Skills。适用于介绍Skiils等场景。
---

# Skills介绍工具

用于Agent Skills的简单描述。

## Skills是什么

Skill可指导Agent如何使用各种工具、各种脚本、完成指定工作流,它把专业知识、工作流融入Agent自身。

## Skills如何创建

一个最简单的Skills只需要在一个符合Skills命名规则的文件夹里创建一个SKILL.md文件,该文件包含 YAML 前置信息和 Markdown 内容。

### SKILL.md文件格式

- 前置信息:
      ---
      name: skill-名称
      description: 对这项技能的作用以及何时使用它的描述。
      ---
- Markdown内容
前置信息后的Markdown正文包含技能说明,没有格式限制。写下任何有助于智能体有效执行任务的内容。

### 完整SKILL.md文件内容示例

      ---
      name: pdf-to-word
      description: 将PDF文档转换为Word格式(.docx)。支持文本提取、表格转换和基本格式保留。
      ---

      # PDF转Word转换工具

      ## 脚本使用描述

      ```bash
      python scripts/convert.py input.pdf output.docx
      ```

## 注意事项
- 本技能只做Skills的简单介绍
</code></pre>
<h2 id="skills能带来什么">Skills能带来什么</h2>
<p>如果说 MCP 搭建了 Agent 连接世界的桥梁,那么 Skills 则赋予了 Agent 真正的职业灵魂。<br>
通用大模型什么都懂一点,但落地到具体业务时,往往是“这就触及到我的知识盲区了”。Skill 的出现,是为了解决大模型在垂直场景下的水土不服。</p>
<p>它不再是简单的“喂语料”,而是让 AI 学会“守规矩”。通过 Skill,我们将业务逻辑固化下来,让 AI 的每一步操作都有章可循。</p>
<p>这其实也暴露了大多数组织的脆弱性:我们的流程往往过于依赖人的“灵光一现”。Skill 强迫我们把这些隐性知识显性化。未来,衡量一个团队技术底蕴的,或许不是文档库有多厚,而是你们沉淀了多少好用的 Skills。</p>
<p>文章首发地址:https://mp.weixin.qq.com/s/_XCn4sF3sd0L6vvQJMoYWQ</p>
<p>参考资料:https://agentskills.io</p><br><br>
来源:https://www.cnblogs.com/softlin/p/19495760
頁: [1]
查看完整版本: Agent Skills:给智能体赋予技能——与其“喂”数据,不如教它“查字典”