本文详解Agent Skills架构,提出元工具模式解决工具爆炸问题,通过渐进式披露的三级加载机制缓解Token焦虑。结合本地存储与Redis分布式分发,实现技能的安全隔离与实时更新。这套设计让Agent能够灵活扩展专业技能,实现结构化工作流复用,为构建高性能Agent系统提供坚实基础。


0 引言:你的 Agent 为何需要 Skill?

什么是 Skill? Skill 是一套结构化的、可复用的、面向特定领域的知识和工作流。它不是一个简单的工具函数,而是一个包含指令、脚本、配置文件的“知识包”。

Skill 提供了一种优雅的机制,让 Agent 可以在需要时才加载所需信息,从而彻底告别工具爆炸和 Token 焦虑。

1 核心设计理念

为了让 Agent 能够管理成百上千个 Skill,我们引入了两个关键的设计模式:

  1. 元工具模式(Meta-Tool Pattern)
  2. 渐进式披露(Progressive Disclosure)

1.1 元工具模式:避免工具爆炸

传统的做法是:一个 Skill 对应一个工具函数。

元工具模式的做法是:所有 Skill 都通过一个统一的工具函数来调用

这个统一的工具,我们称之为 skill_tool

模式 传统模式 元工具模式
工具数量 N 个 Skill = N 个工具 N 个 Skill = 1 个工具
LLM 负担 每次推理都需看到 N 个工具 每次推理只需看到 1 个工具
管理难度 高,新增 Skill 需改代码 低,新增 Skill 仅需更新元数据

通过这种方式,LLM 只需要知道如何调用 skill_tool,而 skill_tool 内部则负责根据参数(如 skill_name)去查找和加载具体的 Skill。

这彻底解决了工具列表爆炸的问题。

元工具的核心:参数路由 在元工具模式下,LLM 的决策焦点从“选择哪个工具”转移到了“为工具设置什么参数”。

  1. 接口统一:LLM 始终只面对一个 skill_tool

    接口。

  2. 动态路由:Agent 后端接收到调用后,根据 skill_name

    参数动态去加载对应的 Skill。 这种“一对多”的映射关系,使得 Agent 的能力扩展变得极其简单:新增一个 Skill,只需在后端注册一个名字,而无需修改 LLM 的任何工具定义。

1.2 渐进式披露:解决 Token 焦虑

图 1:Skill 的三级加载机制与渐进式披露流程

Skill 的核心价值在于其包含的详细指令和脚本。但这些内容不应该一股脑塞给 LLM。

我们采用了三级加载机制,实现信息的按需、动态加载,这就是“渐进式披露”。

级别 内容 加载时机 用途
Level 1 元数据 Agent Loop 启动时 让 LLM 知道“有哪些 Skill
Level 2 完整指令 LLM 调用 skill_tool 让 LLM 知道“如何使用 Skill
Level 3 资源文件 Agent 执行脚本时 实际执行 Skill 的代码逻辑

关键点:

  • 只有 Level 1 的元数据会常驻在 LLM 的系统提示词中。
  • Level 2 的详细指令只在 LLM 明确表示要使用某个 Skill 时,才会被加载到上下文。
  • Level 3 的脚本代码则完全不进入 LLM 上下文,通过沙箱执行,极大地节省了 Token。

2. 技术实践:Agent Loop 中的 Skill 调用流程

我们来看一下,在一个典型的 Agent Loop 中,如何通过这两大设计理念来完成一个任务。

假设用户要求:“请帮我从 /data/report.pdf 中提取表格数据。”

步骤一:加载 Level 1 元数据(Agent Loop 启动)

在 Agent Loop 启动时,Skill 管理器会扫描本地 Skill 目录(例如 ~/.claude/skills/),从每个 Skill 的 SKILL.md 文件中提取 Level 1 元数据,并将其注入到 LLM 的系统提示词中。

注意: Skill 的分发(从中央仓库到本地目录)是在 Agent Loop 启动之前完成的,Agent Loop 启动时只负责从本地加载。

步骤二:LLM 决策与 Level 2 加载(第一次迭代)

LLM 看到用户需求(提取 PDF 表格)和 Level 1 元数据后,它会推理出需要使用 pdf-processing 这个 Skill,并决定先获取详细指令。

LLM 输出(Tool Call):

{
"tool_call": {
"name": "skill_tool",
"args": {
"skill_name": "pdf-processing",
"action": "get_instruction"
}
}
}

Agent Loop 执行 skill_tool,Skill 管理器从本地文件系统中读取 pdf-processingSKILL.md(Level 2),并返回给 LLM。

步骤三:执行 Level 3 脚本(第二次迭代)

LLM 看到 Level 2 的详细指令后,它明确知道应该调用 extract_table.py 脚本。

