背景:Agent 开发中的灵魂拷问

最近在社区里看到一个特别常见的困惑:MCP 和 Agent Skill 到底有什么区别?

说实话,我刚开始接触 Agent 开发的时候也晕了很久。

先讲个故事

想象你开了一家餐厅:

  • Skill 是菜谱:规定先切菜、再炒菜、最后装盘,流程定死了
  • MCP 是厨具:刀、锅、铲子,每个工具都知道怎么用,但不知道菜该怎么做

缺了 Skill,厨师拿着刀不知道先切什么;缺了 MCP,菜谱写得再详细也只能干瞪眼。

定义:MCP 和 Skill 的区别

MCP 是工具协议

MCP 是 Anthropic 提出的一个开放协议,定义了大模型和外部工具之间怎么通信。

{"name": "read_file", "description": "读取本地文件", "input_schema": {"type": "object", "properties": {"path": {"type": "string"}}, "required": ["path"]}}

MCP协议示意图

Agent Skill 是流程编排

Agent Skill 是更高层的抽象,定义了在什么场景下调用哪些工具,以及调用的先后顺序。

class CodeReviewSkill:
    async def execute(self, repo_path):
        code = await mcp_tools.read_file(repo_path)
        issues = await self.analyze_code(code)
        return self.format_report(issues)

Agent Skill 架构图

核心区别一览

维度 MCP Agent Skill
抽象层级 工具层 流程层
职责 做什么 怎么做
复用性 跨 Agent 通用 特定场景定制
复杂度 单一功能 多步骤编排

实战:用 OpenClaw 理解两者的协作

mcp_tools:
  - name: web_search
  - name: web_fetch
skill:
  name: research_report
  steps:
    - tool: web_search
    - tool: web_fetch
    - analyze: true

MCP与Skill协作图

常见误区

误区一:MCP 可以替代 Skill
不行。MCP 只是工具,没有流程编排能力。

误区二:Skill 可以替代 MCP
也不行。Skill 定义了流程,但执行每一步需要 MCP 提供的具体工具。

误区三:有了大模型就不需要 Skill 了
大模型确实能理解步骤,但每次输出质量不稳定。Skill 把流程固化下来,保证每次执行的质量一致。

总结

  • MCP = 工具能力:让 AI 能调用外部工具
  • Skill = 做事流程:编排工具调用顺序和逻辑
  • 两者是互补关系,实际开发中先定义 MCP 工具集,再编写 Skill 编排流程

有什么问题欢迎评论区留言讨论!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