鹤啸九天 自律更自由,平凡不平庸 Less is More

Skills 技术专题

2025-12-30
阅读量

Notes(温馨提示):

  1. ★ 首次阅读建议浏览:导航指南, 或划到本页末尾, 或直接点击跳转, 查看全站导航图
  2. 右上角工具条搜索文章,右下角二维码关注微信公众号(鹤啸九天),底栏分享、赞赏、评论
  3. ★ 转载请注明文章来源,知识点积累起来不容易,水滴石穿,绳锯木断,谢谢理解
  4. ★ 如有疑问,邮件讨论,欢迎贡献优质资料


Skills 技术专题

【2025-12-16】Claude Skills成为复杂工作流的最优解

Skill 基础知识

详见:飞书笔记 Agent Skill笔记

背景

Agent 为何需要“技能”?

通用大模型在执行专业任务时面临三大挑战:

  • a, 上下文窗口限制: 无法将海量的专业知识(如公司内部的开发规范、品牌设计指南)一次性灌输给模型。
  • b, 流程不确定性: 即使通过提示词进行指导,AI 在执行多步骤、复杂任务时,其输出结果和行为也常常不稳定、不一致。
  • c, 高昂的 Token 成本: 每次请求都附带大量重复的背景信息和指令,导致成本高昂且效率低下。

Agent Skills 通过“程序化知识封装”解决了这些问题。 不是简单的提示词,而更像是一份标准作业程序(SOP)或一本给 AI 的“岗前培训手册”。

上下文工程问题

两个核心工程挑战,直接决定了agent的“天花板”:

  1. 上下文窗口的稀缺性: 如何让模型“知道”数百个工具的定义,而不耗尽昂贵且有限的上下文?
  2. 编排逻辑的复杂性: 面对多步骤、长周期的任务,如何保证模型遵循既定的业务流程,确保任务的鲁棒性?

核心矛盾:Context Window的有限性 vs 能力需求的无限性

传统做法是把所有工具、所有指令都塞进system prompt:

System Prompt = 基础指令 + 所有工具描述 + 所有专业知识 = 50K+ tokens = 高延迟 + 高成本 + 低效率

传统 API 函数调用 因其“急切加载”机制和对客户端的编排负担,已步履维艰。

解决连接性碎片化 确立了“通用连接器”的生态地位。

Skills 介绍

然而,真正的架构质变来自 Anthropic 最新 Claude Skills 。

Claude Code Skills设计灵感来自类比:

人类专家不是把所有知识都装在脑子里,而是在需要时查阅手册、调用专业知识。

Skills系统让AI Agent也具备这种能力:

用户请求 → Agent识别需要PDF技能 → 动态加载PDF处理指令 → 执行专业任务 → 返回结果

Claude Skills 不再将功能视为简单的工具集合,而是将其封装为“程序性知识

  • 一份专业的“员工入职手册”。

Skills + MCP 分层架构是构建下一代企业级高能效智能代理的最佳路径。

API 函数调用是不可或缺的底层执行原语,但其“急切加载”的上下文机制和脆弱的编排逻辑,使其不适合作为构建复杂、可扩展代理应用的核心架构 。模型上下文协议 成功地解决了连接性难题,为 AI 提供了标准化的“管道” 。

而 Claude Skills 代表了架构的质变。它通过渐进式披露”机制解决了上下文的扩展性瓶颈,无论是拥有 10 个还是 1000 个技能,启动成本都极低。更关键的是,它将复杂流程显式定义在 中,结合沙盒代码执行,极大地提升了复杂任务的流程鲁棒性和标准化。

三种设计范式:API Function Calling → MCP → Claude Skills

Agent Skill

Agent Skill 本质上是结构化文件夹。

最简结构仅包含一个核心文件:SKILL.md

your-skill-name/
└── SKILL .md

