上一篇 下一篇 分享链接 返回 返回顶部

揭秘上下文工程+MCP:打造高效AI智能体的秘诀-双翼鸟数据开发者社区-双翼鸟数据

发布人:admin 发布时间:6小时前 阅读量:7

本文较长,建议点赞收藏,以免遗失。

 

随着MCP的兴起,作为大模型工具调用的“万能接口”,不少开发者误以为大模型需要“理解”MCP,今天我就系统的来跟大家聊聊模型上下文协议(MCP)与工具调用的关系。希望能帮助到大家,欢迎指正交流。

一、MCP 是什么?大模型其实根本不用懂

模型上下文协议(MCP)如今已成为构建AI智能体时“工具调用”的标准配置。但很多人误解了一点:你的大语言模型(LLM)并不需要理解MCP是什么。

我们经常听到“上下文工程”这个词:简单来说,就是在与大模型交互的过程中,我们需要为它提供有用的背景信息,以帮助它更好地回答问题。而收集这些背景信息往往需要借助“工具调用”,使大模型能够调用各类工具获取数据或执行操作。

如果你对上下文工程不是很清晰,我之前也整理过关于Agent上下文工程的工作原理,建议粉丝朋友自行查阅,以便更好的理解本文的分享内容:《图解Agent上下文工程,小白都能看懂》

MCP 的作用,其实是帮助AI智能体“标准化”这些工具的连接方式。但对大模型来说,“普通工具调用”和“基于MCP的工具调用”并没有区别:它只识别“工具列表”(例如工具名称、所需参数),至于背后是MCP还是其他机制,它既不知道,也不关心——而这其实是一件好事。

使用MCP,你可以直接接入成千上万的工具,无需为每个工具编写专属的对接代码。构建一个完整的工具调用循环(如:用户提问→调用工具→返回结果→生成回答)会变得非常高效,几乎不需要额外的开发时间。请务必记住:​​调用工具的责任在开发者,大模型只负责生成“应当调用什么工具、传递哪些参数”的文本片段​​。

接下来,我将详细拆解三个关键问题:工具调用的实际机制、MCP的真实作用,以及它们与“上下文工程”之间的关系。

 

二、工具调用:大模型只生成指令,不执行操作

大模型能够理解“工具调用”的概念(有时也称为“工具使用”或“函数调用”)。你只需将“工具列表”作为提示词的一部分传递给模型,每个工具需要明确名称、描述和参数定义。大模型会根据用户的问题和可用工具,生成相应的调用指令。

但有一点非常关键:​​大模型并不会真正“使用”工具​​。它没有原生执行工具的能力,仅仅是生成一段结构化的调用文本。

我们来看一个典型的工具调用流程中模型的输入与输出:

输入(给大模型的内容)

输出(大模型生成的内容)

1. 指令(例如“帮助用户解答问题,必要时调用工具”)

1. AI回复(可能包含工具调用请求)

2. 用户问题(如“旧金山天气如何?”)

2. 若需调用工具:标注工具ID、名称及参数

3. 工具列表(名称、描述、参数结构)

 

从流程中可以看出,大模型所“看到”的实际上全部是文本信息:指令、对话历史、工具定义。它所生成的工具调用指令,也只是一段文本预测的结果,并不代表它真正“理解”了这个工具。

举一个实际例子:

假设你提供了一个名为 get_weather的工具,参数为 location,然后提问:“加州圣何塞的天气怎么样?”

大模型可能生成如下内容:

代码语言:javascript
代码运行次数:0
运行
复制
{
  "name": "get_weather",
  "input": {
    "location": "San Jose, CA"
  }
}

模型能生成这样的内容,完全依赖于你提供的工具列表和问题上下文。但它并不知道如何实际执行 get_weather,也不需要知道。

真正执行工具的是你开发的AI智能体程序:它解析模型生成的工具名称和参数,调用真实API或函数,获取结果(如“温度 86 华氏度”)后,再将结果作为新消息传递给大模型。

完整的工具调用流程中,大模型仅参与第二步:

  1. 智能体程序传入工具列表 + 用户问题(如“工具:get_weather(location);问题:圣何塞天气?”)
  2. 大模型生成工具调用指令(如“调用get_weather,参数San Jose, CA”)
  3. 智能体程序执行调用(如查询天气API),获得结果(如 {“temperature”: 86})
  4. 智能体程序将“对话历史 + 工具结果”传回大模型
  5. 大模型生成最终回答(如“圣何塞现在 86 华氏度”)

这种明确的分工非常关键:大模型只负责文本预测,实际执行依靠AI系统。理解这一点,才能把握MCP的真正定位。

 

三、MCP:开发者的“工具万能接口”

