阅读视图

发现新文章,点击刷新页面。

一次 Agent Skill 的实战体验,以及 MCP 和 Skill 的区别

本周通过一个小需求尝试了下 Agent Skill,效果还不错。

比如你要做一个网站,以前没装技能的时候,AI 生成的代码又是那个熟悉的:

蓝紫渐变色 + 千篇一律的布局 + 明显的 AI 审美(不同的模型,产生的结果不同)

而通过 Agent Skill 的形式,可以提前配置好:

  • 配色体系
  • 字体
  • 布局风格

当然,rules 和 prompt 也能做到这一点。
但 Agent Skill 的优势在于:把 Prompt 打包成一个文件夹,让 AI 按需读取和使用

虽然本质上没啥区别,都是 prompt,但 Skill 的形态更工程化、更灵活。

image.png

MCP 和 Skill:经常一起出现,但不是一回事

现在用 AI Agent 工具(Claude Code、Cursor)时,经常会遇到两个概念:

  • MCP
  • Skill

我觉得有必要区分清楚:两者各有侧重,是互补关系,而不是替代关系。

Anthropic 官方的说法:

MCP connects Claude to external services and data sources.
Skills provide procedural knowledge—instructions for how to complete specific tasks or workflows.

翻成一句话就是:

MCP 让 AI 能拿到数据,Skill 教 AI 怎么处理数据。

MCP 在做什么?

MCP 的三个核心组成:

  • Tools(工具)
  • Resources(资源)
  • Prompts(提示)

LLM(大语言模型)本身并不执行函数,在 Agent 架构中,通常是由规划层(Planner / System Prompt) 决定“要做什么”。

Function Calling 负责在推理过程中,表达模型想要调用某个工具的意图。MCP 构建在 Function Calling 之上,进一步规范工具的描述方式、发现机制与调用协议。可以理解为:

  • 规划层:决定做什么
  • Function Calling:表达要调用哪个工具
  • MCP:规范这个工具从哪里来、如何被发现、如何被调用

MCP 更关注的是:AI 与外部世界的连接能力

同时需要注意:

MCP 本身并不提供推理能力,
它解决的是连接与通信的标准化问题。
是否正确使用工具、如何组合工具,仍然取决于模型能力与上层 Agent 设计。

Skill 在做什么?

Skill 可以以文件夹(Prompt 资产)形式存在,里面包含:

  • 指令
  • 脚本
  • 资源

但 Skill 的价值并不在于“文件夹本身”,而在于:

这些 Prompt 资产能够被 Agent 识别、发现、加载和组合使用。

在架构层级上:Skill 是「提示 / 知识层」、MCP 是「集成层」

Skill 通常分三层加载:

  1. 元数据(始终加载)
  2. 核心指令(按需加载)
  3. 支持文件(按需加载)

它解决的是:如何把经验、规范、做事方法沉淀下来并复用

同时需要明确:

从能力本质上看,Skill 并不是新的模型能力,
而是对 Prompt 的工程化封装与组织升级
提升的是稳定性与可维护性,而不是智能本身的跃迁。

什么时候用 MCP?什么时候用 Skill?

  • 用 MCP
    • 获取外部数据
    • 调接口
    • 操作系统、文件、数据库
  • 用 Skill
    • 内部规范
    • 标准化实践经验
    • 固定工作方式
    • 代码风格 / 设计风格约束

网上也有人提到 Skill 可以用于指定工作流程,这块我还没有深入实践,后面有时间会再尝试。

一个对照式实战示例:同一个需求,不同方式怎么做?

假设现在有一个需求:从接口获取用户数据,并生成一个用户列表页面。

只用 Prompt

你可能会这样写:

请从接口 api.xxx.com/users 获取用户数据,并使用 Vue3 生成一个简洁风格的用户列表页面。

特点:

  • 每次都要重复写
  • 输出风格不稳定

因此,这种方式更适用于一次性需求。

使用 Skill 固化“页面生成方式”

创建一个 Skill,例如:

/frontend-ui-skill
  ├── metadata.json
  ├── instructions.md
  ├── style-guide.md

instructions.md:

所有页面使用:

  • 浅色背景
  • 中性色配色
  • 卡片式布局
  • Vue3 + Composition API

之后你只需要说:

生成用户列表页面

AI 会自动套用该 Skill 的规则。适用于前端规范化输出的场景。

使用 MCP 获取真实数据

通过 MCP 暴露一个工具:

getUsers()

你对 AI 说:

调用 getUsers

AI 会通过 MCP 获取接口数据。

MCP + Skill 组合

流程:

  1. MCP:调用 getUsers()
  2. Skill:规定页面结构和风格
  3. AI:生成页面代码

你只需要说:“生成用户列表页面”,背后完成了:

  • 拿数据
  • 套规范
  • 产出代码

一个更大的共性

不管是 MCP、Prompt 还是 Skill,本质目标都一致:

降低模型幻觉,提高稳定性,提高效率。

但也必须明确:

MCP、Prompt、Skill 都无法从根本上消除模型幻觉,
它们能做的是:降低出错概率、提高一致性、减少不确定性。

因此,完全脱离人工审核的流程化自动生成,在工程上仍然是不可靠的

它们更合理的定位是:

放大工程师能力的工具,而不是替代工程师。

❌