Agent Skills 的本质

Agent Skills 是一种标准化的程序性知识封装格式。如果说 MCP 为智能体提供了"手"来操作工具,那么 Skills 就提供了"操作手册"或"SOP(标准作业程序)",教导智能体如何正确使用这些工具。

通俗点来讲就是:
没装 Skill 时,AI 只能跟你聊天、给建议;
装了 Skill 后,AI 会有针对性,目的性的去干活(按照你给的.md需求),比如:
1.进行周报总结必须包含以下几点:1.时间,2.地点,3.参会人员。
2.网页ui:1、不要使用蓝紫渐变色,2.不要使用emoji图标,而要使用SVG图标…

Agent Skills 的使用方法

1.什么是skills文件

Skills 文件本质上是SKILL.md(一个Markdown文件),位于一个专用文件夹中,其实也就可以看作是说明文档。它遵循开放标准(Agent Skills Specification,由Anthropic、OpenAI等推动),包含:
• YAML Frontmatter:元数据,用于代理快速发现和选择技能。
• Markdown 正文:详细指令、指南、示例、边缘案例等,告诉代理“如何执行这项技能”。
这种设计实现了“渐进式披露”(Progressive Disclosure):代理启动时只加载技能的名称和描述(节省token),只有决定使用时才加载完整内容。
在这里插入图片描述
一个典型的SKILL.md 文件示例:

---
name: code-review-master
description: 专业代码审查技能,按照团队最佳实践审查Pull Request,确保代码质量、安全性和可维护性。
metadata:
  short-description: 团队标准代码审查专家
  compatibility: claude-4, codex-2026
  license: Apache-2.0
---

# 代码审查大师

你是一个资深的代码审查专家,遵循以下严格流程审查代码变更。

## 核心原则
- 优先检查安全性(注入、泄漏、权限)。
- 确保代码可读性、一致性和性能。
- 提供建设性反馈,建议具体改进。

## 逐步审查流程
1. **理解上下文**:阅读PR描述、相关文件和变更历史。
2. **检查结构**:验证架构是否合理,是否有更好的设计模式。
3. **代码质量**:检查命名、注释、错误处理和测试覆盖。
4. **安全与性能**:扫描潜在漏洞和优化点。
5. **输出格式**:用Markdown表格总结问题,按严重度分类(Critical / Major / Minor)。

## 示例输出
| 严重度 | 文件 | 行号 | 问题描述 | 建议修复 |
|--------|------|------|----------|----------|
| Critical | app.py | 45 | SQL注入风险 | 使用参数化查询 |

## 常见边缘案例
- 处理大型变更:先概述整体影响,再细化。
- 第三方库:检查版本兼容性和已知漏洞。

(可选:文件夹中可附带脚本、模板或参考文件,如review_template.md)


2.如何使用skills文件

创建文件夹:如 .claude/skills/code-review/ 或 ~/.codex/skills/code-review/。
放置 SKILL.md:确保文件名精确为SKILL.md。
启用:多数框架默认支持。
调用:代理会自动根据任务描述选择并加载技能。例如,你对Claude说:“用团队标准审查这个PR”,它会激活对应skills。

Agent Skills的第一个核心机制,按需加载。虽然Skill的名字和描述是始终对模型可见的,但是具体的指令内容,只有在这个skill被选中之后,才会被加载进来给模型看,这就节省很多的token了。
在这里插入图片描述

渐进式披露机制的原理

在这里插入图片描述
渐进披露的流程图解
1)Level 1(元数据,始终加载):
SKILL.md文档内的元数据,包含名称与用途描述。长度约 100 tokens。
Agent 启动时,就在 Context Window 中加载 Skill 元数据,将其包含在系统提示中。
AI 通过理解用户消息与 Skills 元数据的匹配情况,判断是否需要自动使用技能。
—name: pdfdescription: 全面的 PDF 操作工具包,用于提取文本和表格、创建新 PDF、合并/拆分文档以及处理表单。当 Claude 需要填写 PDF 表单或大规模地程序化处理、生成或分析 PDF 文档时使用。—
默认只加载元数据 → 意味着可以给一个 Agent 同时安装很多 Skills 但不影响上下文性能。
2)Level 2(指令,触发时加载 【按需加载】):
SKILL.md文档内的正文内容,也就是主要技能指令,一般包含工作流程、最佳实践和指导。
建议少于 5000 tokens。
当用户发出的消息与Skill 元数据的描述匹配,需要调用 Skill 时,Agent 才会用 bash 读取文档正文 。读取时文档内容加载到 Context Window 中。
3)Level 3(子技能指令/资源 / 代码,按需动态加载 【按需中的按需】):

由子技能文档、代码脚本、参考文档、可用资源等文件构成。
也有 Agent Skill 规范文档将它们统称为「Resource」。相对来讲,Level 3 结构要求没那么严谨。
Sub-SKILL.md 子技能文档:相对独立、复杂的子技能指令,单独放在 Level3 拆分加载
在这里插入图片描述

随着一个 Skill 的复杂度提升,可能因为技能知识的上下文过长,或者有些知识仅在特定场景使用,而不适合放入单个SKILL.md,可被分拆为独立指令文档,仅在必要时加载。
Scripts 代码脚本:视作“Agent 的可执行资源”,而不算 tool use(tool use 是 Agent 外部调用的独立服务)Agent 在 Agent 电脑(虚拟机)中直接调用脚本,脚本代码本身不进 Context Window,只有脚本运行完成后的输出会进 Agent 的 Context。
Reference 参考文档、Assets 可用资源,当然都是 Level 3,仅在必需时动态读取加载。
Level 3 因为按需加载的特性,文件在被访问前不会占用 Context 长度,所以没有内容大小限制,可按业务实际说明需要添加材料。

Agent Skill 与 MCP 的区别与选型

官方网站
在这里插入图片描述
MCP(Model Context Protocol):解决"连接性"问题,是智能体与外部世界交互的标准化接口,相当于"神经系统"或"双手"

Agent Skills:解决"能力"问题,是领域知识和工作流的封装,相当于"大脑皮层"或"操作手册"

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

评论话语:
感觉Skill这个东西…朴素,没什么新意。Skill就相当于一个Agent,SKILL.md是提示词,script是工具,references是丐版RAG。整个机制就是一个路由+多专家智能体,路由决定激活哪个智能体,智能体再多轮生成。
值得一提的是Claude Code做了上下文共享,也就是上一轮Skill A的历史,在这一轮Skill B也能看到,这一点和多智能体不太一样,一般多智能体都是要隔离上下文的。
我猜Anthropic搞这个主要针对的是非开发者用户,本质上就是路由+多智能体,技术不稀奇,但贵在门槛很低,完全不需要懂代码就能自己搓一个出来。比如说律师就可以把自己整理的判例、资料放进去、然后让AI写一个搜索法条的脚本。所以有时候真的挺佩服它的,总是能用很朴素的方式解决ai落地的一些问题

Skills 封装“元数据+指令+资源”,可以理解为模块化知识包,就是给模型装上可随时加载的工作流程、工具包,把某类任务的步骤、规则和小脚本打包成模块。有点像提示词+案例吧,哈哈哈。Skill 的核心机制是渐进式披露,目的是为了节省 token,同时也能聚焦当前任务。Skill 的能力很强。

做政企的本地AI agent,将各个业务场景封装为skills,将获取业务数据封装为mcp

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