随着引入 Skills(技能),越来越多人对 Claude 的“智能体 (agentic) 生态系统”中各个组件如何协作很感兴趣。无论你是在构建 Claude Code 的复杂工作流、用 API 打造企业解决方案,还是在 Claude.ai 上最大化个人效率,知道什么时候该用什么工具都会极大地改变你与 Claude 的协作方式。
本指南将分解每个构建模块 (building block),解释何时使用,以及如何将它们组合起来,形成强大的代理工作流。
理解智能体的构建模块 (agentic building blocks)
什么是 Skills?
- Skills 是一个 文件夹,里面包含指令 (instructions)、脚本 (scripts) 和资源 (resources)。Claude 在遇到相关任务时,会动态地发现并加载这些内容。
- 可以把它们想象成 专门的训练手册 (training manual),让 Claude 在特定领域(例如:处理 Excel 表格,遵守公司品牌指南等)具备专业知识。
Skills 的工作机制:
- 当 Claude 收到任务时,它首先扫描现有的 Skills,寻找匹配的内容。
Skills 使用 渐进披露 (progressive disclosure) 的方式:
- 先加载 metadata(约 100 tokens),只提供足够的信息来判断这个 Skill 是否相关。
- 如果相关,再加载完整的指令 (instruction)(一般少于 5k tokens)。
- 如果 Skill 包含脚本或附加文件,则这些内容只有在真正需要时才载入。
- 这样设计可以避免 Claude 的 context window(上下文窗口)被技能内容完全“塞满”,提高效率。
何时使用 Skills:
当你想让 Claude 持续、一致 地执行某种“专门任务”时:
- 组织内部工作流程 (workflow):比如品牌指南 (brand guidelines)、合规 (compliance) 流程、文档模板。
- 专门领域知识 (domain expertise):例如复杂的 Excel 公式、PDF 操作、数据分析。
- 个人偏好 (personal preferences):笔记系统、编码风格、研究方法等。
示例:
你可以创建一个 “品牌指南 (brand guidelines)” 的 Skill,其中包含公司颜色方案 (color palette)、字体 (typography) 规则、页面布局规范等。以后每次让 Claude 制作文档或演示时,它就能自动按照这些公司标准来做,而不必你每次都重新说明。
什么是 Prompts(提示)?
- Prompts 是你在对话中,以自然语言 (natural language) 提供给 Claude 的指令。
- 它们是 短暂 (ephemeral) 的、对话式的、反应式 (reactive):你在当下给上下文、方向。
什么时候用 Prompts:
- 一次性请求 (one-off request):例如 “帮我总结这篇文章”
- 对话式润色 (conversational refinement):例如 “把语气变得更专业”
- 即时上下文 (immediate context):例如 “分析这些数据,找出趋势”
- 临时说明 (ad-hoc instructions):例如 “列成要点形式 (bulleted list)”
例子 (prompt):
“请对这段代码做全面安全审查,帮我找出:注入漏洞 (SQL / XSS /命令注入)、认证/授权问题、敏感数据暴露、安全配置错误、访问控制问题、加密失败、输入校验、错误处理和日志 … 每个问题请给出严重性 (Critical/High/Medium/Low)、出问题的位置 (行号或函数)、为什么是风险、具体修复建议 (最好给代码示例)、防御最佳实践……”
提示词 (prompts) 是你与 Claude 互动的主要方式,但它们 不会跨会话 (conversation) 保持。如果你经常重复某类提示 (prompt),你就应该考虑把这些提示封装成 Skill,或者放进项目 (Project) 的指令里。
什么是 Projects(项目)?
- 对于 Claude 的付费计划 (paid Claude 版本) 来说,Projects 是 自包含 (self-contained) 的工作空间 (workspace),有自己的聊天记录 (chat history) 和知识库 (knowledge base)。
- 每个 Project 有一个 200K 上下文窗口 (context window),你可以上传文档、提供背景上下文 (context)、设置对话指令 (custom instructions),这些对话指令将应用于该项目中的所有聊天。
Projects 如何运作:
- 你把相关文档 (比如报告、笔记、产品说明) 上传到项目知识库。
- Claude 在该项目下的所有对话都可以访问这些文档 -> 这样回答会更有信息、更准确。
- 如果项目知识库接近上下文限制 (200K token),Claude 会自动启用 检索增强生成 (Retrieval Augmented Generation, RAG) 模式,将上下文容量扩展 (据说可扩到 10 倍)。
何时使用 Projects:
- 当你需要 持续 (persistent) 的背景知识 来影响每次对话
- 当你想把不同initiative (项目) 分开管理 (分不同 Project)
- 团队协作 (Team / Enterprise 计划):共享知识库和对话历史
- 自定义指令 (custom instructions):为某个项目定义特定的语气 (tone)、视角 (perspective)、方法等
示例:
假设你建立一个 “Q4 产品发布 (Q4 Product Launch)” 的项目,上传市场研究、竞争分析、产品规格说明书等。然后你为这个项目写一句项目指令 (project instruction):
“分析竞争对手,从我们产品策略角度找差异化机会和市场趋势。给出有说服力的证据 + 可操作建议。”
这样无论你在该项目中开启多少个对话,Claude 都会基于这些上下文和指令来回答。
什么时候 不用 Skills 而用 Projects:
- 如果多个对话 / 代理 (agent) 都需要相同的能力 (比如代码安全审查、数据分析)——建议把这能力做成 Skill,而不是把它写在每个子代理或对话里重复。因为 Skills 是可移植 (Portable) 的,而 子代理 (subagents) 通常是为了特定工作流 (workflow) 定制的。
什么是 Subagents(子智能体)?
- Subagents (= 子智能体) 是具有自己上下文窗口 (context window)、定制系统提示 (custom system prompts)、特定工具权限 (tool permissions) 的专门 AI 助手。
- 它们在 Claude Code 里或用 Claude Agent SDK 时可用。子智能体可以独立处理任务,然后把结果返回给主 (main) 智能体。
subagents 如何运作:
- 你为子智能体定义:它是谁 (名字)、它能做什么 (描述)、它能用哪些工具 (Read, Write, Bash, Web 搜索等)。
- Claude 在适当的时候会把任务分配 (delegate) 给子智能体。例如,你可以创建一个 “代码审查 (code-reviewer)” 的子智能体,它有读 (Read)、搜索 (Grep) 工具,但不能写 (Write) 或编辑代码。然后,当需要审查时,主 Claude 自动让子智能体处理,降低主对话被打断或错误改写的风险。
何时使用 subagents:
- 任务专门化 (task specialization):如代码审查、测试生成、安全审计
- 管理上下文 (context):主对话保持干净,复杂工作丢给子代理
- 并行处理 (parallel):多个子智能体同时运行不同任务
- 限制工具权限 (tool restriction):某些子智能体可能只读,不写,保证安全
什么时候用 Skill 而不是 subagent:
- 如果多个对话或多个子智能体共享同一种专业知识 (如安全审查方法、数据分析标准),把它抽成 Skill 更好。这种专业知识是可复用的。
- 子智能体更适合为特定任务建立:它们是“专属员工 (specialized employees)”,而 Skill 是“通用教材 (portable expertise)”。
什么是 MCP (Model Context Protocol)?
- MCP 是一种 通用连接层 (universal connection layer),用于把 Claude 连接到你现有的工具和数据源 (内容库、数据库、CRM、开发环境等)。
- 这是一个 开放标准 (open standard),用于连接 AI 助手 (像 Claude) 与外部系统。
MCP 如何运作:
- 你搭建或使用一个 MCP 服务器 (MCP server),它暴露你的工具/数据 (例如 Google Drive, Slack, GitHub, 数据库等) 给 Claude。
- Claude (作为 MCP 客户端) 连接到这个服务器,从而访问 (读取、搜索) 这些数据,而不是每次都手动上传。
什么时候使用 MCP:
- 当你希望 Claude 访问外部数据 (比如 Google Drive 文档,GitHub 仓库,数据库等)
- 当你希望 Claude 使用你的业务工具 (CRM、项目管理平台等)
- 与开发环境集成 (本地文件、IDE、版本控制)
- 与自定义系统 (你公司内部专有系统) 集成
MCP vs Skill:
- MCP 是连接 (connectivity):让 Claude 能拿到数据或工具
- Skill 是教 Claude “怎样处理数据 / 根据程序做事 (procedural knowledge)”
- 它们可以配合使用:MCP 提供数据访问通道,而 Skill 定义你希望 Claude 用怎样的方法处理这些数据 (比如 “用 Excel 报表格式输出”、“查询数据库时先过滤…”)。
补充艾逗笔的观点(取自同名公众号):
MCP 从发布之初,定位就是 AI 应用与外部工具之间的连接器。
在互联网和移动互联网时代,API 是应用接入外部服务的标准方式,其背后是 HTTP 协议。
在 AI 互联网时代,Function Calling 是 AI 应用接入外部工具的主流方式,MCP 是基于 Function Calling 的标准化协议。
跟 HTTP 类比,MCP 应该是一个幕后的角色。
提供服务的厂商基于 MCP 开放能力(以前是开放 API)
接入服务的 AI 应用基于 MCP 挂载工具(以前是直接调用 API)
普通用户使用 AI 应用,不需要感知 MCP 的存在
Agent Skills 的工作原理是通过本地的提示词文档,指导 Agent 在什么情况下做什么事情,主要解决的是上下文管理的问题。
Agent Skills 可以通过 MCP 挂载外部工具,自身并不是连接器的角色,从这个角度来说,Agent Skills 与 MCP 不是单向的替代关系。
MCP 是原子能力的包裹器,外部工具的说明书。
模型的数量是有限的,能力的数量是无限的。
MCP 是原子能力的包裹器,每一个内置在 MCP 内的工具,都会有针对使用场景和参数格式的描述。
随着 MCP 生态的发展,越来越多的开发者用 MCP 包裹工具,每个工具的定义,相当于给调用的 API 写了一份使用文档。
Agent Skills 的定位是给 Agent 看的说明书,把能够 SOP 化的流程,做成给 Agent 调用的 Skills。对外部工具的调用,是流程的一部分,所以 Skills 可以按需挂载 MCP 包裹的工具。
MCP 给海量工具写说明书,广播给整个 AI 互联网;Agent Skills 给具体的流程写说明书,指导 Agent 完成特定任务。
从这一角度看,Agent Skills 是 MCP 的补充。
它们如何协同工作
真正强大的地方是当你组合使用这些构建模块 (building blocks):
- 每个模块都有明确分工 (distinct purpose),但协同起来能够打造 “智能体 (agentic) 工作流”。
- 接下来是一个 示例:搭建一个 “研究 (research) 智能体”。
示例流程 (Research Agent):
建立 Project
- 创建一个 “竞争情报 (Competitive Intelligence)” 的 Project
- 上传行业报告、市场分析、竞争对手文档、客户反馈等
- 给这个项目设定指令,例如:“分析竞争对手,找出差异化机会 + 市场趋势 + 推荐行动方案。”
通过 MCP 连接数据源
- 启用 MCP 服务器,比如 Google Drive (研究文档)、GitHub (开源库)、Web 搜索 (实时市场数据)
创建专用 Skills
- 比如一个 “competitive-analysis” Skill:包含你的公司 Google Drive 结构 (文档组织方式)、命名规范、搜索策略 (如何有效检索)、文件优先级 (最新 / 最关键) 等。
- 在 Skill 中还可以定义研究方法 (如何选文档、如何总结、如何引用)。
设定 Subagents (仅限 Claude Code / Agent SDK)
- 创建 “market-researcher” 子智能体:擅长市场趋势、分析行业报告 (工具可能是 Read、Grep、Web-search)
- 创建 “technical-analyst” 子智能体:专注技术架构、开源实现 (工具比如 Bash, Read, Grep)
激活你的研究智能体
当你对 Claude 说:“请分析我们前三个竞争对手的 AI 功能定位,并找出我们可以突破的空白” 时:
- Project 上下文 (背景知识) 加载
- MCP 连接启动 (从 Google Drive / GitHub 拉相关资料)
- 相关Skills 启动 (比如竞争分析 Skill)
- 子智能体 (market-researcher 和 technical-analyst) 各司其职做市场和技术分析
- 你用 prompt 进一步细化 (例如:“重点关注医疗行业客户”)
- 最终结果是:Claude 基于多源数据 + 结构化分析框架 + 特定技能 + 子智能体 + prompt 指令,给出完整、深入、有行动性的竞争分析。
常见问题 (FAQ)
Skills 是怎样工作的?
- Skills 使用 渐进披露 (progressive disclosure):Claude 首先看 metadata (概要) 判断是否相关,如果是,再加载完整内容。如果 Skill 包含脚本 / 附加文件,只在真正需要时载入。
- 这种设计可以让你拥有 很多 Skills,但不会一下子把整个上下文窗口 (context window) 塞爆。Claude 只在它真正需要的时候,加载对应部分。
Skills vs Subagents:什么时候分别用?
- 用 Skills:当你想让任何 Claude 实例 (任意对话) 都能加载某种能力 (expertise)。Skills 就像训练教材,让 Claude 在多个对话中复用这些专业能力。
- 用 Subagents:当你需要完整、独立的小助手 (agent) 来处理特定任务 (有自己的工具权限和上下文)。子代理就像专门员工,有自己的职责和边界。
- 两者结合使用:最强组合。比如,一个子智能体 (code-reviewer) 使用一个 Skill (安全审查标准),这样子智能体既能专注任务,也复用你的专业知识。
Skills vs Prompts:什么时候用哪一个?
- 用 Prompts:你想临时告诉 Claude 做什么,是即时上下文 (conversational) 操作。
- 用 Skills:当你经常重复某种类型任务,或者希望 Claude 自动识别并执行某种类型的任务 (不每次你都要手动写提示)。
- 结合使用:这是最自然的。Skills 提供基础方法论 / 专业能力,你用 Prompts 来提供具体的上下文和细节。
Skills vs Projects:什么时候分别使用?
- 用 Projects:当你有持续、结构化、背景丰富 (knowledge-rich) 的上下文 (比如一个长期项目),你需要 Claude 在这个背景下工作。
- 用 Skills:当你需要 Claude 执行某种可复用、专业化的操作 (procedural tasks) 并且希望这种能力在多个项目 /对话中都可以用。
- 组合使用:例如,你可以有一个 “产品开发” 项目 (存放产品规格 + 市场调研),再配合一些 Skills (比如技术文档写作 Skill、用户反馈分析 Skill) 来系统化你的工作流。