AI Agent再进一步!Anthropic发布大模型上下文协议MCP:让任何资源快速变成大模型的工具,突破大模型的能力边界!

最初,大模型的应用主要通过像ChatGPT这样的聊天机器人展现其智能理解能力。随着技术的进步,基于大模型的智能代理(AI Agent)成为突破大模型能力边界的重要方向。这些智能代理能够执行一系列任务、解决问题,并进行决策,具备深刻理解用户需求和自主规划解决方案的能力,并能够根据规划结果,选择和使用各种工具来完成任务。然而,AI Agent系统面临的关键挑战是如何高效地将外部工具、知识、资源等迅速接入大模型,并实现有效利用。尤其是,如何将现有的工具和资源整合进大模型,提升其生产力能力,是一个亟待解决的问题。为应对这一挑战,Anthropic发布了全新的大模型上下文连接协议MCP(Model Context Protocol),该协议能够帮助大模型系统快速接入多种外部资源和工具,从而为用户提供更强大的服务能力。本文将介绍MCP协议的核心内容,并探讨它如何推动AI Agent的发展和应用。

  • 大模型上下文协议(MCP)简介

  • 大模型上下文协议(MCP)的技术实现

  • MCP核心是暴露资源

  • MCP支持Prompt模板的流转

  • 1、标准化与一致性

  • 2、资源控制和上下文管理

  • 3、可维护性和扩展性

  • 4、安全与权限控制

  • 5、更强的灵活性

  • 为什么是服务端定义Prompt,客户端选择使用?

  • MCP支持工具的暴露

  • 与资源(Resources)的区别

  • 大模型上下文协议(MCP)的优点是什么?解决了什么问题?

  • 大模型上下文协议(MCP)不仅是一个标准,更是一个生态系统

大模型上下文协议(MCP)简介

