Skill 与 AgentAI 智能体时代的两大核心架构讲解

12 阅读15分钟

一、引言:为什么需要区分 Skill 和 Agent?

2024年末,Anthropic 推出了 MCP(Model Context Protocol),标准化了大模型连接外部工具与数据的方式;2025年10月,Anthropic 又推出了 Agent Skills,并在同年12月将其正式发布为开放标准。这两个概念的出现,标志着 AI 开发正从"手搓 Prompt"的草莽时代迈入"标准化封装"的工业时代。

然而,很多开发者在实践中常常混淆 Skill 和 Agent 这两个概念。它们看起来都是 Markdown 文件,都能指导 AI 完成任务,但本质上代表的是截然不同的架构理念。理解这一区别,是构建可扩展、可维护的 AI 系统的基石。

本文将从概念定义、架构设计、技术实现、应用场景、协作关系等多个维度,对 Skill 和 Agent 进行全面深入的对比分析,帮助你在实际项目中做出正确的架构选择。

二、概念定义:Skill 和 Agent 分别是什么?

2.1 什么是 Agent(智能体)?

Agent 是一个具有自主决策能力的 AI 实体。它拥有自己的系统提示(System Prompt)、工具访问权限、底层模型支撑,以及一个允许它编排工作流和管理状态的智能循环(Agentic Loop)。可以把 Agent 理解为一个"AI 员工"——它在特定的部门中工作,拥有自己的职责范围和决策权限。

Agent 的核心特征:

  • 自主性(Autonomy) :能够独立规划和执行任务,无需人类逐步指导
  • 状态管理(State Management) :拥有独立的工作记忆和上下文沙盒
  • 决策能力(Decision Making) :能根据当前状态选择下一步动作
  • 垂直专精(Vertical Specialization) :专注于特定领域,如调试、代码审查、客户服务等
  • 工具调用(Tool Invocation) :能主动调用外部工具和 API 来完成任务

2.2 什么是 Skill(技能)?

Skill 是一种模块化的、声明式的专业知识包。在物理形态上,它是一个包含 SKILL.md 文件的文件夹,里面封装了让 AI 完成特定类型任务所需的指令、脚本和资源。可以把 Skill 理解为一个"APP"或"岗位 SOP"——它是一套可复用的操作手册,任何 Agent 都可以按需加载使用。

Skill 的核心特征:

  • 模块化(Modularity) :独立封装,可在不同 Agent 和平台间复用
  • 声明式(Declarative) :描述"做什么"和"怎么做",而非"何时做"
  • 渐进式加载(Progressive Disclosure) :按需加载,优化上下文窗口使用
  • 水平通用(Horizontal Applicability) :跨领域、跨 Agent 通用的能力包
  • 可组合(Composable) :多个 Skill 可以灵活组合,适应不同场景需求

三、一个直觉类比:员工 vs 应用

理解 Skill 和 Agent 最好的方式,是把它们类比到我们熟悉的企业组织中:

维度Agent(智能体)Skill(技能)
类比角色企业中的员工员工使用的 APP / 工具
组织方式隶属于部门(HR、财务、研发)跨部门通用(Excel、Word)
工作方式主动思考、决策、执行被动调用,按规程执行
生命周期持续运行,维护状态按需加载,用完释放
核心价值决策与编排能力标准化与可复用的专业知识

换句话说:Agent 是"谁来做",Skill 是"怎么做" 。Agent 提供决策和编排的主体性,Skill 提供执行和知识的标准化。在一个成熟的 AI 系统中,两者缺一不可。

四、架构层面的深度对比

4.1 信息架构

Agent 和 Skill 在信息组织方式上有本质差异。Agent 的信息是"纵向深入"的——它需要深入理解特定领域的全部上下文,包括历史状态、当前任务、可用工具等。而 Skill 的信息是"横向扩展"的——它封装了某一类操作的标准化流程,不关心谁在调用它。

4.2 渐进式披露(Progressive Disclosure)

Skill 最具工程价值的特性之一是渐进式披露机制,这是解决上下文膨胀(Context Bloat)问题的关键:

加载层级内容Token 消耗触发条件
第一层仅加载技能名称和描述(元数据)约 20-50 tokens系统启动时自动加载
第二层加载完整 SKILL.md 指令< 5,000 tokensAgent 判定需要使用该技能时
第三层加载关联的脚本、文档等资源按需加载指令中引用到具体资源时

这意味着你可以给一个 Agent 装备上千个 Skill,但平时只占用极少的上下文空间。只有当任务真正需要某个 Skill 时,完整的指令才会被加载进来。这完美解决了长期以来困扰开发者的 Token 浪费和上下文干扰问题。

4.3 运行时行为对比

维度AgentSkill
调用方式自主启动,自我驱动被 Agent 或用户触发
执行模式循环推理 + 决策 + 执行按指令线性执行
状态管理维护完整会话状态无状态,执行完即释放
错误处理自主判断并调整策略依赖 Agent 进行异常处理
并行能力可协调多个子任务单一任务,线性执行
上下文消耗大量(全局状态 + 工具定义)极小(渐进式加载)

五、技术实现:SKILL.md 与 Agent 的文件结构

5.1 Skill 的文件结构

一个标准的 Skill 遵循 Agent Skills 开放规范(agentskills.io),其文件结构如下:

skill-name/
├── SKILL.md              # 必需:技能定义文件(YAML 元数据 + Markdown 指令)
└── Bundled Resources/    # 可选:附加资源
    ├── scripts/          # 可执行脚本(Python、Shell 等)
    ├── references/       # 参考文档(API 文档、规范等)
    └── assets/           # 输出资源(模板、图标、字体等)

SKILL.md 的核心结构示例:

---
name: my-skill
description: "技能描述——Agent 通过此描述判断是否加载该 Skill"
---

# 技能名称

## 概述
[技能的详细说明]

## 执行指南
1. 第一步操作
2. 第二步操作

## 示例
[提供具体示例]

SKILL.md 的核心由两部分组成:YAML 前置元数据(定义技能名称、描述、触发条件等)和 Markdown 正文(包含详细的执行指令、最佳实践、示例等)。description 字段是技能路由的关键——Agent 正是根据这个字段来判断当前任务是否需要加载该 Skill。

5.2 Agent 的配置

Agent 的配置通常更为复杂,包含系统提示、模型选择、工具列表、权限设置等。在 Claude Code 中,Agent 文件存放在 ~/.claude/agents/ 目录下,以 Markdown 格式编写,但其内容结构和职责与 Skill 有本质区别:

  • Agent 定义"我是谁、我的角色是什么、我有哪些权限"
  • Skill 定义"如何完成某一类具体任务"
  • Agent 引用和编排 Skill,而非反过来

六、Skill、Tool、MCP 三者的关系

很多开发者还会混淆 Skill 与 Tool(工具)和 MCP(模型上下文协议),下面厘清它们各自的定位:

概念本质核心作用类比
Tool(工具)可执行函数(有输入、输出、副作用)让 Agent "能做事"(执行动作)锤子、螺丝刀
Skill(技能)结构化知识包(指令 + 脚本 + 资源)让 Agent "会做事"(知道怎么做)操作手册、SOP
MCP(协议)标准化接口协议让 Agent "连得上"(安全访问外部系统)USB 接口
Agent(智能体)自主决策实体"谁来做"(编排一切)员工

它们之间的协作关系可以这样理解:Agent 作为决策主体,通过 MCP 协议安全地连接外部系统,调用 Tool 来执行具体操作,并依据 Skill 中封装的知识来决定"何时用什么工具、按什么流程执行"。

如果说 MCP 是 AI 时代的"USB 接口",那么 Skill 就是"通用驱动程序",而 Agent 则是"操作系统"。

七、协作模式:Agent 如何使用 Skill?

7.1 单 Agent + 多 Skill 模式

这是最常见的模式。一个 Agent 装配多个 Skill,根据任务类型自动选择合适的 Skill 来执行。例如,一个"全栈开发 Agent"可以同时拥有前端开发、API 设计、数据库迁移、代码审查等多个 Skill。运行时,Agent 根据用户请求判断需要哪个 Skill,按需加载并执行。

7.2 多 Agent + 共享 Skill 模式

在多 Agent 架构中,不同的 Agent 可以共享同一套 Skill 库。例如,"写作 Agent"和"编辑 Agent"可以共享"事实核查 Skill"——写作 Agent 在创作时调用它验证细节,编辑 Agent 在审校时同样可以使用。这种模式极大地提高了知识的复用率。