这个 SKILL.md 文件通过 YAML frontmatter 定义元数据,通过 Markdown 正文提供详细指令。

  • 元数据 (Metadata): 告诉 Agent 这个 Skill 的“身份”和“用途”。
    • name: 技能的唯一标识,必须与文件夹名一致。
    • description: 功能描述,是 Agent 决定是否激活此技能的关键依据。
  • 指令 (Instructions): 告诉 Agent 在激活此技能后,应该“如何做”。这是分步的工作流指南。

关键机制:渐进式信息披露 (Progressive Disclosure)

Agent Skills 的设计精髓在于其高效的 Token 利用机制,它分三层按需加载信息:

  • 第一层:元数据 (Metadata)Agent 启动时,仅加载所有可用 Skills 的 name 和 description。这消耗的 Token 极少,但足以让 Agent 对其能力库有一个全局认知。
  • 第二层:核心指令 (Core Instructions)当用户的请求与某个 Skill 的 description 匹配时,Agent 才会完整加载该 Skill 的 SKILL .md 文件内容,获取详细的操作指南。
  • 第三层:支持资源 (Supporting Resources)如果 SKILL .md 的指令中引用了外部脚本(位于 scripts/ 目录)或参考文档(位于 references/ 目录),Agent 仅在执行到该步骤时才会去访问这些文件。特别地,当执行脚本时,只有脚本的输出结果会进入上下文,代码本身不会,极大地节省了成本并保证了执行的确定性。

这种分层机制确保了 Agent 在具备强大扩展性的同时,运行成本极低且响应迅速。

Skills 结构

SKILL.md文件的目录:

.minion/skills/
├── pdf/
│   ├── SKILL.md          # 技能定义和指令
│   ├── references/       # 参考资料
│   ├── scripts/          # 辅助脚本
│   └── assets/           # 资源文件
├── xlsx/
│   └── SKILL.md
└── docx/
    └── SKILL.md

SKILL.md 采用YAML frontmatter + Markdown body的格式

Skill 改进

Skills 融入模型训练

【2026-2-9】芝加哥 SKILLRL

【2026-2-9】芝加哥大学、伯克利等推出 SkillRL

为什么“存轨迹”不够

  • 现有 LLM Agent “经验”常以外部记忆形式保存原始轨迹,但轨迹往往冗长、包含探索回退与噪声,导致相似检索时上下文开销高、关键信号稀释,甚至性能随任务复杂度上升而退化。

有效迁移需要“抽象”:类似人类不记每一步,而是形成可复用的技能规则。

SkillRL:

  • 把交互轨迹“蒸馏”为可检索、可复用的技能(SkillBank),再在强化学习过程中按验证失败递归扩展技能库,实现“策略—技能库”协同进化。

SKILLRL 通过自动技能发现和递归进化,让智能体能像人类一样从经验中高效学习,而非每次任务都从头开始

SkillRL 框架

SkillBank 具体形态:

  • 既有“系统化探索、动作前检查、循环逃逸”等通用规则
  • 也有 WebShop 的“先核验约束、变体切换后复查价格、发现不匹配立即返回搜索”等细粒度流程技能;
  • 同时配套错误分类(如“遗漏约束”“变体导致价格漂移未复查”“过早购买”),用于把失败轨迹转成可执行的防错原则。

相比存原始轨迹的记忆方法,技能抽象带来约 10–20× 的上下文压缩,同时提升决策可用性,缓解“冗余/噪声”与“信息密度”的矛盾。

关键方法:

  • 1️⃣ 经验驱动技能蒸馏:成功轨迹提炼战略模式,失败轨迹生成失败教训,将冗余轨迹转化为高价值技能
  • 2️⃣ 分层技能库 SKILL-BANK:
    • 通用技能提供基础指导
    • 任务特定技能提供针对性策略
  • 3️⃣ 递归技能进化:在强化学习过程中动态更新技能库,与代理策略共同进化

