Agent skills的实现原理分析
这时,模型加载skill.md需要先加载头部介绍,具体执行时再加载详细的信息,而执行scripts脚本时,又需要加载执行引擎执行脚本,因为模型本身是没有能力执行代码的。从使用者的角度来看,我们只需要在一些客户端中按照要求安装技能,即可使用,比较典型的就是claude code客户端,其集成了大量的技能库给用户使用;但是有了skills之后,就制定了一种规范,把要执行的任务所需要的所有东西都放到一个
“ Agent skills是以模型为核心,在智能体产品中优化使用工具的一种方法论。”
Agent skills是目前智能体应用中比较火的一种技术,其作用是把一些能力封装成一个技能包,提供给智能体使用;其最初是由Anthropic公司提出的,然后因为好用因此也渐渐成为了一种标准。
从使用者的角度来看,我们只需要在一些客户端中按照要求安装技能,即可使用,比较典型的就是claude code客户端,其集成了大量的技能库给用户使用;然后,智能体就可以根据用户需求,选择合适的技能包使用。

从技术的角度上来看,Agent skills使用了渐进式披露的思想;简单来说就是,按需加载,需要的先加载不需要的先不加载。比如说有手机,汽车,电脑三个工具,对智能体来说刚开始只需要知道有这三个工具以及这三个工具是做什么的即可,而不需要同时知道这三个工具具体怎么用,等需要用的时候再学也来得及。
事实上,我们抛开这些乱七八糟的东西只关注核心问题,Agent skills的实现原理是什么?
本质上来说,Agent skills并不是发明了一项新技术,其仅仅只是一种更好使用智能体的一种方式。
不管智能体技术发展成什么样,其本质都是模型作为大脑,工具用来做手脚解决问题;因此,agent skills也是如此,skills的本质就是上下文管理+函数调用。
只不过skills是对一些能力进行了更加完整的封装,有说明文档,资源,执行引擎等;一个skills就可以独立完成一个任务,对多个skills进行组合就可以完成更加复杂的任务。
如果说之前的大模型+工具调用是手动挡的汽车,那么现在的skills就是完全的智能驾驶,并且给配备了完整的辅助工具。

Agent skills
Agent skills解决了什么问题?
Skills 是模块化的能力,扩展了 Agent 的功能。每个 Skill 都打包了 LLM 指令、元数据、可选资源(脚本、模板等),Agent 会在需要时自动使用他们。
更直观的解释:
Skill 就像给 Agent 准备的工作交接 SOP 大礼包:
想象你要把一项工作交给新同事。若不准口口相传,只靠文档交接(而且你想一次性交接完成,以后不被打扰),
你会准备什么?
-
任务的执行 SOP 与必要背景知识(这件事大致怎么做)
-
工具的使用说明(用什么软件、怎么操作)
-
要用到的模板、素材(历史案例、格式规范)
-
可能遇到的问题、规范、解决方案(细节指引补充)
个人理解是,之前智能体要完成一个任务,你需要开发工具函数,写工具说明,提示词等一系列准备;然后一把丢给模型让模型自己去执行。
但是有了skills之后,就制定了一种规范,把要执行的任务所需要的所有东西都放到一个目录中,并且给出详细的说明文档,这样模型就可以根据文档进行选择性的加载,而不是一次性加载。
虽然说skills的原理看起来很简单,但实际实现起来要远比想象中复杂的多;比如说一个skills包中有skill.md的说明文档,scripts,references,assets等;这时,模型加载skill.md需要先加载头部介绍,具体执行时再加载详细的信息,而执行scripts脚本时,又需要加载执行引擎执行脚本,因为模型本身是没有能力执行代码的。

而这些能力,目前都被集成到了C端产品中,如claude code,trae,web产品中;而这些产品需要处理大量与skills相关的逻辑处理,如初始化扫描skills目录,加载工具的简要说明等。
因此,作为使用者和技术人员,我们需要解决两个问题,一是skills怎么用,有哪些产品支持?二,怎么在自己的产品中集成skills的能力,扩展智能体的边界?
从0到1!大模型(LLM)最全学习路线图,建议收藏!
想入门大模型(LLM)却不知道从哪开始? 我根据最新的技术栈和我自己的经历&理解,帮大家整理了一份LLM学习路线图,涵盖从理论基础到落地应用的全流程!拒绝焦虑,按图索骥~~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取