AI 智能体核心组件:Tool、MCP 与 Skills 的区别、标准与协同架构

一、AI 智能体能力架构的演进背景

2024 年以来,AI 智能体从概念验证快速走向工程落地,工具调用(Tool Use)已成为各大模型的标配能力。然而在实际生产场景中,开发者很快发现:仅靠原子级别的工具调用,智能体很难完成真正复杂的业务任务。

随着 2024 年 11 月 Anthropic 推出 MCP(模型上下文协议),并在 2025 年 12 月将其捐赠给 Linux 基金会的 Agentic AI Foundation,MCP 迅速成为 AI 行业事实上的通用标准。与此同时,各大平台纷纷推出 Skills(技能)系统,解决了多工具编排和业务流程标准化的问题。

今天,MCP(通信底座)→ Tool(执行单元)→ Skills(业务流程) 已成为构建企业级 AI 智能体的标准三层架构。本文将深度解析这三个核心组件的定义、标准规范、技术实现及协同关系,并通过完整示例展示如何在实际项目中应用。

二、三大核心组件详解

2.1 Tool(工具):原子执行单元

核心定义

Tool 是 AI 智能体可调用的最小原子功能单元,只负责单一、独立的执行动作,无决策、无流程、无业务逻辑,仅接收参数、执行操作、返回结果。它是智能体与外部世界交互的"手脚"。

官方标准规范

Tool 遵循通用 LLM Function Calling 行业事实标准,这是所有主流大模型(OpenAI、Anthropic、Google、DeepSeek 等)都支持的基础规范:

  • 必须包含:唯一标识 (name)、功能描述 (description)、入参 JSON Schema、出参 JSON Schema

  • 设计原则:单一职责、无状态、幂等性、明确的错误返回

  • 调用方式:模型生成结构化 JSON 指令,由客户端执行并返回结果

技术实现示例
python 复制代码
# 标准Function Calling工具定义示例
def get_weather(city: str, date: str = "today") -> dict:
    """
    获取指定城市指定日期的天气信息
    
    Args:
        city: 城市名称,如"北京"、"上海"
        date: 查询日期,格式为"YYYY-MM-DD",默认为今天
    
    Returns:
        包含温度、天气状况、风力等信息的字典
    """
    # 实际调用天气API的代码
    return {
        "city": city,
        "date": date,
        "temperature": 25,
        "condition": "晴",
        "wind_speed": 3
    }

# 对应的JSON Schema定义(供大模型使用)
weather_tool_schema = {
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "获取指定城市指定日期的天气信息",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string",
                    "description": "城市名称,如'北京'、'上海'"
                },
                "date": {
                    "type": "string",
                    "description": "查询日期,格式为'YYYY-MM-DD',默认为今天"
                }
            },
            "required": ["city"]
        }
    }
}
典型应用场景
  • 文件读写操作

  • 数据库 SQL 查询

  • 第三方 API 调用(天气、地图、邮件等)

  • 数学计算与数据处理

  • 代码执行

2.2 MCP(Model Context Protocol,模型上下文协议):统一通信底座

核心定义

MCP 是 AI 与外部系统、工具之间的标准化通用通信协议,相当于 AI 领域的"USB-C 接口"。它只负责打通连接、传输数据、权限控制和上下文同步,不参与业务执行和流程编排。

官方标准规范

MCP 是Linux 基金会 Agentic AI 基金会管理的开源工业标准,基于 JSON-RPC 2.0 构建,最新版本为 2025 年 11 月发布的 v1.1:

  • 核心架构:采用客户端 - 服务器(Client-Server)模式

  • 三大核心能力

    1. Tools:可执行函数 / 操作

    2. Resources:AI 可访问的数据资源(文件、数据库记录等)

    3. Prompts:预定义的指令模板

  • 传输层支持:stdio(本地进程通信)、SSE/WebSocket(远程网络通信)

  • 安全机制:细粒度 RBAC 权限控制、零信任架构、用户显式授权

  • 2026 年新增特性:工具搜索(Tool Search)、延迟加载(Deferred Loading),解决了大量工具导致的上下文污染问题

技术架构图
典型 MCP 服务器示例
  • 本地文件系统 MCP 服务器

  • PostgreSQL 数据库 MCP 服务器

  • GitHub MCP 服务器

  • Notion / 飞书 / 钉钉 MCP 服务器

  • 浏览器控制 MCP 服务器

2.3 Skills(技能):业务流程封装单元

核心定义

