现在 AI 的 skill、MCP 等东西,都是内嵌在平台里的一部分,每次启动 Agent 时作为初始上下文的一部分发给 AI,并且整段对话期间都不会变,以提高 Token 缓存命中率,节约成本。
这也太傻了吧?
也许我的 skill 和 MCP 都有特定的用途,但它们很难同时派上用场。AI 给我查新闻的时候,不需要知道剪视频、写代码的东西。如果我有 200 个 skill,50 个 MCP 工具,需要每次对话都发给 AI 所有的这些 skill 和工具描述,就很容易 Token 爆炸,上下文混乱。
但似乎各家都没有开发按需加载的功能,所以就自己做了一个。
我给这个项目取名为“能力库,capacity library”,将 skill 和 MCP 都视为 AI 的能力,统一纳入管理。
整体的使用流程是:
用户对 AI 提出任务
AI 向能力库咨询
能力库推荐适用的 skill 和 MCP
AI 阅读 skill、加载 MCP
按指引调用工具,开始干活
能力库把启动 Agent 时所做的被动加载所有能力,变成了任务中主动按需加载。
如无必要,勿增实体,东西越多越容易出错。所以整体能力库只有三个部分:
skill 库:一堆 md 文档,分组放置在不同文件夹里。另有一个 skill 清单,便于查询。
MCP 库:一个 JSON 文件,里面是所有 MCP 的配置内容。配置文件本身就是清单。
支持能力库运转的几个Python脚本。
独立和通用是整个能力库的设计灵魂。
1,只需通用的阅读和命令行工具,没有外部依赖。AI 使用时只需要用普通的文档阅读工具读取 skill,用命令行工具加载和执行 MCP,无论你用 Claude Code、Codex、OpenClaw、Hermes、Workbudd,还是任何其他的 Agent 平台,不管你用 Windows、Mac、Linux,只要有 Python 即可使用。
2,只使用 .md .py .json 文件,并刻意让程序运行时不会有任何文件被长期占用。你可以将能力库放置在电脑的任意位置,共享给电脑上所有的Agent,同时使用云盘在多台设备间同步(你也可以使用 git 来做同步和管理)。
为了让能力库、高效运行,我设计了以下机制:
入库:
在向能力库新增 skill 或 MCP 时,AI 除了写入 skill 文件和 MCP 配置文件,还需要跑一个入库脚本。对于 skill,入库脚本会检查路径和文件名是否正确,并将对应的技能描述、备注记录到入库清单中。对于 MCP,会尝试加载以检验语法。
前台咨询:
一个独立的轻量 LLM,在接收到 AI 的咨询请求后,阅读库内的清单,从中推荐合适的 skill 和 MCP。作为早期阶段,前台咨询只能阅读本地的能力清单并做出选择。有需要可以开发向量检索或者高级查询语句,并增加获取在线资源的功能。
工具执行:
提供独立的 load 和 use 函数。当 AI 需要调用 MCP 时,使用 load 加载对应的 MCP,获取完整的工具描述,再使用 use 函数执行调用。新增 MCP,或者修改了某些本地 MCP 代码(比如你在开发调试自己的 MCP 时)只需 load 即可使用,无需重启 Agent,无需/reload-mcp 命令。没有专门的read skill功能,因为只要有文档路径,普通read工具已经足够。
根据我自己的使用经验,能力库非常适合以下场景:
- 团队共建。一人创建,全员共享,立即生效。并且因为能力库不绑定设备和平台,每个人都可以保持自己原本的习惯,想换一个 Agent 也能无缝衔接。使用 git 还可以实现更精细化的管理,追踪谁在什么时候因为何种原因修改了哪个 skill 的什么部分。
- MCP 开发者。当你在开发调试 MCP 时,无需守在电脑旁手动重启,AI 可以自己 load ,使用修改后的版本,不断 debug。
- 个人全能 Agent。如果你希望 Agent 帮你做大量不同场景的工作,有非常多 skill 和 MCP ,但每次只使用其中一小部分,你可以把所有这些能力都放到一个库里,而无需担心上下文太多、太乱。
多说几句。
在我看来,目前AI的本质,是一个能力强大的临时工。不是实习生,不是助理,不是伙伴,只是临时工。获取固定薪酬(token费),不对结果负责,召之即来挥之即去,不会下次再来。
你开一个新的对话,相当于招了个新人,它对你毫无了解。你压缩上下文,相当于两个临时工交接工作,新员工对你的了解也只限于压缩后的材料。
对于一个长期的、大型的项目,靠临时工们自发组织进行管理是绝无可能的,因为系统总是有熵增的趋势。旧员工走,新员工来,忒修斯之船上面,只有你是永恒的存在。你无法真正培养临时工,临时工也不会有任何成长性。唯一能持续成长的,是你用来管理临时工的制度体系,和持续运营沉淀积累的经验。
这些积累下来的经验和制度,才是真正属于你(用户)的资产。它不会因为被封号而消失,不会因为软件升级而改变。它不会把你限制在任何一个平台,相反,它让你可以自由地在任意平台穿梭。
这是一个 demo,展示一种可能的设计思路。
如果你也是重度 AI 用户,你可以试试它。
如果你是 AI 平台的开发者,欢迎借鉴能力库的思路。
欢迎讨论。
项目地址:GitHub - alone-tree/Capability-Library
有用的话欢迎 star,欢迎fork,欢迎讨论。