2026年6月25日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


我要投稿

Agent Skill 管理范式探索:像管理软件包一样管理 Agent 能力

发布日期:2026-06-20 06:22:16 浏览次数: 1560
作者:林是梦

微信搜一搜,关注“林是梦”

推荐语

探索Agent Skill管理新范式:像管理软件包一样,将Agent能力沉淀为可复用、可发布的企业级资产。

核心内容:
1. 当前Agent Skill管理面临的挑战与痛点
2. 从具体任务到通用能力的工程化沉淀过程
3. 构建统一Skill Hub管理范式的核心思路与价值

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家


不定期分享 软件架构、AI 智能体应用 技术文章,点击上方名片关注获取更多文章




以下全部内容是我和 Codex 共建完成,通过多轮对话,逐步推演出一套通用 Agent Skill Hub 管理范式;阅读本文,将了解如何像管理软件包一样管理 Agent 能力,并将 Skill 从本地经验沉淀为可复用、可发布、可部署、可回滚的企业级能力资产。

在过去一段时间里,Agent 生态里出现了很多关于 Skill、Prompt、Tool、MCP、Plugin、Workflow 的探索。大家都在尝试把一次有效的交互沉淀下来,让 Agent 下一次能更稳定地完成同类任务。

但在实际落地过程中,我很快会遇到一个问题,Skill 越来越多之后,该怎么管理?Skill 需要能被 Claude Code、OpenClaw、Codex、Spring AI Alibaba 等多个 Agent 应用加载,不单单被一个 Agent 固定死,需要兼容。

一开始的做法比较简单,把一个 SKILL.md 放在本地目录里,把几段提示词保存在笔记里,把某次任务中写出来的脚本丢到项目文件夹里。这个阶段很适合快速探索,但它有明显的边界:

  • Skill 分散在不同 Agent 的私有目录中,难以复用。
  • 缺少统一的命名、版本、发布时间和变更记录。
  • 没有类似软件工程中的 package、release、deploy 和 rollback 流程。
  • 不同 Agent 对 Skill 的读取和安装方式不一致。
  • 企业自建 Agent 需要稳定加载能力目录,但本地文件夹很难直接进入生产环境。

这篇文章想讨论的是一个更底层的问题,当 Agent 能力开始被持续沉淀时,我们是否需要像管理软件包一样管理 Agent Skill?

我的答案是:需要。

一、从一个简单任务开始

这次探索的起点非常具体,尝试下载马蜂窝(一个旅行游记分享网站,下载仅供学习)网页上的图片,并且要下载原图,不要缩略图。

一开始,我只是完成了一个网页图片链接解析的脚本。随着任务推进,需求逐步变得清晰:

  • 网页里拿到的图片链接通常带有缩略图参数。
  • 链接中 ? 后面的压缩、裁剪、质量参数需要去掉。
  • 最终导出的不是缩略图链接,而是原始链接。
  • 链接清单不仅要有 URL,还要有文件大小,格式类似 链接,1.5M
  • 输出文件夹要符合项目命名规范,比如 YYYYMMDD图片下载-地点或网页标题-原图
  • 下载过程要支持断点续下,网络中断后不能从头重复下载。
  • 下载完成后需要校验数量、文件有效性、链接是否仍包含缩略图参数。

我发现,问题已经从帮我下载网页上图片(简单爬虫),变成了把一类任务沉淀成可复用能力。

这就是 Skill 的工程价值。

一个高质量 Skill 是一段真实工作流的完整实现过程,它应该包含任务触发条件、输入输出规范、执行步骤、边界条件、脚本能力、样例数据和校验方式。

在这个过程中,我把马蜂窝图片下载任务沉淀成了第一个样板 Skill:mafengwo-original-images。每次对话都可以被加载进上下文,可以被复用、被安装、被验证的能力单元。

二、Skill 的工程目录

第一次接触 Skill,会把它理解成一个 SKILL.md 文件,这是起点,但不是最终形态。

如果 Skill 要面向真实任务,它至少要解决三个问题:

  1. 人能读懂。
  2. Agent 能触发。
  3. 程序能执行和校验。

因此,一个 Skill 更适合被组织成标准目录:

skills//
├── SKILL.md
├── skill.json
├── README.md
├── scripts/
├── examples/
└── adapters/ 

这里每个文件都有明确职责。

SKILL.md 是 Agent 读取的核心说明。它描述什么时候使用这个 Skill、任务目标是什么、输出格式是什么、执行流程是什么、最后如何校验。

skill.json 是机器可读元数据。它记录名称、版本、描述、入口文件、支持的 Agent、可能产生的副作用,例如网络访问或文件写入。

README.md 面向人类使用者,解释这个 Skill 怎么安装、怎么使用、典型输出是什么。

scripts/ 用来承载稳定、重复、容易出错的逻辑。比如图片下载、链接清洗、文件大小统计、断点续下等,不应该每次都让 Agent 临时重写。

examples/ 保存输入样例和输出样例,让 Skill 的行为更容易被理解和测试。

