12月中旬以来,忽如一夜春风来,感觉所有平台都在推进Skill能力。
最近也被老板拉来做Skill改造升级,经过几次理解和实践,分享一下最新的理解
是什么
Claude在10月提出的一种全新的上下文管理方式
Claude Skill博客:platform.claude.com/docs/en/age…
Skill官网:agentskills.io/home
核心理念
让大模型读取文件系统来获得上下文
组成部分
my-skill/
├── SKILL.md #核心文件,每次会被读取,里面可以写任何东西
├── scripts/ # 可执行的代码,一般是python
├── references/ # 参考资料,文本为主
└── assets/ # 模板和资源
使用
- 发现:在
Claude Code中可以加载到这个my-skill的description - 读取:
Claude Code会判断选择哪个Skill,然后读取Skill.md中的内容 - 进一步读取:之后如果
Skill.md中写了读取别的文件,那么就会触发Claude Code的再次读取 - 执行:
Script中的python脚本或者MCP调用
Skill.md里面有什么
---
name: ....
description: ...
---
想写什么就写什么,可以写执行过程,也可以写读取什么文件
为什么要用
(敲桌板,划重点)
更加内聚:一个Skill就是一个领域信息的汇总渐进式加载:一开始读取需要的Skill.md,然后再渐渐读取需要的script等文件。更少的上下文意味着更少的token以及更少的无关信息干扰被验证的代码:将一些已经被验证的流程变成代码接入,准确率有保证
对比一下
- 相比于
MultiAgent:Skill中所有的上下文都在主Agent当中,更有利于主A对上下文的理解 - 相比于
workflow:具有更强的泛化性,能够在workflow的中间过程执行,能够自然语言描述
怎么用
1、怎么写
没有固定Skill要怎么写,只要能够提供你自己Agent的准确度,你可以用任何方式去写
anthropic的官方示例Skill:github.com/anthropics/…
skill官方提供的一些基础规则:agentskills.io/specificati…
2、怎么融入自己的系统
Claude Code只提出了Skill的规范,但是没有提供Skill执行器的实现。
想要使用Skill,那么需要有一个Skill执行器,里面需要有以下几个功能
- 函数:
list_file:传入文件夹返回其中文件名read_file:传入文件名,返回文件内容execute_python:传入python代码/文件名,返回python脚本结果execute_mcp:传入函数名和入参,返回执行结果
- Prompt:
system_prompt要将Skill.md的description和name读进去,要告知可以读取文件