Skills 是面向业务场景的可复用流程与规则包,用来定义"什么时候调用工具、调用哪些工具、按什么步骤执行、异常如何处理"。它是智能体的"业务操作手册",将原子工具组合成完整的业务能力。

标准规范

Skills 目前是主流 AI 平台统一实践规范(Claude/OpenAI/Gemini 通用),无底层强制协议,但形成了以下行业标准:

  • 标准文件结构:通常包含 [SKILL.md](SKILL.md)(说明文档)、scripts/(可执行脚本)、references/(参考资料)

  • 核心四要素

    1. 适用条件:什么场景下应该使用该技能

    2. 执行策略:完整的业务流程和步骤

    3. 终止条件:任务完成或失败的判断标准

    4. 可重用接口:标准化的输入输出格式

  • 加载机制:采用渐进式披露(Progressive Disclosure)策略,分为三级加载:

    • Level 1:元数据(名称、描述)- 始终加载

    • Level 2:说明文档 - 触发时加载

    • Level 3:资源与代码 - 按需加载

技术实现示例
markdown 复制代码
# 工作日志生成技能 (daily_log_skill)

## 适用条件
当用户要求生成工作日志、日报、周报时使用此技能

## 执行流程
1. 读取本地"工作文档"目录下当天的所有.md和.txt文件
2. 提取每个文档的标题、主要内容和完成时间
3. 按照"今日完成工作"、"遇到的问题"、"明日计划"三个部分整理内容
4. 调用markdown格式化工具生成标准格式的日志
5. 将生成的日志保存到"工作日志"目录下,命名为"YYYY-MM-DD-日志.md"

## 异常处理
- 如果没有找到当天的工作文档,提示用户并询问是否手动输入内容
- 如果文档读取失败,跳过该文档并记录错误信息
- 如果格式化失败,返回原始整理后的文本

## 依赖工具
- file_read:读取本地文件
- file_write:写入本地文件
- text_summarize:文本摘要整理
- markdown_format:Markdown格式化
典型应用场景
  • 自动生成各类报告(日报、周报、项目报告)

  • 代码审查与质量检查

  • 会议纪要整理与任务分配

  • 客户服务工单处理

  • 数据导入导出与转换

三、三者核心区别与层级关系

3.1 核心区别对比表

维度 Tool(工具) MCP(协议) Skills(技能)
核心定位 执行手脚(单一干活) 通信通道(打通连接) 业务方案(指挥干活)
核心标准 Function Calling 规范 Linux 基金会 MCP 开源协议 平台通用业务封装规范
是否含流程逻辑 有(多步骤、条件、规则)
是否含业务知识 有(领域知识、最佳实践)
复用范围 通用原子能力 全模型、全系统通用 特定业务场景复用
开发主体 工具开发者 协议实现者 业务开发者
更新频率 低(功能稳定) 低(标准迭代慢) 高(业务变化快)

3.2 完整架构与协同关系图

Plain 复制代码
┌─────────────────────────────────────────────────────────┐
│                     AI智能体 (Agent)                     │
│  任务理解 │ 计划制定 │ 决策执行 │ 结果整合 │ 记忆管理  │
└───────────────────────────┬─────────────────────────────┘
                            │
┌───────────────────────────▼─────────────────────────────┐
│                     Skills(技能层)                     │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐      │
│  │ 日志生成技能 │  │ 代码审查技能 │  │ 数据分析技能 │ ...  │
│  └─────────────┘  └─────────────┘  └─────────────┘      │
│  业务流程编排 │ 条件判断 │ 异常处理 │ 结果格式化    │
└───────────────────────────┬─────────────────────────────┘
                            │
┌───────────────────────────▼─────────────────────────────┐
│                      Tool(工具层)                      │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐     │
│  │ 文件读写 │  │ 网络搜索 │  │ SQL查询 │  │ 邮件发送 │ ... │
│  └─────────┘  └─────────┘  └─────────┘  └─────────┘     │
│  原子执行单元 │ 无状态 │ 单一职责 │ 标准化接口        │
└───────────────────────────┬─────────────────────────────┘
                            │
┌───────────────────────────▼─────────────────────────────┐
│                       MCP(协议层)                      │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐      │
│  │ 文件MCP服务 │  │ 数据库MCP服务│  │ 邮件MCP服务 │ ...  │
│  └─────────────┘  └─────────────┘  └─────────────┘      │
│  统一通信标准 │ 工具发现 │ 权限控制 │ 上下文同步    │
└───────────────────────────┬─────────────────────────────┘
                            │
