#技能抽象

nazha
2天前
#分享 大脑和工具之间的抽象:Skills Anthropic 前几天推出 Skills,今天研究了下,第一眼就让我感觉怎么跟 Cursor Rules 的设计一模一样:标题、描述和被“卸载”到文件系统的详细内容。 接着仔细看了 Anthropic 提供的 Skills 示例,强烈觉得这恐怕又是 Anthropic 公司内部 dogfooding 的结果。 我的理解是:Skills 描述的对人类技能的抽象。 ## MCP 和 Skills 一般,我们把 MCP 定义为 Agent 的 **工具能力**,能够访问外部系统、执行相关流程和获取关键信息。当然,MCP 也可以来做跟 Skills 相关的事情,它可以很狭义,也可以很广义,这主要看在具体实践中的定义。 技能是更高纬度的,通过学习、训练或工作经验获得的能力。之前主要是依赖 LLMs 的内在的通用能力,而 Skills 有点类似于强化学习路径,让 LLM 有一个可参考的模板。 简单理解,MCP 不能跟 Skills 混为一谈:MCP 定位在工具,Skills 定位在技能。 在 Anthropic 发布的这张图也并没有表达 Skills 替换 MCP 的意思,工具应该是更原子化的东西。而工具 = MCP + 命令行 + 自定义脚本 + ... ## Skills 是 Anthropic 让 Claude Code/Claude Web 向迈向通用 Agent 做的努力 Anthropic 在 Claude Code 中也集成了 Skills,显然是看到了 Claude Code 在通用 Agent 方向的潜力,而不仅仅是写代码(拜托,先换个名字,不要叫 Claude Code 了)。 ## 再来看 Skills 的设计 第一个感觉就是对普通人来说真的简单。你要实现一个 MCP 工具,非编程科班出身的还真有点难度,理解 MCP 的各个概念就能让人退而却步。而 Skill 的设计呢,无非就是写文档、讲明白事情就可以。 为了实现在 Skills 执行脚本和代码,Anthropic 就必须提供一个虚拟执行环境,将部分困难转交给容器执行环境(这也许是下一个技术热点)。当然,并不是批评 MCP,MCP在设计的时候,也许并没有这个共识存在。 ## 给我们在设计 Agent 架构时的启发 技能的部分,在之前的架构设计中,有一部分是会演变成子智能体,技能详情变成了子智能体的系统提示,即 Agent as Tool / Agent as Skill 的设计。若在智能体和工具之间又加了一个技能层,给我们在设计 Agent 架构的时候,就要思考得更多了,第一个问题就是是否需要额外引入一个 Agent,如果这个 Agent 的能力能够被 Skill 承载? 对于多智能体的架构,目前我看到的一些产品,比如 Manus、 Claude Code 都是很谨慎的。Skills 给我们在设计 Agent 的时候提供另一条思路:有技能的智能体。 ## 了解 Skill, 我的建议 先从 的每个例子开始,对技能是什么有个初步的概念。再看下 这篇工程文章,深入了解 Skills 的设计。 最后,我表示我很喜欢 Skill。哪怕 Cursor Rules 出来很久,这也是我也没取思考过的工程设计。也许像浩瀚天空的一颗星,指明了一些方向。