2024年到2026年,如果你关注AI领域,一定被这几个词轰炸过:Agent、MCP、Skills、Function Calling、Tool Use……

每个词单独出现时,你大概都能猜个七八分。但当它们一起出现时,问题就来了——Agent和MCP是什么关系?Skills和Tools有什么区别?Function Calling又是哪一层的概念?

这篇文章不堆术语、不贴代码,就用最直白的工程思维,帮你把这几个概念的关系一次理清楚。读完之后,你至少能在技术讨论里准确使用这些词,并在选型时知道自己在选什么。

一、Agent(智能体):不只是会聊天的AI

先从一个最基础的问题开始:Agent到底是什么?

如果你把ChatGPT、Claude这些对话模型当成"Agent",那你的理解还差一层。它们本质上是大语言模型(LLM),擅长的是"理解你说什么,然后生成一段合理的回复"。但真正的Agent,比这要复杂得多。

Agent的核心定义是:一个有目标、能规划、能调用工具的自主系统。

举个例子。你问ChatGPT"帮我订一张明天从北京去上海的机票",它会告诉你"你可以去携程、飞猪上搜索"。但一个真正的Travel Agent(旅行智能体)会怎么做?

它会自己打开订票网站,查询明天的航班,比较价格和时间,甚至根据你的偏好(比如你喜欢早班机)筛选出最优选项,然后问你"这趟CA1501怎么样?"如果你同意,它甚至能帮你填好乘客信息、选好座位。

这就是Agent和Chatbot的本质区别:

  • Chatbot(聊天机器人):你说一句,它回一句。被动应答,没有目标感。
  • Assistant(助手):能执行你明确指定的任务,比如"设一个明天早上8点的闹钟"。但它不会主动思考"你明天要开会,是不是应该再设一个7点半的起床闹钟"。
  • Agent(智能体):你给它一个目标("帮我安排一次上海出差"),它会自己拆解任务调用工具处理异常,最终交付结果

Agent通常具备三个核心特征:

  1. 自主性(Autonomy):不需要人类一步步指挥,自己能决定下一步做什么。
  2. 规划能力(Planning):能把一个大目标拆解成多个子任务,并按优先级排序。
  3. 工具调用(Tool Use):能使用外部工具(查天气、发邮件、操作数据库)来完成任务。

简单记忆:Chatbot动嘴,Assistant动手,Agent动脑+动手。

二、MCP(Model Context Protocol):Agent的"USB-C接口"

理解了Agent,下一个问题来了:Agent怎么和外部世界交互?

在MCP出现之前,如果你想让Agent发一封邮件,你需要专门写一个"邮件发送模块",让Agent调用。想让它查日历,再写一个"日历查询模块"。每个工具都要单独对接,每个对接都要写不同的代码、处理不同的认证方式、解析不同的返回格式。

这就好比你有一台笔记本电脑,但每个外接设备(鼠标、键盘、显示器)都用不同的接口——有的是圆口、有的是方口、有的是专用口。每次接新设备,你都要买一根转接线。

MCP就是来解决这个问题的。

MCP全称Model Context Protocol(模型上下文协议),是由Anthropic在2024年底提出并开源的一套标准协议。它的核心思想很简单:给AI和外部工具之间定义一个统一的通信标准。

用类比来说,MCP就像是AI世界的USB-C接口。以前每个工具厂商都有自己的私有协议,现在大家都按MCP标准来实现,Agent就能"即插即用"地连接任何MCP兼容的工具。

MCP的架构由两部分组成:

  • MCP Client(客户端):运行在Agent这一侧,负责发现和管理可用的MCP Server。
  • MCP Server(服务端):运行在外部工具这一侧,负责把工具的原始能力封装成MCP标准格式暴露给Agent。

MCP和传统的API有什么区别?API通常是"单向请求"——你发一个请求,它返回一个结果。而MCP是双向的,它不仅支持工具调用,还支持:

  • Resources(资源读取):让Agent读取外部系统的数据(比如读取你的日历事件)。
  • Tools(工具调用):让Agent执行外部操作(比如发送邮件、创建文档)。
  • Prompts(提示模板):预定义的提示词模板,帮助Agent更好地使用某个工具。

这意味着,一旦某个服务接入了MCP,任何支持MCP的Agent都能无缝使用它,无需额外开发适配层。

三、Skills、Tools、Functions:Agent的"能力积木"

现在Agent有了,MCP也有了,但Agent具体能做什么,还得看它手里有什么"工具"。这就引出了另外三个容易混淆的概念:Function Calling、Tools、Skills。

Function Calling(函数调用)

这是大语言模型最底层的能力。你可以把它理解为LLM的"手"——模型通过分析你的请求,判断"现在我需要调用哪个函数来完成这个任务"。

比如你说"北京今天天气怎么样",模型会意识到"我需要调用天气查询函数",然后输出一个结构化的调用请求(比如{"function": "get_weather", "args": {"city": "北京"}})。

Function Calling是LLM原生的机制,几乎所有主流模型(GPT-4、Claude、Gemini)都支持。但它本身并不定义"函数具体做什么",只负责"决定调用哪个函数"。

Tools(工具)