┌───────────────────────────▼─────────────────────────────┐
│                    外部系统与资源                        │
│  文件系统 │ 数据库 │ 第三方API │ 云服务 │ 本地应用    │
└─────────────────────────────────────────────────────────┘

3.3 详细协同关系说明

三者是底层支撑→中层能力→上层业务的递进依赖关系,无竞争、强互补:

  1. MCP 是底层通信底座

    • 统一所有外部系统、工具的接入标准,解决"连得上"的问题

    • 提供工具发现机制,让 AI 智能体能够自动发现可用的能力

    • 处理权限控制、数据安全和上下文同步

    • 一次开发,所有支持 MCP 的模型和应用都能使用

  2. Tool 是执行载体

    • 通过 MCP 对外暴露原子能力,解决"能干什么" 的问题

    • 每个 Tool 只负责一个单一、明确的功能

    • Tool 本身不知道也不关心自己会被谁调用、在什么流程中调用

    • 可以被多个 Skills 重复使用

  3. Skills 是业务大脑

    • 基于 MCP 通道,编排多个 Tool,解决"怎么干、干得规范"的问题

    • 封装业务逻辑、领域知识和最佳实践

    • 处理多步骤流程、条件判断、循环迭代和异常恢复

    • 是企业业务能力的数字化载体

四、完整实战示例:项目周报自动生成系统

让我们通过一个真实的业务场景,完整展示 Tool、MCP、Skills 三者如何协同工作。

4.1 业务需求

AI 智能体自动完成以下任务:

  1. 从 Git 仓库拉取本周的代码提交记录

  2. 从 Jira 获取本周完成的任务和待解决的问题

  3. 从飞书获取本周的会议纪要

  4. 整合以上信息,生成标准格式的项目周报

  5. 将周报发送给项目组成员

4.2 MCP 层部署

首先部署三个 MCP 服务器,打通 AI 与外部系统的连接:

yaml 复制代码
# mcp-config.yaml - MCP服务器配置文件
servers:
  - name: git-mcp
    command: npx @modelcontextprotocol/server-git
    args: ["/path/to/project/repo"]
    
  - name: jira-mcp
    command: npx @modelcontextprotocol/server-jira
    env:
      JIRA_API_TOKEN: "your-api-token"
      JIRA_BASE_URL: "https://your-domain.atlassian.net"
      
  - name: feishu-mcp
    command: npx @modelcontextprotocol/server-feishu
    env:
      FEISHU_APP_ID: "your-app-id"
      FEISHU_APP_SECRET: "your-app-secret"

4.3 Tool 层加载

通过 MCP 通道,AI 智能体自动发现并加载以下原子工具:

工具名称 来源 MCP 功能描述
git_get_commits git-mcp 获取指定时间范围内的代码提交记录
jira_get_tasks jira-mcp 获取指定状态的 Jira 任务
feishu_get_meetings feishu-mcp 获取指定时间范围内的会议纪要
send_email 内置 发送电子邮件
text_summarize 内置 文本摘要整理
markdown_format 内置 Markdown 格式化

4.4 Skills 层开发

开发"项目周报生成技能",定义完整的业务流程:

markdown 复制代码
# 项目周报生成技能 (project_weekly_report_skill)

## 适用条件
当用户要求生成项目周报、项目进度报告时使用此技能

## 执行流程
1. 确定时间范围:默认为本周一至本周日,如果用户指定了其他时间范围则使用用户指定的
2. 调用git_get_commits工具获取本周的代码提交记录
3. 调用jira_get_tasks工具获取本周"已完成"和"进行中"的任务
4. 调用feishu_get_meetings工具获取本周的项目会议纪要
5. 调用text_summarize工具分别对代码提交、任务和会议纪要进行摘要整理
6. 按照以下结构生成周报:
   - 项目概述
   - 本周完成工作
     - 代码开发
     - 任务完成
   - 进行中的工作
   - 会议要点与决策
   - 问题与风险
   - 下周计划
7. 调用markdown_format工具将内容格式化为标准Markdown
8. 询问用户是否需要修改或补充内容
9. 如果用户确认无误,调用send_email工具将周报发送给项目组成员列表

## 异常处理
- 如果Git仓库访问失败,跳过代码提交部分并提示用户
- 如果Jira连接失败,跳过任务部分并提示用户
- 如果飞书连接失败,跳过会议纪要部分并提示用户
- 如果没有获取到任何数据,提示用户并询问是否手动输入内容