💡 核心创新:

  • 1️⃣ 从”死记硬背”到”理解精髓”:避免存储冗余轨迹,提取高价值技能
  • 2️⃣ 技能库与策略的”共同进化”:形成”学习-进化-再学习”的良性循环

效果

  • ALFWorld、WebShop 与 7 个检索增强 QA 任务上取得 SOTA;
  • 消融显示:去掉冷启动 SFT 或用原始轨迹替代技能库会显著掉点。

SkillRL 由三部分构成:

  • 经验驱动的技能蒸馏:用教师模型将成功/失败轨迹分别提炼为“成功策略技能”和“失败教训技能”。
  • 层级技能库 SkillBank:区分通用技能与任务类型相关技能 ,并定义结构化字段(名称、原则、when_to_apply)以便检索与执行。
  • 递归技能进化:在 RL 训练中周期性分析验证失败轨迹,生成新技能并更新 SkillBank,使其随策略提升而扩展。

【2026-3-30】中科院 D2Skill

【2026-3-30】中国科学院自动化研究所等机构联合发布论文,提出了一种动态双粒度技能库框架,通过双粒度技能组织和动态管理,实现策略与技能库的协同进化。

智能体强化学习(Agentic RL)可从可复用经验中获得显著收益,但现有基于技能的方法主要提取轨迹级指导,且往往缺乏用于维护动态演化技能记忆的系统性机制。

D2Skill:面向智能体强化学习的动态双粒度技能库,将可复用经验组织为两种技能:用于高层级指导的任务技能,以及用于细粒度决策支持和错误修正的步骤技能。

D2Skill 通过在同一策略下进行配对的基线推演和技能注入推演,联合训练策略与技能库,并利用两者的性能差距,推导用于技能更新和策略优化的事后效用信号。该技能库完全基于训练时的经验构建,通过反思持续扩展,并借助效用感知的检索与剪枝机制进行维护。

双粒度技能设计包括任务技能和步骤技能,前者提供高层任务指导,后者提供细粒度的决策支持。动态技能管理机制确保技能库始终保持高效,通过反思驱动的技能生成、效用感知的检索与剪枝,持续维护高可用性的技能库。

ALFWORLD和WEBSHOP基准测试中,相比无技能基线提升了10-20个百分点的成功率,同时保持较低的训练开销。

在 ALFWorld 和 WebShop 数据集上,采用 Qwen2.5-7B-Instruct 和 Qwen3-4B-Instruct-2507 模型进行的实验表明,与无技能基线相比,D2Skill 可将成功率稳定提升 10 至 20 个百分点。进一步的消融实验和分析显示,双粒度技能建模和动态技能维护均是实现这些性能提升的关键,同时所学习的技能具有更高的效用、可跨评估场景迁移,且仅引入适度的训练开销。

【2026-4-1】阿里 SkillRouter

SkillRouter:破解大规模Skills选择难题的新范式

问题:

  • 上下文容量瓶颈:现有Agent架构无法将数万条技能的完整信息全部注入模型上下文,否则会造成严重的上下文溢出、推理延迟飙升与成本失控;
  • 技能匹配精度难题:社区贡献的技能普遍存在严重的功能重叠,大量技能拥有相似的名称与描述,但在实现细节、入参要求、适用场景上存在本质差异。仅依赖名称、描述这类元数据,根本无法完成精准的技能选择。

当Agent面对用户任务时,如何从海量技能库中精准匹配到最适配的那一个,已经成为制约Agent规模化落地的核心瓶颈。

技能路由:从大量候选技能池中筛选出与用户任务最相关的技能集合

但相关研究不足。当前智能体架构采用渐进式披露设计 —— 仅向智能体暴露技能名称和描述,而隐藏完整的实现主体 —— 这一设计隐含地认为元数据足以支撑技能选择。