Tools是Function Calling的"具体实现"。一个Tool就是一个可被Agent调用的具体功能,通常包含三部分:

  • 名称和描述:让Agent知道这个Tool是干什么的。
  • 输入参数:告诉Agent调用时需要提供什么信息。
  • 执行逻辑:Tool背后的实际代码,比如调用天气API、读写文件、发送HTTP请求。

一个Agent通常会配备多个Tools,比如"搜索工具""文件读取工具""代码执行工具"等。Agent通过Function Calling机制来决定在什么时候调用哪个Tool。

Skills(技能)

Skills是更高一层的封装。如果说Tool是"单个功能",那Skill就是"一组相关功能的组合包"。

举个例子:一个"邮件助手Skill"可能包含三个Tools——"读取收件箱""搜索联系人""发送邮件"。这三个Tool单独存在时只是零散的功能,但打包成一个Skill后,Agent就能理解"这是一套处理邮件的能力",并在合适的时候整体调用。

在很多AI平台(比如QoderWork、Coze、Dify)里,Skills还包含了额外的上下文信息——比如这个Skill适合在什么场景使用、需要什么前置条件、有哪些使用示例。这让Agent的决策更加智能。

三者的关系可以概括为:Skills ⊃ Tools ⊃ Function Calling。

  • Function Calling是"调用机制"(模型决定干什么)。
  • Tools是"具体功能"(实际执行的操作)。
  • Skills是"能力封装"(一组相关Tools的打包+上下文)。

四、一张图看懂:它们是怎么协作的

好了,现在我们把所有概念放在一起,看看一个完整的Agent系统是怎么工作的。

想象这样一个场景:你对Agent说"帮我整理一下本周的工作周报"。

整个流程大概是:

  1. Agent(大脑)接收目标,开始规划:"要生成周报,我需要先获取本周的工作数据。"
  2. Agent通过MCP Client发现可用的MCP Server:"这里有邮件Server、GitHub Server、文档Server。"
  3. Agent调用"读取邮件Skill",通过MCP从邮件Server获取本周的重要邮件。
  4. Agent调用"代码分析Skill",通过MCP从GitHub Server获取本周的提交记录。
  5. Agent调用"文档生成Skill",把收集到的信息整合成一份周报。
  6. Agent把周报呈现给你,并询问"需要我发到团队群里吗?"

在这个链路中:

  • Agent是决策者,负责理解目标、拆解任务、调度资源。
  • MCP是连接层,负责让Agent和外部世界说同一种"语言"。
  • Skills/Tools是执行层,负责完成具体的操作。

三者缺一不可:没有Agent,只是一堆零散的工具;没有MCP,Agent每接一个新工具都要重新开发;没有Skills/Tools,Agent就是"光杆司令",什么都干不了。

用人体来类比可能更直观:Agent是大脑,MCP是神经接口,Skills是肌肉群,Tools是具体的肌肉纤维。

五、现实中的例子

概念讲完了,让我们用一个更贴近生活的例子把它们串起来。

例子:用AI Agent帮你安排一次周末出行

你的输入:"这周末我想去杭州玩两天,帮我安排一下。"

Agent的思考过程

"用户要去杭州玩两天。我需要:1)查交通方式;2)查景点推荐;3)查酒店;4)考虑天气;5)生成一个行程表。"

Agent通过MCP连接外部服务

  • 高铁购票平台(MCP Server)→ "查一下周六早上北京到杭州的高铁"
  • 地图/旅游平台(MCP Server)→ "推荐杭州必去景点"
  • 酒店预订平台(MCP Server)→ "西湖附近评分高的酒店"
  • 天气服务(MCP Server)→ "杭州周末天气预报"

Agent调用Skills完成具体任务

  • "交通查询Skill" → 找到合适的高铁班次
  • "景点推荐Skill" → 列出西湖、灵隐寺、宋城等选项
  • "酒店预订Skill" → 筛选出3家备选酒店
  • "天气查询Skill" → 发现周六有雨,建议调整行程

Agent整合输出

"帮你安排好了:周六早上坐G31次高铁(8:00出发),住西湖边的XX酒店。周六下午逛西湖,但预报有雨,记得带伞。周日去灵隐寺,下午返程。酒店和车票的链接我发给你了,需要我帮你下单吗?"

看到了吗?在这个例子里,Agent是那个"统筹一切"的角色,MCP是"连接各种平台"的桥梁,Skills/Tools是"完成每个具体动作"的执行者。

结语

让我们用一句话总结这几个概念的关系:

Agent是决策者,MCP是连接器,Skills和Tools是执行者。

  • 没有Agent,MCP和Skills只是闲置的管道和功能。
  • 没有MCP,Agent每扩展一个新能力都要重新造轮子。
  • 没有Skills/Tools,Agent再有脑子也什么都做不了。

2025年开始,Agent生态正在以惊人的速度成熟。MCP已经成为事实上的标准协议,各大平台都在接入;Skills市场正在涌现,像应用商店一样让Agent的能力可以无限扩展。

如果你现在对这些概念还感到困惑,完全正常——因为这个领域本身就在快速演化中。但至少读完这篇文章后,你应该能在下次听到"我们基于MCP构建了一个Agent,集成了XX Skill"时,清晰地知道对方在说什么。

后续我在这个专栏中也会继续深度拆解当下热门的AI概念和实践,如果你感兴趣,记得关注更新。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