## 配置参数
- project_name: 项目名称
- team_members: 项目组成员邮箱列表
- default_time_range: 默认时间范围(本周)

4.5 完整执行流程时序图

Plain 复制代码
用户          Agent          Skills          MCP          外部系统
 │              │              │              │              │
 │ 生成项目周报 │              │              │              │
 │─────────────>│              │              │              │
 │              │ 触发周报技能 │              │              │
 │              │─────────────>│              │              │
 │              │              │ 获取代码提交 │              │
 │              │              │─────────────>│              │
 │              │              │              │─────────────>│
 │              │              │              │<─────────────│
 │              │              │<─────────────│              │
 │              │              │ 获取Jira任务 │              │
 │              │              │─────────────>│              │
 │              │              │              │─────────────>│
 │              │              │              │<─────────────│
 │              │              │<─────────────│              │
 │              │              │ 获取会议纪要 │              │
 │              │              │─────────────>│              │
 │              │              │              │─────────────>│
 │              │              │              │<─────────────│
 │              │              │<─────────────│              │
 │              │              │ 整理生成周报 │              │
 │              │              │─────────────│              │
 │              │              │ 发送邮件     │              │
 │              │              │─────────────>│              │
 │              │              │              │─────────────>│
 │              │              │              │<─────────────│
 │              │              │<─────────────│              │
 │              │ 返回周报结果 │              │              │
 │<─────────────│              │              │              │
 │              │              │              │              │

4.6 实际使用效果

用户只需要输入简单的指令:

Plain 复制代码
帮我生成本周的AI智能体项目周报,发送给张三、李四和王五

AI 智能体就会自动触发"项目周报生成技能",按照预设流程依次调用各个工具,完成所有任务,最终返回生成好的周报并发送邮件。

五、最佳实践与总结

5.1 最佳实践

  1. Tool 设计原则

    • 保持单一职责,一个 Tool 只做一件事

    • 设计为无状态,不保存会话信息

    • 提供明确的错误信息和返回格式

    • 尽量设计为幂等操作,避免重复执行带来的问题

  2. MCP 使用原则

    • 优先使用社区成熟的 MCP 服务器,避免重复开发

    • 严格控制权限,遵循最小权限原则

    • 对于敏感操作,要求用户显式授权

    • 合理使用工具搜索和延迟加载功能,优化上下文使用

  3. Skills 开发原则

    • 面向业务场景设计,而不是面向工具设计

    • 封装领域知识和最佳实践,提高执行的确定性

    • 完善异常处理机制,提高系统的鲁棒性

    • 采用渐进式披露策略,节省上下文 Token

5.2 一句话终极总结

MCP 是 AI 世界的通用接口规则,Tool 是可调用的干活工具,Skills 是指挥工具干活的业务流程。三者组合实现了 AI 智能体从"连接外部系统" 到 "落地复杂业务"的完整能力闭环,是构建企业级 AI 应用的标准架构。

随着 MCP 生态的不断成熟和 Skills 系统的不断完善,AI 智能体将能够处理越来越复杂的业务任务,真正成为企业数字化转型的核心驱动力。

相关推荐
The Open Group1 小时前
AI智能体时代,如何构建数字化架构以实现持续成功
大数据·人工智能·架构
Elastic 中国社区官方博客1 小时前
将 Logstash Pipeline 从 Azure Event Hubs 迁移到 OTel Collector Kafka Receiver
大数据·数据库·人工智能·分布式·elasticsearch·搜索引擎·kafka
johnny2331 小时前
AI Coding Agent:OMO、Goose、Ralph Wiggum、x-cmd、HolyClaude、Halo
agent
weixin_446260851 小时前
AI驱动的前沿前端技术栈深度解析:从模型能力到UI封装的完整生命周期
前端·人工智能·ui
坤岭1 小时前
企业级AI应用落地的三重架构与实战解析
人工智能·架构
新知图书1 小时前
会议音视频速读(使用千问)
人工智能·ai助手·千问·高效办公
Peter·Pan爱编程1 小时前
第十篇:Trae:字节跳动的国产 AI 原生 IDE 崛起与特色功能
ide·人工智能
程序边界1 小时前
凌晨两点半的数据库:一个DBA的踩坑全景实录
人工智能
网络工程小王1 小时前
【LangGraph的工作流编排能力】学习笔记
java·服务器·数据库·人工智能·langchain