adapters/ 处理不同 Agent 之间的差异,比如 Claude Code、OpenClaw、Codex 或通用浏览器环境的使用方式。

这个结构背后有一个重要原则,Skill 是 Prompt、脚本、元数据、样例和适配文档的组合。

Prompt 负责表达意图,脚本负责保证确定性,元数据负责可发现和可治理,样例负责降低理解成本,适配层负责跨 Agent 复用。

三、从单个 Skill 到 Skill Hub

当只有一个 Skill 时,目录规范似乎已经足够。但只要继续往前走,就会出现新的问题,如果未来有几十个、几百个 Skill,该怎么组织?

这时我联想到软件工程中代码的组织规范,就是需要从 Skill 进一步抽象到 Skill Hub。

Skill Hub 的定位不是一个存放 Skill 的文件夹,而是一个跨 Agent 的能力仓库。它要服务三类对象:

  • 人:需要阅读、维护、贡献和审阅 Skill。
  • Agent:需要理解、触发、安装和执行 Skill。
  • 企业运行时:需要稳定加载、发布、回滚和审计 Skill。

因此,Skill Hub 的根目录需要承担更高层次的治理职责:

skill-hub/
├── README.md
├── AGENTS.md
├── CLAUDE.md
├── SKILL_RELEASES.md
├── USAGE.md
├── DEPLOYMENT.md
├── registry.json
├── schemas/
├── scripts/
├── adapters/
├── deploy/
└── skills/

这里有几个关键设计。

第一,根 README.md 不再维护具体 Skill 清单,而是作为项目入口和文件索引。具体 Skill 名称、版本和发布时间由专门文件维护,避免 README 随着 Skill 增多变成不可维护的大杂烩。

第二,SKILL_RELEASES.md 用来记录 Skill 增量表、发布时间、版本、状态和入口。这相当于 Skill 世界里的 changelog。

第三,registry.json 是机器可读索引。它让安装器、CI、企业 Agent 服务能够以统一方式发现 Skill,而不是靠扫描散乱目录。

第四,AGENTS.md 是写给未来 Agent 的项目说明,就是为了人和 Agent 共建仓库,它告诉 Agent:这个仓库的定位是什么,哪些文件可以改,新增 Skill 时需要同步更新哪些索引,什么内容不能写死到通用 SKILL.md 里。

第五,DEPLOYMENT.md 把 Skill Hub 从源码仓库推进到可部署能力目录。这是企业落地非常关键的一步,因为基于 SAA (Spring AI Alibaba) 构建的 Agent 需要稳定地加载生产级 Skill 。

四、核心设计思想:Agent-neutral first

Skill Hub 最重要的设计原则是:Agent-neutral first。也就是说,通用 Skill 不应该被某个 Agent 的私有工具调用锁死。

例如,在 SKILL.md 中,我们不应该写死“调用 Codex 的某个工具”或“使用 Claude Code 的某个专有命令”。通用 SKILL.md 应该描述任务目标、输入输出、执行流程、校验标准和必要约束。

不同 Agent 的差异,应该放在 adapters/ 中。

这样做的好处是明显的:

  • 同一个 Skill 可以被 Claude Code、OpenClaw、Codex 和自建 Agent 复用。
  • Skill 的核心语义不会因为 Agent 工具变化而失效。
  • 企业可以根据自己的运行时框架实现适配层。
  • 开源社区也更容易贡献新的 Agent adapter。

这和软件工程里的接口设计很像。SKILL.md 是接口语义,scripts/ 是确定性实现,adapters/ 是不同运行时的适配。

把 Skill 当成能力包而不是提示词片段来设计时,跨 Agent 复用才有可能成立。

五、像软件一样管理 Skill

如果 Skill Hub 要进入企业环境,它不能只停留在 Git 仓库里。企业 Agent 服务需要稳定、可审计、可回滚的运行时目录。

因此,我把 Skill Hub 的生命周期设计成:

本地共建
  -> skill 校验
  -> hub 级构建
  -> release 包
  -> 服务器部署目录
  -> 企业 Agent 运行时加载
  -> 版本回滚

是的,Skill 也需要像代码仓库一样发布 release 版本,这是稳定的根本来源。这个链路的价值在于,它把 Skill 从个人本地经验升级为团队可发布资产。

在本地,开发者和 Agent 一起共建 Skill,完善说明、脚本、样例和校验规则。

在校验阶段,检查 SKILL.mdskill.json、命名规范和脚本语法。

在构建阶段,生成 hub 级 release,包括 registry、manifest、checksum、单 Skill 包和完整运行目录。

在部署阶段,把 release 发布到服务器目录。

在运行时,企业 Agent 只读取稳定入口,而不是直接依赖 Git 仓库。

在回滚时,只需要切换当前版本指针。

推荐的服务器目录结构是:

/opt/skill-hub/
├── releases/
│   ├── /
│   └── /
└── current -> releases/

企业 Agent 服务只读取:

/opt/skill-hub/current/registry.json
/opt/skill-hub/current/skills/*/SKILL.md

这套模型非常接近软件部署中的 release 目录和 current 软链。它的好处是稳定、清晰、可回滚。

Agent 不需要理解 Git 仓库历史,也不需要知道开发者本地目录。它只需要读取 /opt/skill-hub/current

六、面向企业自建 Agent 的运行时加载

当 Skill Hub 进入企业自建 Agent 场景时,一个关键问题是,应用如何加载 Skill?

以 Spring AI Alibaba (该框架基于 LangGraph 设计思想用于开发本地 Agent)为例,推荐方式不是把 Skill 写进代码,也不是让应用读取开发目录,而是通过 Spring 的 Resource / ResourcePatternResolver 加载部署后的稳定目录。

配置可以类似:

agent:
  skills:
    registry: file:/opt/skill-hub/current/registry.json
    locations:
      - file:/opt/skill-hub/current/skills/*/SKILL.md

应用侧可以抽象出三层:

  • SkillRegistry
    读取 registry.json,获得 Skill 名称、版本、路径和副作用声明。
  • SkillDocumentLoader
    加载 SKILL.md 文档内容。
  • SkillRuntimeIndex
    把元数据和文档内容合并成 Agent 可查询的运行时索引。

这样 Skill Hub 就不会和某个 Agent 框架深度绑定。它只是提供一个稳定、可部署、可读取的能力目录。具体怎么把 Skill 注入 planner、tool router、prompt assembler 或 memory,由企业自己的 Agent Runtime 决定。

这也是 Skill Hub 的边界,它管理能力资产,但不替代 Agent 框架本身。

七、项目开源

我的这套管理方案已开源。

项目地址:

GitHub: https://github.com/linshidream/skill-hub
Gitee:  https://gitee.com/linshidream/skill-hub

在这个项目中,我先做了一个最小可跑通版本。它包含了以下内容,

  • 一个样板 Skill:马蜂窝原图下载。
  • 一套 Skill 目录规范。
  • 一个机器可读注册表 registry.json
  • 一个发布记录 SKILL_RELEASES.md
  • 构建、校验、部署脚本。
  • Spring AI Alibaba adapter 示例。
  • Docker、Compose、systemd 部署模板。
  • GitHub Actions 校验入口。

实现方式并不复杂,核心脚本包括:

scripts/validate-skill.py
scripts/build-hub.py
scripts/verify-release.py
scripts/deploy-release.py

但这里真正重要的是它背后的工程化流程:

validate -> build -> verify -> deploy

这意味着 Skill 可以被检查,可以被打包,可以被发布,可以被部署,也可以被回滚。

Skill Hub 当前的目标就是提供一个标准的 Skill 创建环境,clone 到本地之后,先让本地 Agent 理解 AGENT.md ,之后就可以开始制作自己的 Skill 技能列表。

我后续可以继续补充:

  • 我开源好用的 Skill,例如网页资料整理、文章结构化输出等。
  • GitHub Actions / Gitee 流水线。
  • Docker 镜像自动构建。
  • Kubernetes 部署方案。
  • Skill 签名、权限声明和安全审计。
  • 多版本并存、灰度发布和依赖管理。

八、阶段性总结

第一,好的 Skill 来自真实任务。

在具体任务中发现重复流程、稳定步骤和校验标准,然后把它沉淀下来。

第二,Skill 要同时服务人、Agent 和运行时。

人需要读懂它,Agent 需要触发它,服务器需要加载它。只满足其中一个场景,都会让 Skill 走不远。

第三,Skill 要尽量保持跨 Agent 中立。

Agent 生态还在快速演进,如果一个 Skill 从一开始就和某个私有工具强绑定,它的生命周期会很短。

第四,Skill 需要软件工程化。

命名、版本、注册表、发布记录、构建产物、校验和、部署目录、回滚机制,这些不是额外复杂度,而是企业落地所需要的最低治理能力。

第五,Skill Hub 会逐渐成为企业 Agent 的能力目录。

未来企业内部可能会有很多 Agent,它们不应该各自维护一套本地 Skill。更合理的方式是共享一个经过治理的 Skill Hub,由不同 Agent 根据任务需要加载和使用,像管理软件包一样管理 Agent Skill,这可能会成为 Agent 工程化落地中的一个重要基础设施方向。

有什么好的想法欢迎在下方留言告诉我吧,期待和你一起成长。

 用代码解构世界,下期再会。



本文对你有帮助的话,欢迎 点赞 + 分享 + 推荐 ~

我是林是梦,文章专注于分享 Java 后端架构设计与中间件、AI 智能体应用开发点击下面名片关注我,和我一起成长吧



精选历史文章:

OpenClaw 爆火之后,企业 AI 平台该如何真正落地?

AI 时代,程序员的价值该如何定义?

Agent 的能力从哪来?分享一套高频使用的 Skill 工具集合

AI 提效(上)|8 款脚本工具,效率拉满

AI 提效(下)|8 款文档开发工具,全搞定

一篇讲透运维基础:ECS、VPC、弹性IP,本质到底是什么?

一篇讲透运维基础:对等连接、专线、内外网隔离,企业网络到底是怎么设计的?

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询