跳到主要内容

Agent skills 学习

介绍

https://code.claude.com/docs/zh-CN/skills

Skills 概念

Agent Skills 是扩展 Claude 功能的模块化能力。每个 Skill 包含指令、元数据和可选资源(脚本、模板),Claude 在相关时会自动使用这些资源。

级别加载时间token 成本内容
第 1 级:元数据始终(启动时)每个 Skill 约 100 个tokenYAML 前置数据中的 name 和 description
第 2 级:指令触发 Skill 时不到 5k 个token包含指令和指导的 SKILL.md 主体
第 3 级+:资源按需实际上无限制通过 bash 执行的捆绑文件,不将内容加载到上下文中

为什么使用 Skills

Skills 是可重用的、基于文件系统的资源,为 Claude 提供特定领域的专业知识:工作流、上下文和最佳实践,将通用代理转变为专家。与提示不同(提示是对话级别的一次性任务指令),Skills 按需加载,无需在多个对话中重复提供相同的指导。

思考

Agent skill 是什么?在我看来,它是一种工程化组织 "知识" 的方式,这里的 "知识" 打了双引号,是因为我们常规理解的知识,一般是静态的知识,比如文档,数据等。但是在 agent skill 中的 "知识",还包含了可以运行的脚本或者二进制工具,更像是一个领域/方面的所有信息的整合。

所以从本质上来说,agent skills 和 rag 知识库其实是一个东西。他们都是一种知识的组织方式。只不过 rag 是静态的。而 agent skills 是动态和静态的结合。

都是 "按照定义好的规范,来组织知识,我会按需加载知识。"

我们可能会尝试在前面加入一个意图识别,比如获取到每个知识库的描述信息,然后一个问题过来,可以识别使用哪个知识库来完成这个任务,那么实际上应该也可以实现一个简单的相同的效果。(有点儿 agentic rag的意思了?)

比较

能力维度SkillsSubagentsMCP ServersClaude.mdCommandsHooks
触发方式自主触发手动+自主触发自主触发被动固定触发手动+自主触发(自主触发最近新增)生命周期固定触发
上下文效率High(三层渐进式披露)HighLow(启动时全量加载)Low//
可并行化/
可共享
模块化程度High(专用目录结构)MidHighLowMidLow
工具权限/
可被组合
确定性
AI决策,使用 Tool Use 作为决策方式,并且涉及到多次 tool use

AI决策,使用 Tool Use 作为决策方式

AI决策,使用 Tool Use 作为决策方式

固定注入
用户手动触发:高
使用 Tool Use 作为决策方式:中
最高
在固定阶段,执行确定程序