AgentScope 正式发布 Skills 支持-实现
本文探讨多能力大模型Agent的上下文管理难题,分析全量加载、多Agent架构和RAG三种方案的局限性,提出Skill机制作为解决方案。Skill采用渐进式披露策略,将知识加载分为元数据、指令和资源三个层次,实现启动时轻量、执行时精准、使用时完整的上下文管理。该机制支持无限扩展领域数量,赋予模型自主选择能力,降低维护成本,适合多领域知识密集型应用,但也存在运行时上下文未隔离等局限性。背景:多能力
本文探讨多能力大模型Agent的上下文管理难题,分析全量加载、多Agent架构和RAG三种方案的局限性,提出Skill机制作为解决方案。Skill采用渐进式披露策略,将知识加载分为元数据、指令和资源三个层次,实现启动时轻量、执行时精准、使用时完整的上下文管理。该机制支持无限扩展领域数量,赋予模型自主选择能力,降低维护成本,适合多领域知识密集型应用,但也存在运行时上下文未隔离等局限性。

背景:多能力 Agent 的挑战
在大语言模型驱动的 Agent 系统中,存在一个核心矛盾:我们希望 Agent 拥有尽可能多的能力,但在任何时刻它只会用到其中一小部分, 同时 Agent 的上下文空间是有限的。
以一个客服系统为例:我们希望它能同时处理订单查询、退款申请、产品推荐、技术支持等多个领域的问题,但在任何一次对话中,用户通常只会涉及其中一两个领域。但是又要支持Agent同时具有这些能力如何在有限的上下文中高效管理这些能力?
三种常见上下文加载方案
方案 1:全量加载
- 核心思路:将所有领域的知识预先加载到 SystemPrompt 中
- 优势:简单直接,无需额外机制
- 局限:上下文占用 15k+ tokens,资源浪费,可扩展性差
方案 2:多 Agent 架构
- 核心思路:每个 Agent 独立加载专业领域知识
- 优势:隔离不同领域的上下文
- 局限:局部看某个 Agent 时,本质上还是全量加载,只是每个 Agent 只加载自己专业领域的知识
方案 3:RAG(检索增强生成)
- 核心思路:通过向量检索动态加载知识
- 优势:灵活高效,按需获取
- 局限:流程性知识检索失真,上下文碎片化,准确率上限 70-80%

问题的本质
这三种方案的困境本质上源于同一个问题:缺乏灵活的上下文加载机制。它们在三个维度上都存在不足:
- 空间维度:无法区分"必需知识"与"潜在知识",导致过度加载
- 时间维度:无法实现"按需加载",只能选择"全量加载"或"检索加载"
- 结构维度:无法保持知识的完整性,在碎片化和全量化之间缺少中间态
用一个类比来说明:想象你是一位电商平台的全能客服,需要处理订单、退款、技术故障、投诉等各类问题。
- 全量加载:就像入职培训时把几十本产品手册、退款流程、技术文档全部背下来,即使用户只是问个快递单号也要承载所有复杂退款规则的记忆负担;
- 多 Agent 方案:就像把你拆分成订单客服、退款客服、技术客服,每通电话都需要"语音导航"判断转给谁,用户说不清问题时就在各个专员之间来回转接;
- RAG 方案:就像有个助手根据用户问题去知识库搜索,但可能搜到过期的退款政策,或者只搜到零散的操作步骤却漏掉关键的前置条件。
我们需要的是:让 Agent 像一个经验丰富的客服一样,脑子里有个清晰的"目录"——平时只记住"退款问题看《退款处理手册》、技术问题看《故障排查指南》"(元数据),遇到退款咨询时快速调出完整的退款流程和话术(按需加载),碰到罕见的特殊情况再去查阅详细的政策文档(资源按需)。这就是 Skill 机制要解决的问题:让 Agent 知道有哪些知识,需要时才调用,调用时保持完整。
Skill 机制:渐进式披露
核心思想:让 Agent 先知道"有什么能力",需要时再学习"如何使用",而不是一开始就把所有知识装进上下文。
核心定义
Skill(技能) 是一个独立的、可复用的知识和能力单元,包含三个核心组成部分:
1. 结构化指令:用 Markdown 编写的标准作业流程(SOP)
- 定义何时使用此 Skill(触发条件)
- 描述具体的执行步骤(操作流程)
- 说明可用的工具和资源(支撑材料)
2. 资源文件:支撑指令执行的参考材料
- 详细的 API 文档和技术规范
- 使用示例和最佳实践指南
- 模板文件和配置样例
3. 可执行脚本:提供确定性操作的代码
- 数据处理和转换脚本
- 验证和校验工具
- 与外部系统的集成接口
渐进式披露(Progressive Disclosure) 是一种上下文管理策略,将知识加载分为三个层次:

- 启动时轻量:只加载必要的元数据,支持大量 Skill 注册
- 执行时精准:只加载相关的 Skill,避免无关知识干扰
- 使用时完整:保持 SOP 的逻辑连贯性,不碎片化