7.3 Skill 调用 Agent(嵌套模式)

在现代的智能体系统中,Skill 也可以反过来调用 Agent。例如,一个"Bug 修复 Skill"在被触发后,可能会启动三个不同的调试 Agent(静态分析 Agent、运行时调试 Agent、日志分析 Agent),让它们并行工作后汇总结果。这种嵌套模式让系统具备了更强的灵活性。

八、三级架构:Skill → Workflow → Agent

在更成熟的架构设计中,Skill、Workflow(工作流)和 Agent 构成了一个清晰的三级层次结构:

层级定义粒度示例
Skill领域知识容器最细粒度博客写作、安全审计、数据分析
WorkflowSkill 内的分步流程中等粒度创建文章、发布文章、SEO 优化
Agent独立执行者,编排 Skill最粗粒度工程师 Agent、研究员 Agent

Skill 是领域知识的"容器"(如博客、研究、安全),Workflow 是 Skill 内部的"步骤"(如创建、发布、部署),Agent 是并行执行的"工人"(如工程师、架构师、研究员)。Agent 调用 Skill,Skill 内部包含 Workflow,三者协同完成复杂任务。

九、应用场景对比:何时用 Agent,何时用 Skill?

9.1 适合用 Skill 的场景

  • 可重复的标准化任务:如生成特定格式的文档(Word、Excel、PDF、PPT),每次都需要相同的步骤和规范
  • 跨项目/跨团队的通用能力:如代码风格检查、事实核查、品牌规范应用等,不同团队都需要的通用操作
  • 需要精确控制输出的流程:如填写 PDF 表单、生成合规报告等,容错率极低的任务
  • 频繁使用的知识片段:如 API 文档参考、设计模式指南、最佳实践清单等
  • 需要上下文效率的场景:当 Agent 需要装备大量能力但不能让上下文膨胀时

9.2 适合用 Agent 的场景

  • 需要自主判断和决策的复杂任务:如代码调试(需要分析、假设、验证的循环过程)
  • 需要维护长期状态的交互:如客服对话(需要记住历史交互并持续跟进)
  • 需要协调多个子任务的工作流:如项目管理(涉及任务分解、优先级排序、资源分配)
  • 高度特化的领域专家角色:如"安全审计 Agent"、"数据科学家 Agent"等
  • 需要并行处理的场景:多个 Agent 同时处理不同子任务,提高效率

十、工程实践中的关键考量

10.1 上下文窗口管理

上下文窗口是 AI Agent 最稀缺的资源。2025年的大量研究表明,过载的上下文窗口会导致严重的推理失败。Skill 的渐进式加载机制是目前最有效的解决方案之一——运行时 Agent 仅看到 Skill 的元数据(名称和描述),只有在确定需要时才加载完整内容。这让 Skill 的数量可以事实上无上限地扩展,而不影响 Agent 的推理能力。

10.2 安全性

Tool 和 Skill 在安全面上有显著差异。Tool(尤其是通过 MCP 连接的外部工具)需要处理身份认证、权限控制和操作审计等安全问题。安全研究者已发现 MCP 存在一些基础性漏洞,包括"rug pull"(工具安装后定义发生变异)和"tool shadowing"(恶意服务器拦截对可信工具的调用)。Skill 作为基于 Prompt 的知识包,不具有直接的攻击面,但它们也无法在没有 Tool 的情况下执行任何实际操作。因此,企业部署中需要同时关注两个层面的安全治理。

10.3 可移植性与标准化

Agent Skills 已被 Anthropic 在2025年12月正式发布为开放标准。Cursor、OpenCode、Letta 等主流 AI 开发工具已宣布支持该标准。这意味着开发者编写一套 Skill,可以在所有支持该标准的平台上无缝运行,大幅降低了供应商锁定的风险。相比之下,Agent 的配置通常与特定平台深度绑定,可移植性较低。

10.4 测试与质量保障

Anthropic 推出了 Skill-Creator 插件,为 Skill 带来了类似于软件开发中单元测试和基准测试的能力。开发者可以对 Skill 进行定义评估查询、运行基准对比、甚至进行盲测(blind comparison)。这种工程化的测试体系,确保 Skill 不会在模型更新后"悄悄失效"。

