当前位置: 首页 > news >正文

MCP‌和LangGraph‌结合2

“确保不同团队开发的模型(意图识别、问答)通过统一协议交换上下文”是什么意思?
我理解的一是因为使用的是统一标准的接口协议,所以可以对接不同厂商的大模型;
二是不同厂商的大模型提供的接口也支持mcp协议;
我认为应该是一吧?

核心确实是“统一标准的接口协议”(即你提到的第一点)‌,但需要进一步明确协议覆盖的范围。以下是详细解释:


1. 你的理解正确:关键在于“接口标准化”

当提到 ‌“通过统一协议交换上下文”‌,核心是解决两个问题:

  1. 技术兼容性‌:不同团队开发的模型对外暴露的接口(如 HTTP/gRPC)遵循‌相同的调用规范‌(例如请求方法、参数格式、错误码)。
  2. 语义一致性‌:传递的上下文数据(如对话历史、任务状态)使用‌统一的数据结构‌(例如 JSON Schema 或 Protobuf 定义)。

示例‌:假设团队A开发意图识别模型,团队B开发问答模型:

  • 无 MCP 协议时‌:
    • 团队A的接口:POST /intent {text: string},返回 {"intent": "weather"}
    • 团队B的接口:POST /answer {query: string, history: array},返回 {"answer": "今天晴天"}
    • 问题‌:两个接口的输入输出格式不兼容,无法直接协作。
  • 使用 MCP 协议后‌:
    • 团队A和B均遵循 MCP 定义的接口:POST /mcp {context: MCPContext, input: string}
    • 输入输出强制使用 MCP 的 MCPContext 数据结构(如包含 session_idhistorymetadata 等字段)。
    • 结果‌:两个模型可直接互相调用,无需额外适配。

2. 为什么不是“厂商主动支持MCP协议”(你的第二点)?

  • MCP 是技术中立的协议‌:它的本质是一套规范文档(类似 HTTP 协议的定义),‌不要求厂商必须“官方支持”‌。
  • 实际应用方式‌:
    1. 适配层‌:如果某厂商的大模型未原生支持 MCP,可以通过封装一个‌适配层(Adapter)‌,将其原生接口转换为 MCP 格式。
    2. 开发约束‌:企业内部或合作团队间‌约定强制使用 MCP‌,所有新开发的模型必须实现该协议。

示例‌:调用未支持 MCP 的 OpenAI 模型:

 

pythonCopy Code

# MCP 适配层示例 def call_openai_with_mcp(mcp_request: MCPRequest): # 将 MCP 请求转换为 OpenAI 所需格式 openai_format = { "messages": [{"role": "user", "content": mcp_request.input}], "context": mcp_request.context.get("openai_params", {}) } # 调用原生 OpenAI 接口 response = openai.ChatCompletion.create(**openai_format) # 将 OpenAI 响应转换为 MCP 格式 return MCPResponse( output=response.choices[0].message.content, context={"openai_params": openai_format} )


3. 协议的核心价值:解耦与协作

场景:跨团队协作开发客服系统
团队职责依赖 MCP 的行为
意图识别团队开发意图分类模型通过 MCP 接收用户输入和上下文,返回意图标签
问答团队开发领域知识问答模型通过 MCP 接收意图和上下文,生成回答
流程编排团队集成所有模型调用 MCP 接口,无需关心各团队内部实现细节
  • 解耦‌:各团队只需遵守协议,无需等待其他团队开发完成即可并行工作。
  • 协作‌:上下文格式统一后,模型间的数据传递无歧义(例如所有团队对 history 字段的定义一致)。

4. 类比:现实世界的标准化协议

场景协议作用
不同设备连接Wi-FiIEEE 802.11规定信号频率、加密方式等,确保设备兼容
不同浏览器访问网站HTTP/HTTPS统一请求方法、状态码,确保跨平台通信
不同模型交换上下文MCP统一接口和数据格式,确保跨模型协作

总结

  • 你的第一点正确‌:MCP 的核心是定义‌统一的接口协议和数据格式‌,使得不同团队或厂商的模型可以无缝协作。
  • 第二点非必须‌:厂商无需主动支持 MCP,通过适配层即可兼容。
  • 本质‌:MCP 是技术层面的“合同”,约束开发者行为,而非依赖厂商主动配合。

相关文章:

  • 第十节:性能优化高频题-虚拟DOM与Diff算法优化
  • 探寻健康密码:养生从日常细节开始
  • ap无法上线问题定位(交换机发包没有剥掉pvid tag)
  • 机械手排列定位设备 PLC梯形图流程
  • 通信新思路:EtherCAT转Profinet网关在自主研发机器人中的技术实践与优化
  • 革新AI生产力,比象AI源码 - 下一代智能创作引擎
  • 【线段树 容斥原理】P3801 红色的幻想乡|普及+
  • 大学生如何学好人工智能
  • TI MSP430搭配 SD NAND(贴片式T卡):长续航心电监测的可靠保障
  • 大数据去重
  • 机器人操作中的生成式 AI:综述(下)
  • 并发与并行的本质区别与实战应用解析
  • Python设计模式:MVC模式
  • 如何检测Python项目哪些依赖库没有使用
  • Spring—循环依赖与三级缓存
  • 双模对讲机与单模对讲机:技术革新与通信效能的深度解析
  • STM32F103C8T6 GPIO 通讯原理与物理层解析
  • 第二章 安全认证
  • centos7使用certbot完成nginx ssl证书续期
  • Linux编译器-gcc/g++使用
  • “归雁经济”能带来什么?川大商学院调研团队深入乡村与返乡青年人才交流
  • 一季度公募管理规模出炉:44家实现增长,4家规模环比翻倍
  • 审议民营经济促进法草案等,十四届全国人大常委会第十五次会议将举行
  • 无视规范开“远端”、企业云端被窃密,国安部:莫让运维成运“危”
  • 中央空管办组织加强无人机“黑飞”“扰航”查处力度
  • 人民日报:外资车企携新车、前沿技术亮相上海车展,坚定信心深耕中国市场