Skill 的结构规范
Skill 以文件系统的目录结构组织,核心是 SKILL.md 文件:
skill-name/
SKILL.md 的最小结构:
---
渐进式披露的工作机制
以订单处理场景为例,说明三层加载的过程:

第 1 层:元数据加载(启动时)
Agent 启动时,上下文中仅包含所有 Skill 的元数据:
# 上下文占用:~100 tokens/Skill
上下文成本:10 个 Skill × 100 tokens = 1k tokens
此时 Agent 知道"有哪些能力可用",但不知道"如何执行这些能力"。这种设计支持注册任意数量的 Skill,因为每个 Skill 只占用约 100 tokens 的元数据空间。
第 2 层:指令加载(触发时)
当用户询问"订单 123456 什么时候到?",Agent 识别需要 order_processing Skill,加载其完整指令:
# 新增上下文:~2k tokens
上下文成本:1k(元数据)+ 2k(指令)= 3k tokens
加载的是完整的 SOP 文档,保持了逻辑连贯性,不会像 RAG 那样出现碎片化。同时只加载当前任务相关的 Skill,相比全量加载节省 85% 的上下文空间(3k vs 20k)。
第 3 层:资源加载(按需时)
执行过程中遇到错误码 E1001,Agent 加载错误码说明:
# 新增上下文:~1k tokens
或执行脚本(不占用上下文):
# Agent 调用 scripts/validate.py
上下文成本:
- 文档资源:累加到上下文(1k + 2k + 1k = 4k tokens)
- 脚本执行:不占上下文,仅返回结果(约 50 tokens)
资源文件按需加载,避免预先加载所有参考文档。脚本执行提供确定性操作,不依赖 LLM 生成代码,且执行结果不占用上下文空间。理论上可以支持无限数量的资源文件(通过文件系统存储)。
AgentScope-Java 中的 Skill 机制实现