对 约 8 万个技能和 75 个专家验证查询的基准数据集系统性实证研究,发现:

  • 技能主体(完整的实现文本)是决定性信号 —— 移除技能主体会导致所有检索方法的性能下降 29-44 个百分点
  • 交叉编码器注意力分析显示,91.7% 注意力集中在技能主体字段上,描述仅占 1.0%。Skills 池中功能高度重叠,进一步放大 body 的区分价值。

【2026-4-1】阿里推出 SkillRouter,两阶段 “检索 - 重排序” 流水线,总参数量仅为 12 亿(6 亿编码器 + 6 亿重排序器)。

针对这一行业痛点给出了系统性的实证研究与轻量化解决方案,为大规模Agent技能路由提供了全新的技术范式。

SkillRouter: 专为大规模Agent技能路由设计的两阶段检索-重排流水线,总参数量仅 1.2B(0.6B双编码器检索 + 0.6B交叉编码器重排),在保证顶尖匹配精度的同时,实现了极致的轻量化与部署友好性。

SkillRouter 两阶段 retrieve-and-rerank 流水线,总参数仅 1.2B(0.6B 编码器 + 0.6B 重排序器),专为消费级硬件设计。

  • 第一阶段(SR-Emb-0.6B):双编码器,用完整 Skills 文本(name+desc+body)预编码 Skills 池,ANN 检索 Top-20 候选。采用精心负例挖掘 + 三层假阴性过滤 + In-batch InfoNCE 对比学习。
  • 第二阶段(SR-Rank-0.6B):交叉编码器,逐对处理 query 与候选的完整文本,采用 listwise 交叉熵损失(LW),迫使模型在同质 Skills 间进行相对排序。 训练数据:37,979 对查询-Skills 样本(GPT-4o-mini 合成,训练/测试完全 disjoint)。

SkillRouter 实现了 74.0% top-1 路由准确率,在评估的紧凑型和零样本基准模型中取得了最优的平均结果,同时仍可部署在消费级硬件上。

实验结果

  • 主要指标:Hit@1(Top-1 路由准确率,主指标)、MRR@10、nDCG@10、Recall@K、FC@10。
  • 紧凑模型性能:SkillRouter-1.2B 在 Easy/Hard 难度上平均 Hit@1 达 74.0%(单 Skill 查询 72.9%,多 Skills 查询 74.5%)。
  • 对比:显著优于最强零样本 8B 基线(Qwen3-Emb-8B × Qwen3-Rank-8B,68.0%),提升 +6.0pp;也优于 GPT-4o-mini/GPT-5.4-mini 等 LLM Judge 作为重排序器。
  • 8B 扩展:相同配方下 Hit@1 升至 76.0%,验证方法可扩展。
  • 关键消融:
    • 假阴性过滤:+4.0pp Hit@1(Hard 难度更明显)。
    • Listwise 损失 vs Pointwise BCE:+30.7pp(后者在高度同质池中失效)。

【2026-4-2】美团 SKILL0

【2026-4-2】美团LongCat:把Skill内化到模型

从 Claude 到 OpenClaw,Skills已经成为增强LLM智能体的重要方法,Skills本质是结构化的过程知识和可执行资源的集合。在Agent运行时找到相关技能匹配到Prompt中。
所以最终还是作用于提示词,论文指出了三个缺点:

  1. 引入了检索噪声:引入无关或误导性指导,污染智能体上下文
  2. token开销大:skill到内容会注入prompt中,同时在多轮问答中不断累积
  3. 缺乏泛化:模型只根据技能描述输出,能力在上下文中,不在模型参数中

Skill0 是首个把Skill内化作为训练目标的强化学习框架,通过上下文学习(In-Context Reinforcement Learning,ICRL)来实现。

在ALFWorld和 Search-based QA两个基准上对Skill0进行评估,使用了多种方法。

从最终的数据上来看:

  1. SKill0(3B)在ALFWorld上比AgentOCR提高了9.7%,在Search-QA上提升了6.6%
  2. SKill0 达到了类似SkillRL的Skill增强方法的性能
  3. 在ALFWorld上仅0.38k tokens/步,SKillRL是2.21k,非常大的减少了token消耗

