09
什么是Skill ,它和 Function Call 的区别在哪里
简单来说,Function Calling 是基础工具/原子操作,而 Skill 是利用这些工具完成特定业务目标的完整能力
Skill 和 Function Call 是两个不同层面的机制,虽然经常配合使用,但作用不一样。如果说 LLM 是大脑,那 Skill 就是可供大脑查阅的可复用的经验说明文档,而 Function Call 则是可供大脑思考后进行操作改变环境与环境交互的手脚
Function Call(工具调用) 解决的是‘能力’问题 ——它让模型能真正执行一个动作并拿到结果,比如查天气、读文件、发请求。核心特点是模型主动决定‘调用哪个工具、传哪些参数’,然后真实执行并返回结果
Skill 解决的是‘怎么做得好’的问题 ——本质上是一套打包好的说明书,一般来说是一个 SKILL.md 加上一些配套的脚本和模板。当任务触发某个 Skill 的时候,这份说明书会被注入到模型上下文里,也就是告诉模型这类任务要遵循什么流程、注意什么细节、参考什么规范。Skill 本身不执行任何操作,它是在为模型解决问题做准备或者预案,而不是替模型解决问题( memos )
同时,Skill 目录下往往也会出现一些现成脚本,像处理 docx 文件的 Python 脚本,所以准确来说,Skill 提供的是 可复用的知识+可选的预制资源,但真正的执行还是需要依靠 Function Call 来完成
二者相配合,才能让模型既有能力执行,又能知道怎么执行得专业
渐进式披露指的是 Skill 的内容分层加载,而不是一次性把所有信息交给模型
第一层:元数据,始终常驻
每个 Skill 会有名字、一句话描述,模型的视角里就是一个索引列表,知道有哪些能力,这些能力能干嘛,但不知道具体细节第二层:正文,这层按需加载
当用户主动调用或者任务描述跟 Skill 的 description 匹配上的时候,模型才会去读取这个 Skill 完整的正文,此时这个 Skill 的具体流程、规范才真正进入上下文第三层:资源层,有用到的时候才读
模型判断需要用到这个 Skill 下的某个资源时才会去读本质上是“按需加载+分层过滤”,控制进入模型决策上下文的信息密度和相关性,换言之,上下文越干净、越聚焦,模型的判断就越稳,从而提升 Agent 稳定性




