title: Skill、MCP 与 Tool:AI 的三种"动手"方式

author: 墨问手记

💡 摘要:Skill、MCP 和 Tool 调用是 AI 应用开发中的三种核心技术,分别解决了"做什么"、"如何连"和"如何调"三个层面的问题。理解它们的区别,才能构建高效的 AI 系统。

引言

在 AI 应用开发中,让模型"动手做事"是核心需求。你可能会遇到三个术语:Tool 调用MCPSkill

很多人分不清它们的关系,其实它们解决的是完全不同层面的问题:

  • Tool 调用:让模型能发出"动手"的指令
  • MCP:提供标准化的连接方式
  • Skill:告诉模型"怎么做"

理解这三者的区别,就像理解:

  • 手(Tool):能执行动作
  • USB 接口(MCP):连接外部设备
  • 操作手册(Skill):知道怎么用设备

核心概念

1. Tool 调用:AI 的"神经指令"

Tool 调用(也称 Function Calling)是最基础的能力,让大模型能够输出结构化的工具调用指令。

工作方式

用户提问 → 模型决定调用工具 → 输出 JSON 格式指令 → 执行工具 → 返回结果

特点

  • 直接且高效,是 AI 应用实现"行动"能力的基础
  • 但强绑定具体实现,修改成本高

2. MCP 协议:AI 的"USB-C"接口

MCP(Model Context Protocol)是一套标准化的通信接口,为 AI 生态定义了统一的"连接标准"。

工作方式

AI 应用(客户端)←→ MCP 协议 ←→ 工具服务(服务器)

特点

  • 一次接入,处处可用
  • 跨平台复用,降低长期维护成本
  • 权限、审计等安全机制在协议层统一管理

3. Skill 协议:AI 的"岗位说明书"

Skill 是模块化的能力封装标准,定义了 AI 在特定场景下该"怎么做"。

工作方式

任务需求 → 加载对应 Skill → 按 SOP 执行 → 完成任务

特点

  • 极轻量级(核心是 Markdown 文件)
  • 易于创建和修改
  • 适合固化领域知识和业务规则

核心对比

一张表看懂区别

维度 Tool 调用 MCP 协议 Skill 协议
核心定位 调用机制 连接协议 能力与流程封装
比喻理解 神经指令 USB-C 接口 岗位说明书/SOP
设计哲学 模型原生 标准化与解耦 流程化与声明式
开发维护 绑定具体实现 一次接入,处处可用 极轻量级(Markdown)
交互模式 同步请求-响应 客户端-服务器 声明式加载

直观类比

技术 类比 作用
Tool 调用 人的手 执行具体动作
MCP USB 接口 连接外部设备
Skill 操作手册 指导如何使用

代码示例

Tool 调用示例

# 工具定义
tools = [{
    "type": "function",
    "function": {
        "name": "search_flight",
        "description": "查询航班信息",
        "parameters": {
            "from": {"type": "string"},
            "to": {"type": "string"},
            "date": {"type": "string"}
        }
    }
}]

# 模型输出调用指令
response = llm.invoke(
    "帮我查明天去北京的航班",
    tools=tools
)

# 解析并执行
if response.tool_calls:
    call = response.tool_calls[0]
    result = search_flight(**call.args)

MCP 客户端调用示例

from mcp_client import MCP

# 连接 MCP 服务器
mcp = MCP("http://localhost:8080")

# 发现可用工具
tools = mcp.list_tools()
print(f"可用工具: {[t.name for t in tools]}")

# 调用工具
result = mcp.call_tool(
    tool_name="search_flight",
    arguments={"from": "上海", "to": "北京", "date": "2024-01-15"}
)

适用场景

何时选择 Tool 调用?

场景 示例
简单、确定性操作 查询天气、计算器、简单 API 调用
环境单一,不需要跨平台 内部工具、一次性任务

何时选择 MCP?

场景 示例
为多个应用提供统一工具集 企业级工具平台、跨团队共享
需要标准化接口 数据库查询、GitHub 操作
需要统一安全管理 权限控制、审计日志

何时选择 Skill?

场景 示例
固化业务流程 代码审查标准、报告生成流程
注入领域知识 医疗诊断步骤、法律合规检查
复杂多步骤任务 数据分析流程、文档处理

协同工作

在实际应用中,这三者通常协同工作:

用户请求 → Skill(规划)→ MCP(连接)→ Tool(执行)→ 返回结果

示例:用户要求"分析销售数据并生成报告"

  1. Skill:提供数据分析的 SOP(步骤指南)
  2. MCP:连接数据库和图表工具
  3. Tool:执行 SQL 查询和图表生成

最佳实践

  1. 简单任务用 Tool 调用:直接高效,适合一次性操作
  2. 多平台工具用 MCP:标准化接入,降低维护成本
  3. 复杂流程用 Skill:封装知识,便于迭代和共享
  4. 组合使用:Skill 做规划,MCP 做连接,Tool 做执行

总结

核心要点回顾:

  • Tool 调用:最基础的指令通道,让模型能"动手"
  • MCP:标准化连接协议,像 USB 接口一样通用
  • Skill:封装流程和知识,像操作手册一样指导
  • 三者协同工作,构建完整的 AI 能力体系

理解这三者的区别,能帮你在构建 AI 应用时做出正确的技术选择。


Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