LLM 输出(Tool Call):

{
"tool_call": {
"name": "skill_tool",
"args": {
"skill_name": "pdf-processing",
"action": "execute_script",
"script_name": "extract_table.py",
"file_path": "/data/report.pdf"
}
}
}

Agent Loop 再次执行 skill_tool。这一次,skill_tool 不会把脚本代码(Level 3)返回给 LLM,而是返回一个沙箱执行命令

安全与隔离:为什么必须是虚拟机沙箱? Skill 的核心是执行代码(Level 3 脚本)。为了保证系统的安全性稳定性,Skill 的执行环境必须是隔离的虚拟机沙箱

  1. 安全性:防止恶意或错误的脚本代码对宿主系统造成破坏。
  2. 文件路径一致性:沙箱提供了一个确定的、一致的文件系统路径,确保 LLM 推理出的执行命令能正确找到脚本文件。

脚本代码本身(Level 3)从未进入 LLM 的上下文,Token 得到了最大程度的节省。

3. 工程化考量:稳定、高效的 Skill 基础设施

除了核心的调用流程,一个健壮的 Skill 系统还需要考虑数据存储、版本管理和实时更新等问题。

3.1 存储方案:本地文件系统优先

对于本地运行的 Agent Runtime,最简单、最直接的 Skill 存储方式就是本地文件系统

Agent Loop 会在一个确定的目录下查找所有 Skill,例如兼容 Claude 风格的 ~/.claude/skills/ 目录。

本地加载流程

  1. 系统分发:在 Agent Loop 启动前,Skill 已被同步到本地目录。

  2. Agent 启动:Agent Loop 扫描本地目录,从 SKILL.md

    中提取 Level 1 元数据。

  3. 注入 Prompt:将 Level 1 元数据注入到 LLM 的系统提示词中。

这种方式的优点是简单、零依赖,非常适合个人开发者和本地调试。

3.2 进阶:分布式环境下的分发层(Redis)

当你的 Agent 系统需要部署到多台服务器,或者需要支持实时更新时,本地文件系统就无法满足需求了。这时,我们需要引入一个分发层,而 Redis 是一个理想的选择。

核心思想:Redis 作为分发层,本地文件系统作为执行层 Redis 负责 Skill 的版本管理实时同步。Agent 节点启动时,会从 Redis 下载最新的 Skill 文件到本地文件系统,然后像本地模式一样执行。

存储与版本锁定

Redis 的 Hash 结构非常适合存储 Skill 的文件内容和元数据,并实现对话级锁定

版本锁定策略 当一个新的对话(Conversation)开始时,Skill 管理器会立即读取 Skill 的当前版本号,并将其锁定为该对话的固定版本

  • 当前对话: 始终使用锁定的版本,直到对话结束。
  • 新对话: 自动使用最新的版本。

这保证了 Agent 在一次任务中的行为是可预测和可调试的。

实时更新机制:Pub/Sub 推送模式

图 2:基于 Redis Pub/Sub 的 Skill 实时更新与缓存清除机制

我们利用 Redis 内置的 Pub/Sub(发布/订阅)机制来实现实时推送:

  1. 更新:开发者将新版本写入 Redis。
  2. 发布:更新管理器向 Redis 频道发布“Skill 已更新”的消息。
  3. 订阅:所有 Agent 节点订阅该频道,收到消息后立即清除本地缓存,并下载新版本。

这种机制实现了 延迟 < 10ms 的近乎实时更新。

4. 开发者实操:如何从github引入一个新的 Skill?

对于 Agent 开发者而言,引入一个新的 Skill 是一件非常简单且标准化的事情。我们以 GitHub 上的一个真实 Skill 库 ui-ux-pro-max-skill 为例,演示如何在本地 Agent Runtime 中引入这个新能力。

步骤一:获取 Skill 库并放置到本地目录

Skill 本质上是一个包含结构化文件的文件夹。你需要将 Skill 库克隆或下载到 Agent Runtime 能够识别的 Skill 根目录下。

假设你的 Agent Runtime 识别的 Skill 目录是 ~/.claude/skills/

  1. 克隆 Skill 库:

    cd ~/.claude/skills/git clone https://github.com/nextlevelbuilder/ui-ux-pro-max-skill.git
    
  2. 检查目录结构: 此时,你的 Skill 目录结构如下:

    ~/.claude/skills/└── ui-ux-pro-max-skill/    ├── SKILL.md          # Level 2:详细指令 (包含 Level 1 元数据)    └── scripts/        └── generate_wireframe.py   # Level 3:实际执行的脚本
    

    注意: 我们统一使用 SKILL.md 来承载 Level 1 和 Level 2 的信息,不再需要单独的 metadata.json