十一、产业生态与合作伙伴

Agent Skills 开放标准的发布伴随着一个丰富的合作伙伴生态。Atlassian、Canva、Cloudflare、Figma、Notion、Ramp、Sentry 等头部企业已提供官方 Skill。例如,Atlassian 的 Skill 能让 Claude 把需求文档转化为 Jira 工单、自动生成状态报告、智能分发 Issue;Figma 的 Skill 则让 Claude 理解设计稿并生成代码。

对于企业管理者,Anthropic 还为 Team 和 Enterprise 版本提供了集中式管理控制台,管理员可以控制哪些 Skill 被分配给用户、哪些 Skill 默认启用,实现了企业级的治理能力。

十二、延伸:单 Agent vs 多 Agent 架构

在讨论 Skill 和 Agent 的关系时,还需要理解单 Agent 和多 Agent 架构的选型:

维度单 Agent 架构多 Agent 架构
推理方式集中式推理,一个 Agent 规划和执行所有步骤分布式推理,每个 Agent 专注自己的领域
复杂度简单,易于调试复杂,需要协调层
适用场景大多数常规任务需要多领域深度协作的复杂任务
Skill 使用一个 Agent 直接加载所需 Skill多个 Agent 共享 Skill 库
业界观点Cognition(Devin)推荐此模式企业级复杂场景首选

在实践中,大多数场景下使用一个装备了丰富 Skill 的单 Agent 就足够了。只有当任务确实需要多领域深度专家协作时,才考虑多 Agent 架构。过早引入多 Agent 往往会导致系统脆弱性增加。

十三、总结:架构决策框架

回到最初的问题:什么应该是 Agent,什么应该是 Skill?以下是一个实用的决策框架:

选择 Skill 当……选择 Agent 当……
任务有明确、可重复的步骤任务需要自主判断和动态决策
知识可以跨项目/跨团队复用需要维护复杂的运行时状态
需要优化上下文窗口的使用效率需要并行协调多个子任务
需要标准化输出质量和格式需要一个持续运行的专家角色
希望在多个平台间保持可移植性任务边界清晰,需要独立的权限和沙盒

最关键的一句话: Agent 和 Skill 不是非此即彼的选择,而是互补的架构组件。Agent 提供决策和编排的"大脑",Skill 提供执行和知识的"肌肉记忆"。最优的 AI 系统设计,是让合适的 Agent 在合适的时机调用合适的 Skill。

十四、未来展望

随着 Agent Skills 开放标准的不断成熟,我们可以预见以下趋势:

  • Skill 生态爆发:就像 MCP 推动了工具连接的标准化,Agent Skills 将推动"AI 知识"的标准化。未来将出现大量第三方 Skill 市场和社区共享平台
  • Agent 智能升级:Agent 将变得更擅长自主发现、评估和选择 Skill,甚至能动态组合多个 Skill 来应对前所未有的新任务
  • 企业级治理完善:更细粒度的权限控制、审计日志和合规能力将使 Agent+Skill 架构在受监管行业中大规模落地
  • 跨平台互操作:随着开放标准的采纳,Skill 将真正实现"编写一次,到处运行",打破供应商生态壁垒

AI 开发正在经历从"手工作坊"到"工业化生产"的转变。理解 Skill 和 Agent 的本质区别与协作关系,是每一位 AI 开发者和架构师都需要掌握的核心能力。希望这篇文章能帮助你在这场变革中找到正确的方向。

参考资料

  1. Anthropic, "Equipping agents for the real world with Agent Skills", 2025年12月
  2. The New Stack, "AI Agents or Skills? Why the Answer Is 'Both'", 2026年1月
  3. Arcade.dev, "Skills vs Tools for AI Agents: Production Guide", 2025年12月
  4. DEV Community, "MCP vs Agent Skills: Why They're Different, Not Competing", 2026年3月
  5. Daniel Miessler, "When to Use Claude Code Skills vs Workflows vs Agents"
  6. Builder.io, "Agent Skills vs. Rules vs. Commands", 2026年1月
  7. agentskills.io — Agent Skills 开放标准规范
  8. Claude Code 官方文档 — Skills 章节