模型上下文协议(MCP)的本质,是一种标准化方法,用于帮助AI智能体连接多种数据源,包括工具、提示语、资源、示例等。目前MCP最常用的场景是简化工具对接:无需为每个工具定制数据格式和通信方式,MCP提供统一的接口规范。你可以将其类比为工具界的“USB-C接口”——只要工具支持MCP,就可以通过同一套接口接入你的智能体。

通常,MCP包含三个核心部分:

  • 宿主应用(如聊天软件、代码编辑器Cursor)
  • MCP客户端(集成在宿主中的连接器)
  • 一个或多个MCP服务端(提供工具、资源等的“仓库”)

但关键在于:​​你与大模型之间的交互方式完全没有改变​​。变化的只是“工具如何呈现在模型面前”:你的智能体程序先与MCP客户端通信,客户端请求MCP服务端获取工具定义,再转换成模型可识别的格式(如工具名称+参数列表)。

 

即使在引入MCP后,查询天气的流程在模型看来也没有任何变化:

  1. MCP服务端向客户端提供工具定义(如“MCP_get_weather(location)”)
  2. 智能体程序将工具列表+用户问题传给模型(模型看到的仍是“get_weather(location)”)
  3. 大模型生成调用指令(如“调用MCP_get_weather,参数San Jose, CA”)
  4. 智能体程序通过MCP客户端调用服务端工具,执行查询,获得结果
  5. 智能体将结果传回模型,模型生成最终回答

可以看出,对大模型而言,它接收到的工具列表、生成的调用指令,与没有MCP时并无区别。MCP带来的所有好处都是面向开发者的:

  • 当智能体需要集成多种工具时,无需处理不同格式的兼容问题;
  • 工具可在不同项目中复用,避免重复开发;
  • 新增工具或系统时,不需要重构整个智能体架构。

除非你刻意在工具列表或系统指令中告知大模型“我们正在使用MCP”,否则它始终不会感知到MCP的存在——因为它只负责生成调用指令,实际调用仍由开发者控制。

 

四、回归上下文工程:MCP是来帮你减负的

“上下文工程”的核心在于为模型提供高质量的背景信息,以引导其生成更准确的回复。工具调用在此过程中起到关键作用:当模型缺乏必要信息(如实时数据、用户信息)时,通过工具获取数据并补充给模型。

但必须再次强调:​​大模型不需要知道工具“如何工作”,只需知道“有什么工具、它能做什么、需要什么参数”​​。

这是“上下文工程”与“工具设计”的结合点:我们需要将工具列表以模型可理解的方式组织成提示词的一部分。而MCP,正是简化这一过程的工具。

是否使用MCP,并不影响模型所接收到的内容:

不使用MCP

使用MCP

1. 手动编写“get_weather(location)”工具定义并传模型

1. MCP服务端提供“MCP_get_weather”工具,经客户端转接

2. 模型生成“调用get_weather,参数San Jose, CA”

2. 模型接收到工具定义,生成相同指令

3. 手动编写代码调用天气API

3. MCP客户端自动调用服务端工具,返回结果

4. 将结果传回模型,生成回答

4. 将结果传回模型,生成回答

模型始终不知道“MCP服务端”“MCP客户端”的存在,它只关心工具列表是否清晰、参数是否完备。MCP的价值在于节省开发者“手动对接工具、维护工具格式”的时间,让我们能更专注于上下文工程本身——例如如何设计工具列表,使模型更易理解与使用。

ps:由于文章篇幅有限,关于MCP客户端与服务端交互流程、MCP 的 Sampling(采样)以及MCP编程实战 我之前有整理过一个5W字的付费技术文档,我的粉丝朋友可以免费领取查阅:《 MCP 技术详解》

 

五、总结:MCP是开发者的利器,不是模型的必需品

大模型自始至终都无需理解MCP,它只负责依据你提供的工具列表生成调用指令。MCP真正服务的是开发者——通过标准化工具对接,使我们能够更高效地构建可靠、可复用的AI智能体,避免重复造轮子。

因此,请不要复杂化MCP:使用它不是为了让模型更强大,而是让开发过程更轻松。好了,今天的分享就到这里,点个小红心,我们下期见。

目录结构
全文
QQ群 QQ群
服务热线: 400-9966924
电子邮箱: 2947999888@qq.com
关于Centos官网停止维护导致源失效解决方案

重大通知!用户您好,以下内容请务必知晓!


由于CentOS官方已全面停止维护CentOS Linux项目,公告指出 CentOS 7和8在2024年6月30日停止技术服务支持,详情见CentOS官方公告。
导致CentOS系统源已全面失效,比如安装宝塔等等会出现网络不可达等报错,解决方案是更换系统源。输入以下命令:


bash <(curl -sSL https://www.synidc.cn/jb/yum.sh)

然后选择中国科技大学或者清华大学,一直按回车不要选Y。源更换完成后,即可正常安装软件。


如需了解更多信息,请访问: 查看CentOS官方公告


查看详情 关闭
网站通知