两周实践对Claude Skill的理解以及如何实现 --知识铺
12月中旬以来,忽如一夜春风来,感觉所有平台都在推进Skill能力。
最近也被老板拉来做Skill改造升级,经过几次理解和实践,分享一下最新的理解
是什么
Claude在10月提出的一种全新的上下文管理方式
Claude Skill博客:https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
Skill官网:https://agentskills.io/home
核心理念
让大模型读取文件系统来获得上下文
组成部分
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/icF4iau8Sj7b3oZsz4v6kvia1boyOqNwibFgZZHn0AWYIGZhdgrywZCzEUs0pCE7XcIECxQFHicEv8EKWMicMnbSh9vUEkvL4gf7sB/640?wx_fmt=svg&from=appmsg" data-fail="0"><span leaf="">my-skill/<span leaf="">
<span leaf="">├── SKILL.md <span leaf="">#核心文件,每次会被读取,里面可以写任何东西<span leaf="">
<span leaf="">├── scripts/ <span leaf=""># 可执行的代码,一般是python<span leaf="">
<span leaf="">├── references/ <span leaf=""># 参考资料,文本为主<span leaf="">
<span leaf="">└── assets/ <span leaf=""># 模板和资源<span leaf="">
使用
-
发现:在
Claude Code中可以加载到这个my-skill的description -
读取:
Claude Code会判断选择哪个Skill,然后读取Skill.md中的内容 -
进一步读取:之后如果
Skill.md中写了读取别的文件,那么就会触发Claude Code的再次读取 -
执行:
Script中的python脚本或者MCP调用
Skill.md里面有什么
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/icF4iau8Sj7b3oZsz4v6kvia1boyOqNwibFgZZHn0AWYIGZhdgrywZCzEUs0pCE7XcIECxQFHicEv8EKWMicMnbSh9vUEkvL4gf7sB/640?wx_fmt=svg&from=appmsg" data-fail="0"><span leaf="">---<span leaf="">
<span leaf="">name: ....<span leaf="">
<span leaf="">description: ...<span leaf="">
<span leaf="">---<span leaf="">
<span leaf="">想写什么就写什么,可以写执行过程,也可以写读取什么文件<span leaf="">
为什么要用
(敲桌板,划重点)
-
更加内聚:一个Skill就是一个领域信息的汇总 -
渐进式加载:一开始读取需要的Skill.md,然后再渐渐读取需要的script等文件。更少的上下文意味着更少的token以及更少的无关信息干扰 -
被验证的代码:将一些已经被验证的流程变成代码接入,准确率有保证
对比一下
-
相比于
MultiAgent:Skill中所有的上下文都在主Agent当中,更有利于主A对上下文的理解 -
相比于
workflow:具有更强的泛化性,能够在workflow的中间过程执行,能够自然语言描述
怎么用
1、怎么写
没有固定Skill要怎么写,只要能够提供你自己Agent的准确度,你可以用任何方式去写
anthropic的官方示例Skill:https://github.com/anthropics/skills/tree/main/skills
skill官方提供的一些基础规则:https://agentskills.io/specification
2、怎么融入自己的系统
Claude Code只提出了Skill的规范,但是没有提供Skill执行器的实现。
想要使用Skill,那么需要有一个Skill执行器,里面需要有以下几个功能
-
函数:
-
list_file:传入文件夹返回其中文件名 -
read_file:传入文件名,返回文件内容 -
execute_python:传入python代码/文件名,返回python脚本结果 -
execute_mcp:传入函数名和入参,返回执行结果 -
Prompt:
system_prompt要将Skill.md的description和name读进去,要告知可以读取文件
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai002/post/20251125/%E4%B8%A4%E5%91%A8%E5%AE%9E%E8%B7%B5%E5%AF%B9Claude-Skill%E7%9A%84%E7%90%86%E8%A7%A3%E4%BB%A5%E5%8F%8A%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com