找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2895

积分

0

好友

413

主题
发表于 5 天前 | 查看: 20| 回复: 0

在智能体(Agent)的技术演进中,Anthropic 是一家绕不开的公司。其提出的 MCP(Model Context Protocol)协议,为大模型与外部世界交互提供了标准化方案,极大地规范和加速了智能体的发展进程。

针对智能体普遍存在的不确定性和幻觉问题,Anthropic 也提出了一系列的应对措施。例如,针对智能体的评估框架,以及旨在解决重复性任务、确定工作流和动态加载资源能力的 Agent Skills,正是我们今天要探讨的核心主题。

Claude Agent Skills 在 Google 关于智能体的相关白皮书中并未提及,毕竟它们分属不同的公司。并且,Skills 在“智能体认知架构”(模型、工具、编排)中的定位也颇为特殊,它并不完全属于任何单一层级。然而,作为技术的实践者,我们的目标是兼收并蓄、博采众长,从而构建起一个完整而实用的技术体系。

本文将聚焦于 Skills 的概念解析。我们将深入探讨究竟什么是 Skills,它与现有的一系列技术能力有何区别与联系?

什么是 Skills

在官方定义中,Skills 是开发者定义的一套结构化、可复用的能力模块。它主要由两部分构成:

  • 能力描述: 告诉模型“你能干什么”。
  • 执行逻辑: 具体的代码或标准作业程序(SOP)步骤。

它旨在解决一个核心痛点:降低模型推理的随机性,输出确定性结果

通俗地讲,Skills 就是让 AI 别再漫无边际地“瞎琢磨”,而是直接按照你提供的“标准菜谱”,一步一步地“炒”出一盘味道恒定的菜肴。

Skills 有哪些新特性

1. 结构化的“确定性”

这是 Skills 与普通 Prompt 最显著的区别。

  • 描述: Skills 是用结构化的代码或严谨的格式定义的,而非自然语言式的建议。
  • 解决痛点: 旨在解决 AI 在推理过程中出现的幻觉、步骤遗漏、流程迷失等问题。
  • 通俗解释: 以前你告诉 AI “尽量算准点”,这是 Prompt;现在你赋予它一个计算税务的 Skill,它就必须严格按照你编写的数学公式和规则一步步执行。无论询问多少次,只要输入相同,其执行过程和逻辑就是固定、精准且确定的。

2. 高度的“可复用性”

Skills 具备“一次编写,随处可用”的特性,并且可以像“乐高积木”一样,一旦被赋予(装备),模型就立刻获得了这项能力

  • 特性描述: 只需定义一次技能(例如“生成采购合同”或“翻译医学术语”),就可以将其部署给多个不同的 Agent 角色使用。
  • 解决痛点: 解决智能体开发效率低下、能力难以标准化的问题。
  • 通俗解释: 这就像是给你的所有客服机器人都统一安装了“投诉处理插件”。你无需为每个机器人都编写一遍处理逻辑,只要调用同一个 Skill,它们就都掌握了这套标准话术与流程。

3. “黑盒化”的复杂度屏蔽

它允许模型从繁琐的业务细节中解脱出来,更专注于“何时使用”的全局决策。

  • 特性描述: 复杂的业务逻辑被封装在 Skill 内部。模型只需要知道“什么时候该调用它”以及“输入什么参数”,而无需理解这个 Skill 内部的具体运行机制。
  • 解决痛点: 应对过于复杂的任务导致 AI “思考过载”的问题。
  • 通俗解释: 就像司机无需了解发动机的内燃原理,只需要踩下油门(调用 Skill)即可。这极大减轻了模型的“认知负担”,使其不容易在长链路的复杂思考中“断片”或“跑偏”。

4. 强大的“长流程处理能力”

旨在解决 Agent 在执行复杂、多步骤任务时容易“迷路”的问题。

  • 特性描述: 一个 Skill 可以封装一系列连续的操作(例如:抓取竞品网页 -> 提取关键数据 -> 生成分析报告 -> 发送预警邮件)。在模型看来,这仅仅是调用了一个 Skill;但在后台,它实际完成了一整套完整的 SOP。
  • 解决痛点: AI 在复杂任务中“容易迷失方向、忘记步骤”的问题。
  • 通俗解释: 传统 AI 做事是“走一步看一步”,每步都需要停下来思考下一步该做什么(典型的 ReAct 循环);而有了 Skill,就像开启了“自动导航模式”,一段复杂的旅程,它可以一气呵成地执行到底,中间无需分心决策。