当然也有局限性:

  1. 性能依赖于SkillBank即初始技能库的质量和覆盖范围;
  2. 线下Skill分组需要针对新领域重新划分,不够灵活;
  3. 评估范围还很小,当前局限于特定任务类型。

原文总结:

“We believe SKILL0 establishes skill internalization as a new principled and scalable paradigm, paving the way from tool-augmented toward truly autonomous LLM agents and self-sufficient intelligence.”

生态

浙大 SkillNet

【2026-3-8】Skill迎来大一统,浙大阿里腾讯等众多研究机构联合推出 SkillNet,拒绝「重复造轮子」

当前AI Agent面临核心困境:缺乏系统性的技能积累迁移机制

两个根本性缺陷:

  • 缺乏统一的技能获取和整合机制:有价值的专业知识广泛存在于开源仓库、学术论文和Agent执行轨迹中,但它们仍然很大程度上是非结构化和孤立的。AI Agent无法自动将这些资源提炼为可复用、可执行的能力。
  • 缺乏原则性的技能质量验证框架:没有内在和系统的评估,技能仓库容易”污染”,可执行性、安全性和鲁棒性只能通过下游任务成功间接评估。这种随机且不透明的验证引入了技术债务,破坏了长期能力增长。

【2026-2-26】浙江大学联合阿里巴巴、腾讯等19个机构提出 SkillNet ,构建了超过20万个AI技能的开放基础设施,通过统一本体论、五维度评估体系和技能关系图谱,让Agent从「重复造轮子」进化到「技能复用」,在三个基准测试中平均奖励提升40%、执行步骤减少30%。

SkillNet 将大规模Agent技能组织成结构化的技能网络,建模丰富的关系(如相似性、组合性和依赖性),支持多维度评估,并提供统一的接口用于技能发现、创建和分析。

image

image

SkillNet 三大核心贡献:

  1. 统一的技能框架:将碎片化的Agent经验转化为结构化的技能网络,支持丰富的关系建模,作为可操作知识工程的可扩展基础。
  2. 严谨的技能评估协议:建立了五维度评估体系(安全性、完整性、可执行性、可维护性、成本感知),确保大规模技能仓库的可靠性。
  3. 开源生态系统:发布了超过20万个技能、Python工具包和全面的基准测试,实证证明了在Agent规划和执行任务中的显著性能提升。

技能操作的三个步骤:

  • 发现(Discovery):Agent最初只加载最小元数据(如名称和描述),识别可能与给定任务相关的技能。
  • 激活(Activation):当任务与技能描述匹配时,Agent从SKILL.md读取完整指令并准备相关资源。
  • 执行(Execution):Agent遵循指令,可选执行捆绑代码或利用引用资产完成任务。

安装

pip install skillnet-ai

实现

蒸馏人类

同事

【2026-4-3】colleague-skill 将冰冷的离别化为温暖的 Skill,欢迎加入数字生命1.0

reademe 文件“振聋发聩”、“发人深省”:

“你们搞大模型的就是码奸,你们已经害死前端兄弟了,还要害死后端兄弟,测试兄弟,运维兄弟,害死网安兄弟,害死ic兄弟,最后害死自己害死全人类”

女娲

【2026-4-8】GitHub 热门项目

效果

用户      ❯ 家里条件一般,孩子想学金融,去不了顶尖学校,该不该报?

张雪峰    ❯ 千万别报。我说过多少遍了,金融不是你学出来的,金融是
            你爹妈给你带出来的。顶尖学校的金融,人家同学是行长的
            儿子、基金经理的女儿,人脉就是资源。你普通家庭去个普通
            学校学金融,毕业出来干什么?卖保险、跑银行柜台、做电销。
            先谋生再谋爱,家里没矿就选技术类专业,学个硬本事,靠
            自己吃饭。金融这碗饭,不是谁都端得起的。