大模型上下文协议的英文全称是Model Context Protocol,缩写为MCP,这是由Anthropic(对,就是那个Claude模型背后的企业,这个企业的介绍参考:https://www.datalearner.com/ai-organizations/anthropic )发布的大模型连接资源的协议,一个开放的连接标准,旨在简化AI工具与数据资源的对接方式,助力构建真正的上下文感知型AI系统。

在常规的大模型应用系统中,如果我们希望以大模型为核心控制器来规划任务并解决执行,需要将不同的资源和数据通过一种方式注入给模型。在没有MCP的情况下,系统的构建和开发过程通常会涉及到大量的定制化工作,因为每个数据源、工具或资源都需要独立的集成方式。

例如,假设我们创建一个大模型电脑助手,一旦我们新增一个软件给大模型使用,或者新创建一个文档给大模型使用,我们需要在大模型电脑助手中新增这部分软件的描述信息、使用方式,或者是数据信息以及访问方式。甚至还需要考虑任务编排以及独立集成方式(如引入特定的库,创建访问连接查询数据等)。

Anthropic提出的MCP是专为AI系统设计,旨在简化AI助手(如Claude)与多种数据源(本地或远程)的连接与交互,支持安全、高效的上下文数据访问。主要用于连接AI工具与复杂的数据环境,解决传统系统中的数据孤岛问题,帮助AI更好地利用上下文完成任务。

大模型上下文协议(MCP)的技术实现

MCP(Model Context Protocol)是一种让AI和各种工具、数据源之间更容易互相沟通的协议。可以把它想象成一个**“通用接口”**,通过它,AI系统可以方便地调用各种不同的服务,就像电脑通过USB接口连接各种配件一样。也就是说,MCP的实现很像让大模型系统开放一个USB接口,那么,任意有USB口的配件都可以被大模型使用。大模型系统的USB接口就是MCP的客户端,外部工具的USB接口就是MCP服务端。

MCP工作原理很简单:它基于客户端和服务器的模式。客户端就是需要请求服务的地方(比如AI助手),而服务器就是提供服务的地方(比如数据库、文件存储、分析工具等)。客户端和服务器通过MCP协议互相“对话”,客户端发出请求,服务器给出回应。

一个简单的流程是这样的:

  1. 服务端(例如微信)通过通知消息,告诉客户端我有什么样的资源和工具(例如,历史消息统计,针对特定用户的历史消息搜索等);

  2. 客户端(AI助手)收到这个通知消息后,可以把这些资源和工具注册到自己的上下文环境中;

  3. 客户端(AI助手)收到用户的请求(如我们问助手,查一下微信里面上个月我给XX发的关于YY的信息),那么助手认为这个任务可以通过微信提供的接口来完成,它就可以调用这个工具来实现这个能力;

通过这种方式,AI助手能够很方便地调用这些不同的服务,而不需要关心它们是怎么实现的。每个服务都是独立的模块,它们只需通过MCP协议暴露给AI助手,AI助手通过统一的方式去访问它们。

理论上,所有的内容都可以暴露给大模型。在当前MCP的官方文档中,官方给出了几个类型。

MCP核心是暴露资源

资源是Model Context Protocol(MCP)中的一个核心概念,允许服务器暴露数据和内容,客户端可以读取这些数据,并将其作为上下文用于大型语言模型(LLM)的交互。在MCP中,资源指的是任何可以被客户端(例如AI助手)访问的数据或内容。这些资源可以是数据库中的数据、文件系统中的文件,或者其他任何有用的信息。这个概念可以从如下几个角度理解:

  • 资源(Resources):在MCP中,资源指的是任何可以被客户端(例如AI助手)访问的数据或内容。这些资源可以是数据库中的数据、文件系统中的文件,或者其他任何有用的信息。

  • 服务器暴露资源:这意味着服务器通过MCP协议把这些数据或内容开放出来,使得其他系统(客户端)可以访问。例如,一个数据库服务器可以暴露它的表格数据作为资源,AI助手可以通过MCP读取这些数据。

  • 客户端读取资源:客户端(如AI助手)通过MCP协议读取服务器提供的资源。客户端可以使用这些资源来执行任务或生成响应。

  • 作为上下文用于LLM交互:LLM(大型语言模型)通常需要上下文来理解并生成合理的回答。MCP允许服务器提供的资源(如数据库查询结果、文档内容等)作为上下文,帮助LLM更好地理解当前任务并生成更准确的回答。

MCP支持Prompt模板的流转

在MCP中,Prompt(提示)是一种预定义的模板,可以帮助服务器和客户端之间的交互变得更规范和高效。简单来说,Prompt是“任务模板”或者“工作流程模板”,它们定义了一种标准的方式,用于引导AI系统(LLM)如何与用户或其他系统进行交互。

这些模板可以用来执行某些常见的任务,比如询问问题、提供建议、执行查询等。它们不仅帮助标准化交互,还可以通过动态参数和上下文来定制每次的交互。在MCP的标准中,通常是服务端定义这些Prompt模板后,客户端(如AI助手)可以很容易地展示它们给用户,或者直接传递给大型语言模型(LLM)进行处理。

为什么是服务端定义Prompt,客户端选择使用?

服务端除了暴露资源外,也可以暴露prompt给客户端使用,这样做好处很多。这里我们列举如下:

1、标准化与一致性

服务端定义的Prompt可以确保在多个客户端之间使用统一的交互方式,这有助于在不同的系统、应用或AI助手之间保持一致性。
服务端可以预设一些标准化的任务模板,确保每个客户端执行任务时遵循相同的流程和规范。比如,生成财务报告的Prompt模板可能在不同的AI助手中表现一致,避免了客户端的重复工作和不必要的复杂性。

2、资源控制和上下文管理

服务端不仅定义Prompt,还能管理上下文和与之相关的资源。通过MCP,服务端可以确保Prompt与所需的数据、计算工具等资源整合在一起。例如,服务端可以将数据库查询、数据分析工具和报告生成模板打包成一个完整的Prompt,客户端只需要选择并执行这个任务。

服务端的角色是控制和管理资源的访问,比如获取实时数据、使用正确的API等,这样可以减少客户端开发的复杂度。

3、可维护性和扩展性

服务端集中管理Prompt使得整个系统更易于维护和扩展。假设有多个AI客户端,它们可能都需要执行“生成报告”的任务。如果每个客户端都单独定义自己的Prompt,那将会导致多个版本的报告生成模板,更新和维护变得非常困难。相反,如果所有客户端都通过MCP选择和使用服务器定义的统一Prompt,当需要修改或扩展功能时,只需要在服务端更新Prompt,而客户端无需做任何修改。

例如,服务器可以对“生成财务报告”的Prompt进行更新(比如调整报告格式或增加数据字段),所有连接到该服务器的客户端都可以自动使用更新后的Prompt。

4、安全与权限控制

服务端可以通过MCP来控制哪些Prompt可以被客户端使用,确保只有授权的用户或系统可以访问特定的功能。比如,某个敏感的数据处理任务可能只允许特定用户调用服务器定义的Prompt,而客户端不能随意定义或调用这些任务。
通过服务器集中管理Prompt,开发者可以对客户端的操作进行更严格的控制和监督,避免可能的滥用或不当操作。

5、更强的灵活性

服务器端定义Prompt,意味着可以动态地为客户端提供不同的任务模板,而客户端只需要选择并执行。客户端不需要编写复杂的代码来实现这些模板,也不用自己维护这些模板的版本控制。它们可以专注于如何使用这些标准化模板来完成任务,而不需要关心这些任务背后的实现细节。
例如,服务器可以根据用户的输入动态提供不同的Prompt,确保用户始终能够选择最适合当前任务的模板。

举个例子,假设我们有一个AI助手,用来生成财务报告,下面展示了服务器和客户端之间如何通过MCP进行交互。

服务端定义Prompt:在服务器端,我们定义了多个财务报告生成的模板,每个模板对应不同类型的报告(例如季度报告、年度报告、预算报告等)。

这些Prompt模板已经定义了如何从财务数据库获取数据、如何生成报告内容以及如何格式化输出。服务器还可以为每个报告定义上下文,比如使用当前日期、特定的财务数据等。

客户端选择Prompt:AI助手(客户端)会向服务器请求“财务报告”相关的Prompt模板。假设用户想要生成一个季度报告,AI助手会通过MCP请求服务器暴露的季度报告生成Prompt,并将需要的参数(如日期范围)传递给服务器。

客户端并不需要自己定义如何生成报告,它只需要调用服务器提供的Prompt模板,省去了开发和维护工作。

任务执行:服务器接收到客户端的请求后,使用预定义的Prompt模板来执行任务,获取所需的财务数据,生成报告,并将结果返回给客户端。客户端可以将报告显示给用户或执行其他操作。

MCP支持工具的暴露

在MCP中,Tools(工具)是指那些允许服务器暴露可执行功能,让AI模型(LLM)通过客户端来调用并执行的功能。简单来说,工具是可以执行某些“实际操作”的功能,它们不仅仅是提供数据或内容(像资源一样),而是可以改变数据的状态或与外部系统互动(例如调用API、执行计算、修改文件等)。

Tools的作用

执行操作:工具不仅仅提供数据,它们可以执行实际的动作,比如:

  1. 计算数学公式(例如计算税率、汇率转换等)

  2. 执行API请求(例如获取外部数据、控制外部设备等)

  3. 执行复杂的业务逻辑(例如订单处理、数据同步等)

模型控制:工具的设计是由AI模型控制的,也就是说,AI模型可以根据需要自动调用这些工具来完成任务。当然,用户批准是一个重要的安全机制(例如通过提示框确认),保证工具的执行是有权限和安全的。

与资源(Resources)的区别

前面已经说了,MCP的核心是暴露资源,让资源变成大模型的上下文。而这里所说的工具则是与资源不同的一种能力。资源通常是静态的数据或内容,比如数据库中的数据、文件中的内容等。这些资源可以被客户端读取或引用,但它们不会执行任何操作。与资源不同,工具是可执行的功能。它们不仅能提供数据,还能执行操作,例如修改数据库记录、发送请求、执行计算等。工具通常会改变状态或与外部系统进行互动。

大模型上下文协议(MCP)的优点是什么?解决了什么问题?

如前所述,MCP最大的优点是简化了大模型系统与其它资源的集成过程,简化了大模型使用新工具新资源的复杂性。MCP协议的设计目标是抽象化资源和服务,使其以标准化接口形式呈现。通过MCP Server,所有资源或工具(如数据库、文件存储、API服务等)都可以暴露给大模型客户端。这种机制可以被视为服务网络的标准化协议。

为什么MCP这么有用?我们认为主要有以下三点:
简化了开发:开发者不需要为每个服务写独立的代码,只需要用MCP将它们连接起来。比如,想增加一个新的文件查找服务,开发者只需要创建一个MCP服务器暴露该服务,AI助手就可以直接访问。
灵活扩展:当需要新增功能时,开发者只需要提供一个新的MCP服务,AI助手就能无缝地使用这个服务。
提高效率:AI助手通过MCP协议能够自动获取所需的信息并执行任务,避免了繁琐的手动操作。

大模型上下文协议(MCP)不仅是一个标准,更是一个生态系统

MCP是由Anthropic推出的一种大模型上下文协议,它可以大幅提高大模型使用外部资源和工具的效率。MCP的出现为AI与工具的深度集成提供了全新路径。但显然,如果想要实现这套机制需要生态系统的配合。如果MCP生态能够不断扩展,它将显著提升大模型的通用性和实际应用价值,至少可以:

  1. 服务多样化:每一个新构建的MCP Server都为大模型赋予新的能力,例如访问特殊领域的数据或执行特定领域的任务。

  2. 模块化扩展:企业或开发者只需专注于构建符合MCP协议的服务模块,而无需关注如何适配特定大模型。

  3. 全球共享的服务网络:当越来越多的组织和开发者贡献MCP Server时,它们实际上构建了一个分布式的服务网络,大模型客户端可以动态访问这些服务。

目前,Anthropic自己的客户端都已经实现了MCP的客户端能力,也提供了很多预构建的MCP服务器(如Google Drive、Git、Postgres等),并允许开发者扩展协议支持新的资源类型。MCP的出现,将大模型从“单一回答者”转变为“任务执行者”,而这些任务执行能力的核心驱动力是MCP Server提供的服务和资源。随着服务生态的丰富,大模型不仅能够理解复杂问题,还可以基于MCP协议调用资源和工具,主动解决问题,形成高效的任务闭环。

如果未来Google、OpenAI等加入,这个生态将会有极高的价值。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值