5. 渐进式披露

  • 特性描述: 按需、分阶段地加载信息,而非在任务开始时就将所有内容一股脑儿塞进上下文。
  • 解决痛点: 这是 Skills 最核心的机制之一,能有效解决上下文长度受限、Token 浪费以及无效信息干扰核心决策等问题。
  • 通俗解释: 让 AI 学会“按需查阅说明书”,而不是在动手前被迫背诵整本手册。

『Skills』VS『Prompt 』

在我之前撰写的系列 MCP 教程中,通常为每个智能体都内置了“系统提示词(System Prompt)”,用以指导 Agent:需要分几步走?何时调用工具创建本地文件夹?何时调用大模型进行摘要?何时调用 MCP 服务器获取数据?这实际上就是一个简单的 SOP 在 Prompt 中的实现

例如,在“用 MCP+Agent 突破大模型最大 Token 限制,完成超长网页翻译”这个示例中,其提示词如下:

Claude Agent Skills配置界面与提示词示例

# 从网页获取内容并翻译
## 初始设置
1. 工作 [base目录]为:D:\09.coding\ai\aicoding\MCQClient\fetchplus\ws
## 获取网页标题并创建子目录
2. 根据用户输入的 [url] 获取 [标题] 部分,如果标题中有非法字符,则替换成空
3. 调用 [文件系统] 工具在 {base目录} 下创建 {标题} 子目录
## 获取网页内容
4. 调用 [网页获取] 工具,传入 {url} 参数,获取所有分块的总数 [chunks]
## 获取每个chunk原始内容的循环处理
5. 从第1个chunk开始,针对每个trunk,调用 [文件系统] 工具,在 {标题} 子目录下,创建文件 {i}_en.md
6. 调用 [获取特定的Markdown内容块] 工具,传入 {url} 和 {i},获得每个chunk块的内容并写入 {i}_en.md
7. 明确输出处理进度:“获取网页进度{i}/{chunks},请耐心等待”

那么,如果严格按照标准 SOP 的格式去编写系统提示词,是否也能达到 Skills 类似的效果呢?

答案是:不能!

在实际使用中,我们偶尔会发现,大模型并没有完全按照 Prompt 预设的 SOP 执行,有时会陷入逻辑混乱,执行顺序变得不可控。尤其在涉及循环或条件分支时,大模型可能会遗漏某个关键步骤,或者在循环未结束时,就错误地跳转到了下一个环节,最终导致整个任务失败。

当然,Skills 和 Prompt Engineering 的区别远不止于此。为了更清晰地展示,我将其核心区别总结如下:

维度 System Prompt (把 SOP 写在提示词里) Agent Skills (把 SOP 封装成 Skill)
加载方式 静态全量 动态按需
Token 消耗 高 (未用到的部分也在持续消耗上下文) 低 (只消耗 Skill 的元数据描述,具体内容用到时才加载)
可扩展性 (SOP 写得越长、越复杂,模型越容易糊涂和出错) 极强 (可以轻松挂载几十甚至上百个独立的 Skills)
维护性 困难 (一大坨文本难以修改、调试和版本管理) 容易 (独立文件,可使用 Git 进行版本控制,修改单个 Skill 不影响其他)
适用场景 通用人设、核心原则、简单的固定规则 复杂的 SOP、特定领域的专业流程、包含代码或详细指引的确定性任务
比喻 死记硬背: 考试前把整本教科书背下来。 开卷考试: 知道参考书叫什么、在哪,需要时精准翻查。

『Skills』VS『MCP』

遵守 MCP 协议开发的一系列 MCP Server,本质上只是工具(Tools),是原子化、无状态的能力提供者。

在我之前的教程中,通常会搭配一个 Agent 来使用这些 MCP Server,通过 Agent 的 Prompt 来决策:在什么场景下、去调用哪个 MCP 工具来完成特定任务。Skills 实际上承担了原先 Agent 中那部分复杂 Prompt 的职责,并且以更精确、高效和可控的方式来实现。

『Skills』VS『ReAct』

经典的 ReAct(Reasoning + Acting)框架依赖模型在每一轮交互中进行自省,动态地感知环境、规划和执行每一步动作。

Skills 本质上是在 ReAct 的循环中嵌入了“快速通道”或“预设程序”。当模型识别到当前复杂任务与某个已装备的 Skill 高度匹配时,它便不再需要反复进行耗时的“思考-规划”,而是直接进入预设的、确定性的执行流程中

