news 2026/10/31 11:12:33

deepagent学习笔记-SKILL

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
deepagent学习笔记-SKILL

为什么要有SKILL

主要是需要区分skill和tool,这两个在初学者看来比较容易混淆。

  • tool 一般执行原子任务,比如对文件的增删改查,网页搜索,计算器等单一的功能
  • skill 更像一套方法论,它指导agent如何完成某项复杂的任务,通常,在skill中可能会出现调用tool的情况,但很少在tool中看见调用skill的情况

形象地说,tool像是兵器,而skill更像是武功秘籍。

SKILL基本概念

skill的构成

根据行内规定,一个完整skill通常是一个文件夹,文件夹名是skill的名字,比如“葵花宝典”,而这个文件夹下可以由以下几部分构成:

  • SKILL.md // 其中包含frontmatter 和 指令正文,必须有
  • script // 文件夹,不是必须有,存放可执行脚本的目录
  • references // 文件夹,不是必须有,存放参考文件的目录
  • assets // 文件夹,不是必须有,存放模板或数据文件等静态资源
    非必须的三个目录中的文件都需要在SKILL.md中引用说明功能和何时调用

其中,SKILL.md中的frontmatter的name和description是必填字段,它们在 skill 渐进式加载时作为简略说明被加载进上下文。name 代表技能的名称,必须和存放技能的文件夹同名,description 描述技能的作用,agent通过这个字段识别并选择需要的技能包。

skill 的渐进式加载

skill 有个核心要点就是它的渐进式加载,在如今非常讲究上下文治理的环境下,技能包通篇加载是非常耗费上下文窗口的,而且也不是所有的技能包在处理当前任务时都会被用到。于是最好的办法就是按需加载技能包。
与 tool 类似,最初的上下文中只包含每个skill 的 frontmatter 而不是全文,当任务执行过程中命中某个技能包后,再将其SKILL.md加载到上下文即可,然后再根据任务进度加载技能包中其他资源。这样大大节省了执行过程中的上下文消耗,被称作渐进式加载。

SKILL的三种存储后端

skill有三种后端存储形式:

  • FilesystemBackend:直接存储在本地磁盘,如果不设定目录权限,任意用户或agent都可以读取使用
  • StateBackend:无本地磁盘环境,或需要加载远程skill时可以使用这个形式,需要用create_file_data将技能文档加载成state中兼容的格式。skill的注入在invoke()中通过files字段指定。
fromurllib.requestimporturlopenfromdeepagentsimportcreate_deep_agentfromdeepagents.backendsimportStateBackendfromdeepagents.backends.utilsimportcreate_file_datafromlanggraph.checkpoint.memoryimportMemorySaver checkpointer=MemorySaver()backend=StateBackend()# 从远程加载 Skill(也可以本地读取)skill_url="https://raw.githubusercontent.com/langchain-ai/deepagents/refs/heads/main/libs/code/examples/skills/langgraph-docs/SKILL.md"withurlopen(skill_url)asresponse:skill_content=response.read().decode('utf-8')skills_files={"/skills/langgraph-docs/SKILL.md":create_file_data(skill_content),}agent=create_deep_agent(model="anthropic:claude-sonnet-4-6",backend=backend,skills=["/skills/"],checkpointer=checkpointer,)result=agent.invoke({"messages":[{"role":"user","content":"What is langgraph?"}],"files":skills_files,# 通过 files 参数注入},config={"configurable":{"thread_id":"12345"}},)
  • StoreBackend: StoreBackend 使用 LangGraph Store 进行持久化存储。而且也必须用create_file_data()格式化。适合生产环境中多用户、多线程共享 Skills 的场景,所以在指定SKILL时需要同样指定命名空间namespace。

在创建agent时传入多个技能包的存放目录,其调用效果时后者覆盖前者的顺序。

agent=create_deep_agent(model="anthropic:claude-sonnet-4-6",skills=["/skills/shared/",# 团队共享 Skills"/skills/project/",# 项目专属 Skills(优先级更高)],)

参考资料

deepagent实战笔记

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/31 11:10:56

刚学习C语言对编译器的选择产生纠结?别怕!我来帮你!

要想学编程,选择合适编译器的重要性是不言而喻的,下面就我了解的一些编译器类型及它们的优缺点作一个总结。以下均为个人观点,如有不妥之处,敬请指摘!我们常见的C语言编译器都有哪些呢?GCC,Clang,MSVC都是一…

作者头像 李华
网站建设 2026/10/31 11:10:04

【MySQL进阶】存储过程和触发器

一.存储过程1.存储过程是什么存储过程是为了完成特定功能的SQL语句集,编写完成后存储在数据库当中,用户根据存储过程的名字和参数来执行并获得相对应的结果简单来说其实就是c和java中的方法2.特点1.封装性:将业务逻辑封装在了数据库内部&…

作者头像 李华
网站建设 2026/10/31 11:08:59

2026光效光晕视频合成素材网站评测

一、引言:光效素材在后期合成中的实际问题在整理光效光晕视频素材时,我发现这类视频虽然都与光线有关,但实际用途存在明显区别。有些素材用于模拟镜头反射,有些用于制作闪光转场,还有一些需要通过透明通道或混合模式叠…

作者头像 李华
网站建设 2026/10/31 11:08:47

内容分析的类目怎么建才站得住?来源举证、试编码与版本留痕

做内容分析,卡住人的常常不是编码软件,而是那张类目表:类目从哪来、两类能不能分开、改过几版谁说得清。这些问题在开题与审稿现场被追问的频率,远高于样本量。下面给出一套可直接照做的动作:来源举证到句子&#xff0…

作者头像 李华
网站建设 2026/10/31 11:08:09

AI写代码快了?架构师如何重获掌控感?小白程序员必看!

AI编程实践正在改变代码生成速度,架构师面临新挑战。文章提出架构师需建立架构控制面,通过定义不变量、隔离变更、机器规则执行和独立Agent验收来确保系统稳定可靠。重点包括划分信息边界、分层架构Spec、设计可执行规则、交付可审计变更包,以…

作者头像 李华
网站建设 2026/10/31 11:07:41

[特殊字符]BLM战略管理体系框架梳理

📙#BLM战略管理体系框架梳理,科学的体系让战略规划有效转化为业务结果。 🔆从差距分析找准现实缺口,再通过宏观、中观完成市场洞察,识别关键驱动变量因素,厘清客户、对手与机会;接着输出战略意…

作者头像 李华