详细文档: https://java.agentscope.io/zh/task/agent-skill.html
存储层抽象:解耦 Skill 与文件系统
原生 Skill 机制基于文件系统,Agent 通过文件系统 Tool 直接访问磁盘文件,难以在云端、容器等环境中灵活部署。
我们将 Skill 进行了进一步的抽象,使其的发现和内容加载不再依赖于文件系统, 只是将文件系统作为一个而是 LLM 通过 Tool 来发现和加载 Skill 的内容和资源。同时为了兼容已有的 Skill 生态与资源,Skill 的组织形式依旧按照文件系统的结构来组织它的内容和资源。
创建Skill对象
对于结构是如下的Skill, 我们可以创建一个Skill对象:
skill-name/
AgentSkillskill= AgentSkill.builder()
AgentScope-Java 提供了 Repository 抽象层,使能从外部系统中批量创建Skill。
// 从文件系统加载 Skill
基于SystemPrompt的一级披露
Toolkittoolkit=newToolkit();
将Skill注册到SkillBox中, 将SkillBox注册到ReActAgent使技能生效。
在对话时, 对于持有了SkillBox的Agent, 会在SystemPrompt中注入Skill的提示词模板(告知模型什么时候使用Skill, 怎么加载Skill)和Skill的元数据, 用于一级暴露。
<available_skills>
基于Tool的二级披露和三级披露
在对话时, LLM判断要使用Skill, 将通过自动注册好的load_skill_through_path Tool来加载Skill的指令和资源, 用于二级披露和三级披露
load_skill_through_path(skillId="data_analysis", path="SKILL.md")
Tool 的渐进式披露
AgentScope-Java 将 Tool(Mcp/Function Call) 也作为 Skill 的一种资源,实现 Tool 的渐进式披露。在agent代码中将skill和Tool绑定. 当Skill 未激活时绑定的 Tool 不会出现在 Agent 的工具列表中,Skill 激活后 Tool 自动激活, 在接下来的对话中对 Agent 可见。
// 注册 Skill 并绑定 Tool
代码执行能力
在 AgentScope-Java 中,Skill 的所有资源(包括脚本文件)都存储在内存中。这带来了分发便捷性,但也意味着脚本无法直接执行——操作系统需要文件系统路径来运行代码。
解决方案是使用 SkillBox.codeExecution() 启用代码执行能力,将脚本资源输出到工作目录:
// 自定义 Shell 命令白名单和审批回调
配合 Docker 沙箱实现安全执行:将 workDir 指向 Docker 容器挂载的卷目录,Skill 脚本会被写入该目录,随后在隔离的沙箱环境中执行。这种方式既保留了 Skill 打包分发的便捷性,又通过容器隔离确保了代码执行的安全性。
总结:Skill 是及时雨,但不是万金油
为什么说是"及时雨"
Skill 机制为拓展单个 Agent 能力提供了一种简单而强大的方式,让我们在不引入架构复杂度的前提下,构建具备多领域知识的智能 Agent:
- 隔离启动上下文:支持无限扩展领域数量,拓宽有效 Prompt 空间,让 Agent 有更多上下文用于推理和对话历史;
- 赋予模型自主性:Agent 可以自主决定何时加载哪个 Skill,并动态组合解决复杂问题;
- 降低维护成本:业务流程调整时,修改 Skill 文件即可更新,无需重训模型或重建索引;
适合使用 Skill 的场景:
- 多领域知识密集型应用:客服系统、代码助手、医疗咨询等,需要掌握多个领域但单次对话只涉及一两个;
- SOP 频繁迭代:业务流程经常调整,修改 Skill 文件即可更新,无需重训模型或重建索引;
- 需要确定性操作:通过脚本资源保证关键步骤准确性,避免 LLM 行为的不确定性;
与其他技术组合使用:
- Skill + RAG:结构化 SOP + 非结构化知识库;
- Skill + Multi-Agent:Skill 提供领域知识,Multi-Agent 隔离运行时上下文;
- Skill + 长上下文:多领域按需加载 + 单领域深度分析。
为什么说"不是万金油"
Skill 机制有其固有的局限性,并非所有场景都适用:
机制层面的局限:
- 只能隔离启动上下文,无法隔离运行时上下文:多个领域的知识会存在于同一个 Agent 的记忆/上下文窗口中,模型在推理时需要同时处理多个领域的知识,可能导致混淆甚至错误;
- Skill 之间没有优先级:所有 Skill 对模型而言是平等的,无法设置权重或优先级。即使业务上某个 Skill 更重要、期望更高频触发,它与其他 Skill 的触发机会实际上是相同的;
- 触发条件依赖 LLM 能力:Skill 的加载时机由模型自主判断,不同模型表现差异较大;
不适合使用 Skill 的场景:
- 实时性要求极高:Skill 加载需要额外 Tool 调用,增加约 100-200ms 延迟;
- 单一领域简单任务:直接在 SystemPrompt 中编写更简单,无需引入额外复杂度;
- 深度推理场景:数学证明、复杂算法设计等更适合长上下文,Skill 擅长流程性知识而非推理性知识;
- 技能使用频率失衡:当存在少量高频技能和大量低频技能时(长尾分布),高频技能每次都需 Tool 调用加载,增加不必要的延迟;而大量低频技能使 Skill 列表过长,增加模型选择负担。此时应将高频内容压缩后直接写入 SystemPrompt。
未来,我们将在 Skill 的完整生命周期管理和便捷分发机制上持续优化和探索,进一步降低 Skill 的创建、共享和复用成本。
普通人如何抓住AI大模型的风口?
为什么要学习大模型?
在DeepSeek大模型热潮带动下,“人工智能+”赋能各产业升级提速。随着人工智能技术加速渗透产业,AI人才争夺战正进入白热化阶段。如今近**60%的高科技企业已将AI人才纳入核心招聘目标,**其创新驱动发展的特性决定了对AI人才的刚性需求,远超金融(40.1%)和专业服务业(26.7%)。餐饮/酒店/旅游业核心岗位以人工服务为主,多数企业更倾向于维持现有服务模式,对AI人才吸纳能力相对有限。

这些数字背后,是产业对AI能力的迫切渴求:互联网企业用大模型优化推荐算法,制造业靠AI提升生产效率,医疗行业借助大模型辅助诊断……而餐饮、酒店等以人工服务为核心的领域,因业务特性更依赖线下体验,对AI人才的吸纳能力相对有限。显然,AI技能已成为职场“加分项”乃至“必需品”,越早掌握,越能占据职业竞争的主动权
随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!
如果你真的想学习大模型,请不要去网上找那些零零碎碎的教程,真的很难学懂!你可以根据我这个学习路线和系统资料,制定一套学习计划,只要你肯花时间沉下心去学习,它们一定能帮到你!
大模型全套学习资料领取
这里我整理了一份AI大模型入门到进阶全套学习包,包含学习路线+实战案例+视频+书籍PDF+面试题+DeepSeek部署包和技巧,需要的小伙伴文在下方免费领取哦,真诚无偿分享!!!
vx扫描下方二维码即可

部分资料展示
一、 AI大模型学习路线图
这份路线图以“阶段性目标+重点突破方向”为核心,从基础认知(AI大模型核心概念)到技能进阶(模型应用开发),再到实战落地(行业解决方案),每一步都标注了学习周期和核心资源,帮你清晰规划成长路径。

二、 全套AI大模型应用开发视频教程
从入门到进阶这里都有,跟着老师学习事半功倍。

三、 大模型学习书籍&文档
收录《从零做大模型》《动手做AI Agent》等经典著作,搭配阿里云、腾讯云官方技术白皮书,帮你夯实理论基础。

四、大模型大厂面试真题
整理了百度、阿里、字节等企业近三年的AI大模型岗位面试题,涵盖基础理论、技术实操、项目经验等维度,每道题都配有详细解析和答题思路,帮你针对性提升面试竞争力。

适用人群

第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐

所有评论(0)