『Skills』VS『智能体认知框架』

在 Google 的相关白皮书中,智能体的认知框架通常被划分为:模型(Model)、工具(Tools)、编排(Orchestration)、记忆(Memory)。

Skills 在这个认知框架中处于一个模糊但至关重要的交叉地带,它并不完全归属于任何一个既定的层级。

1. Skills 具备 Tools 的能力,但不完全属于 Tools
在白皮书中,Tools 通常指代为大模型与外界交互提供接口的媒介,包括信息获取、代码执行等,其特点是无状态的、原子化的
而 Skills 是有状态、有预设流程的,并且可以主动调用一个或多个 Tools,这就使其具备了编排层(Orchestration)的部分能力。

2. Skills 具备程序性记忆,而非知识性记忆
在白皮书的记忆体系中,记忆分为短期记忆(会话上下文)和长期记忆(向量数据库等),用于记录交互信息和用户偏好。
Skills 中封装的“如何做某事”的知识,更像是一种程序性记忆,它记录的是技能和流程,而非具体的事实或事件。

3. Skills 属于预定义的编排层
在白皮书描述的智能体行为中,Agent 需要根据环境反馈,通过 ReAct 或 CoT(思维链)进行迭代,不断重复“规划 -> 执行 -> 观察 -> 再规划...”的循环。所有的规划决策均由大模型根据实时情况动态生成。
Skills 则是静态的、预定义的规则集合,其执行流程已通过 SOP 提前固化,模型在此模式下严格按章办事。

总结来说:Skills 因其预设的 SOP 特性而带来了高度的确定性,但同时也牺牲了大模型动态感知环境、实时决策与进化的一部分能力。因此,Skills 有其特定的优势场景,尤其适用于那些重复性高、流程固定、要求结果一致的任务。
你可以将每一个 Skill 视为一个专注完成特定功能的、确定性的“子智能体”

Skills 的工作流程

Claude Agent Skills系统架构图

Skill 的标准处理流程如下:

  1. 当用户的请求触发某个 Skill 时,系统首先读取该 Skill 的核心指令文件(例如 SKILL.md),并将其内容带入模型的上下文窗口。
  2. 如果这些指令中引用了其他支持性文件(例如 FORMS.md 表单模板或数据库 Schema 说明),那么这些被引用的文件也会被按需读取。
  3. 当指令提及需要运行某个可执行脚本(如 Python 脚本)时,系统会直接执行该脚本,并且仅将脚本的运行结果(输出) 返回给模型,脚本的源代码本身永远不会进入上下文消耗 Token。

此架构带来的核心优势:

  • 按需文件访问: 仅读取当前特定任务所需的文件。一个 Skill 可以包含海量的参考文档和资源,但只有被指令明确引用的部分才会被加载,其余文件则安静地驻留在文件系统中,不产生任何成本。
  • 高效的脚本执行: 运行预写脚本的效率远高于要求大模型即时生成等效代码。由于脚本代码不进入上下文,这节省了大量 Token,并保证了执行结果的精确性。
  • 捆绑内容无实际限制: 鉴于文件在访问前不占用上下文,Skills 可以捆绑全面的 API 文档、大型数据集、广泛的代码示例或任何必要的参考资料。对于 Skill 内未使用的内容,没有额外的上下文成本。

Claude Skills 实战与展望

具体的 Claude Skills 创建和配置步骤,大家可以参考 Anthropic 的官方文档,按部就班地操作即可。

截至目前,Skills 仍是 Claude 模型原生支持的一项特色能力。然而,一旦我们理解了 Skills 的功能特性、设计原理与工作流程,将其思想迁移并复刻出一个适用于其他主流大模型的“通用版 Skills 框架”并非难事。这种将复杂 模型训练 与业务逻辑解耦的思路,正是现代 AI 工程化的重要方向。

希望本文对 Claude Agent Skills 的深度拆解,能帮助你更好地理解这项技术,并激发你在智能体开发中更多的创新思考。欢迎在 云栈社区 继续交流探讨相关技术实践。




上一篇:CSDN为何遭程序员集体反感?从商业化、内容质量到用户体验的六重困境
下一篇:深入Linux OOM Killer源码:解析5.10内核内存耗尽斩杀机制设计
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-24 02:48 , Processed in 0.449318 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表