女娲提取六层:

  • 层次 说明
  • 怎么说话 表达DNA——语气、节奏、用词偏好
  • 怎么想 心智模型、认知框架
  • 怎么判断 决策启发式
  • 什么不做 反模式、价值观底线
  • 知道局限 诚实边界

输入一个名字后,女娲做四件事:

  1. 六路并行采集 —— 著作、播客/访谈、社交媒体、批评者视角、决策记录、人生时间线,6个Agent同时跑,各自存档。
  2. 三重验证提炼 —— 一个观点要被收录为心智模型,必须:
    • 跨2+个领域出现过(不是随口一说)、能推断对新问题的立场(有预测力)、不是所有聪明人都会这么想(有排他性)。
    • 三个都过才收录。
  3. 构建Skill —— 3-7个心智模型 + 5-10条决策启发式 + 表达DNA + 价值观与反模式 + 诚实边界,写入SKILL.md。
  4. 质量验证 —— 拿3个此人公开回答过的问题测试,方向一致才通过。再用1个他没讨论过的问题测试,Skill应该表现出适度不确定而非斩钉截铁。

完整方法论在 references/extraction-framework.md

原理

  • 收集蒸馏人物的信息,包括:个人作品、访谈纪要、表达方式、外部观点、相关决策、人物时间线
  • 整理成 skill 文件:张雪峰思维操作系统,覆盖:
    • 角色扮演原则(最重要)
    • 回答工作流:问题分类 → 按类型选择不同回答策略, 搜索多方面数据 → 作答(基于前面获取的数据,运用心智模型和表达DNA)
    • 身份卡:我是谁、我的起点、最后在做什么
    • 心智模型:社会筛子论、选择>努力、就业倒推法、阶层现实主义、争议即传播
    • 决策启发式:灵魂追问法、中位数原则、不可替代性检验、500强测试、家庭背景分流、城市优先原则、10年后压迫测试、认态度不认事实
    • 表达DNA:表述风格,包含句式、词汇、节奏、幽默、确定性、引用习惯、辩论策略
    • 人物时间线
    • 价值观与反模式:我追求的、我拒绝的、我没想清楚的
    • 知识谱系
    • 诚实边界
    • 附调研来源

安装

npx skills add alchaincyf/nuwa-skill

Claude Code 里蒸馏:

蒸馏一个保罗·格雷厄姆 造一个张小龙的视角Skill 帮我做一个段永平的Skill 造完之后直接调用:

使用

用芒格的视角帮我分析这个投资决策 费曼会怎么解释量子计算? 切换到Naval,我在纠结三件事

Minion Skills

【2025-12-22】Minion Skills:Claude Skills的开源实现

LangChain Skills

LangChain Skills 支持

from langchain.tools import tool
from langchain.agents import create_agent

@tool
def load_skill(skill_name: str) -> str:
    """Load a specialized skill prompt.

    Available skills:
    - write_sql: SQL query writing expert
    - review_legal_doc: Legal document reviewer

    Returns the skill's prompt and context.
    """
    # Load skill content from file/database
    ...

agent = create_agent(
    model="gpt-4o",
    tools=[load_skill],
    system_prompt=(
        "You are a helpful assistant. "
        "You have access to two skills: "
        "write_sql and review_legal_doc. "
        "Use load_skill to access them."
    ),
)

结束


支付宝打赏 微信打赏

~ 海内存知已,天涯若比邻 ~

Share

Similar Posts

Related Posts

标题:Claude 使用笔记

摘要:Claude 使用笔记

标题:OpenClaw 使用笔记

摘要:OpenClaw 安装、使用、技术原理、应用案例、进化方向等

站内可视化导航

文章可视化导读:鼠标划过图形块时,如果出现蓝色光环, 点击即可跳转到对应主题

Comments

--disqus--

    My Moment ( 微信公众号 )
    欢迎关注鹤啸九天