步骤二:Agent Loop 自动加载 Level 1 元数据

Agent Loop 启动时,会自动扫描 ~/.claude/skills/ 目录。它会读取 ui-ux-pro-max-skill/SKILL.md 文件,提取 Level 1 元数据(Skill 名称和描述),并将其注入到 LLM 的系统提示词中。

Level 1 提取示例 Agent 会从 SKILL.md 的前几行提取出: Skill: ui-ux-pro-max - 专业的 UI/UX 设计辅助 Skill,用于生成线框图、用户流程图和设计规范。

LLM 此时获得的能力: LLM 的系统提示词中新增了上述 Level 1 描述。

步骤三:LLM 调用 Skill 并加载 Level 2/3

当用户提出“帮我设计一个电商网站的支付流程线框图”时:

  1. LLM 决策:调用 skill_tool(skill_name=\'ui-ux-pro-max\', action=\'get_instruction\')

  2. Agent Loop:读取本地文件 ~/.claude/skills/ui-ux-pro-max-skill/SKILL.md

    (Level 2),并返回给 LLM。

  3. LLM 决策:根据 Level 2 指令,调用 skill_tool(skill_name=\'ui-ux-pro-max\', action=\'execute_script\', ...)

  4. Agent Loop:将本地脚本路径转换为沙箱执行命令,并交给执行器执行。

整个过程,对于本地 Agent 而言,无需任何 Redis 操作,Skill 即可生效。

进阶:分布式环境下的 Skill 引入

如果你需要将这个 ui-ux-pro-max-skill 分发给云端的多台 Agent 服务器,那么你需要:

  1. 将 Skill 文件打包:将 ui-ux-pro-max-skill

    文件夹的内容上传到 Redis 或 S3 等中央存储。

  2. 更新 Redis 元数据:将 Skill 的所有文件内容(包括 SKILL.md

    和脚本)和版本信息写入 Redis。

  3. 发布 Pub/Sub 消息:通知所有 Agent 节点下载并安装这个新 Skill 到各自的本地 Runtime 目录。

至此,你的 Agent 就拥有了一个全新的 Skill 能力,并且为分布式部署也做好了准备。

5 总结

Skill 能力是 Agent 从“通用型”走向“专业化”的关键一步。它将 Agent 的能力从简单的工具调用,提升到了结构化工作流的复用

通过元工具模式,我们解决了工具爆炸的问题;通过渐进式披露,我们解决了 Token 焦虑的问题。

同时,我们强调了 Skill 架构的分层设计

  • 分发层(Redis/PubSub):负责 Skill 的版本管理和实时同步。
  • 执行层(本地文件系统/虚拟机沙箱):负责 Skill 的安全隔离和高效执行。

这套设计思路,为构建一个稳定、高效、可扩展的 Skill 基础设施提供了坚实的基础。

如果你正在构建自己的 Agent 系统,不妨参考这套设计,让你的 Agent 拥有更强大的“专业技能”和更优雅的“思考方式”。

AI时代,未来的就业机会在哪里?

答案就藏在大模型的浪潮里。从ChatGPT、DeepSeek等日常工具,到自然语言处理、计算机视觉、多模态等核心领域,技术普惠化、应用垂直化与生态开源化正催生Prompt工程师、自然语言处理、计算机视觉工程师、大模型算法工程师、AI应用产品经理等AI岗位。

在这里插入图片描述

掌握大模型技能,就是把握高薪未来。

那么,普通人如何抓住大模型风口?

AI技术的普及对个人能力提出了新的要求,在AI时代,持续学习和适应新技术变得尤为重要。无论是企业还是个人,都需要不断更新知识体系,提升与AI协作的能力,以适应不断变化的工作环境。

因此,这里给大家整理了一份《2026最新大模型全套学习资源》,包括2026最新大模型学习路线、大模型书籍、视频教程、项目实战、最新行业报告、面试题、AI产品经理入门到精通等,带你从零基础入门到精通,快速掌握大模型技术!

由于篇幅有限,有需要的小伙伴可以扫码获取!
在这里插入图片描述

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

5. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

为什么大家都在学AI大模型?

随着AI技术的发展,企业对人才的需求从“单一技术”转向 “AI+行业”双背景。企业对人才的需求从“单一技术”转向 “AI+行业”双背景。金融+AI、制造+AI、医疗+AI等跨界岗位薪资涨幅达30%-50%。

同时很多人面临优化裁员,近期科技巨头英特尔裁员2万人,传统岗位不断缩减,因此转行AI势在必行!

在这里插入图片描述

这些资料有用吗?

这份资料由我们和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

在这里插入图片描述
在这里插入图片描述

大模型全套学习资料已整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费】

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