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

Agent 开发 笔记

定义

Ai Agent 是基于 LLM 的能够自主理解、自主规划决策、执行复杂任务的智能体。
在这里插入图片描述

MCP 协议

MCP(Model Context Protocol,模型上下文协议)是一种开放协议,旨在实现 大型语言模型(LLM) 应用与外部数据源、工具和服务之间的无缝集成,类似于网络中的 HTTP 协议或邮件中的 SMTP 协议。

MCP 协议通过标准化模型与外部资源的交互方式,提升 LLM 应用的功能性、灵活性和可扩展性。

在这里插入图片描述
在这里插入图片描述
MCP 通过标准化人工智能应用生态系统中的通信规则,为开发者提供了一个统一、高效且可互操作的开发环境。


MCP 的核心概念

MCP 的核心是 模型上下文,即 LLM 在运行过程中所需的所有外部信息和工具。

MCP 通过定义标准化的接口和协议,使 LLM 能够动态访问和集成以下内容:

  • 外部数据源:如数据库、API、文档库等,为 LLM 提供实时或历史数据。
  • 工具和服务:如计算工具、搜索引擎、第三方服务等,扩展 LLM 的功能。
  • 上下文管理:动态维护 LLM 的对话上下文,确保连贯性和一致性。

MCP 的架构

在这里插入图片描述
总共分为了下面五个部分:

  • MCP Hosts : Hosts 是指 LLM 启动连接的应用程序,像 Cursor, Claude Desktop、Cline 这样的应用程序。
  • MCP Clients : 客户端是用来在 Hosts 应用程序内维护与 Server 之间 1:1 连接。
  • MCP Servers : 通过标准化的协议,为 Client 端提供上下文、工具和提示。
  • Local Data Sources : 本地的文件、数据库和 API。
  • Remote Services : 外部的文件、数据库和 API

MCP 的架构由四个关键部分组成:

  • 主机(Host):主机是期望从服务器获取数据的人工智能应用,例如一个集成开发环境(IDE)、聊天机器人等。主机负责初始化和管理客户端、处理用户授权、管理上下文聚合等。
  • 客户端(Client):客户端是主机与服务器之间的桥梁。它与服务器保持一对一的连接,负责消息路由、能力管理、协议协商和订阅管理等。客户端确保主机和服务器之间的通信清晰、安全且高效。
  • 服务器(Server):服务器是提供外部数据和工具的组件。它通过工具、资源和提示模板为大型语言模型提供额外的上下文和功能。例如,一个服务器可以提供与Gmail、Slack等外部服务的API调用。
  • 基础协议(Base Protocol):基础协议定义了主机、客户端和服务器之间如何通信。它包括消息格式、生命周期管理和传输机制等。

MCP 就像 USB-C 一样,可以让不同设备能够通过相同的接口连接在一起。

在这里插入图片描述


MCP 通信机制

MCP 协议支持两种主要的通信机制:基于标准输入输出的本地通信和基于SSE(Server-Sent Events)的远程通信。

这两种机制都使用 JSON-RPC 2.0 格式进行消息传输,确保了通信的标准化和可扩展性。

  • 本地通信:通过 stdio 传输数据,适用于在同一台机器上运行的客户端和服务器之间的通信。
  • 远程通信:利用 SSE 与 HTTP 结合,实现跨网络的实时数据传输,适用于需要访问远程资源或分布式部署的场景。

MCP 的工作原理

MCP 通过定义标准化的数据格式和通信协议,实现 LLM 与外部资源的交互。

MCP 使用 JSON-RPC 2.0 作为消息格式,通过标准的请求、响应和通知消息进行通信。

MCP 支持多种传输机制,包括本地的标准输入/输出(Stdio)和基于 HTTP 的服务器发送事件(SSE)。

MCP的生命周期包括初始化、运行和关闭三个阶段,确保连接的建立、通信和终止都符合协议规范。

以下是其工作流程:

  1. 上下文请求
    LLM 应用向外部资源发送上下文请求,包含所需的数据或服务类型。
    在这里插入图片描述

    • LLM 应用根据任务需求,向外部资源发送请求。
    • 外部资源返回所需的数据或服务结果。
  2. 上下文集成

    LLM 应用将外部资源返回的上下文数据集成到模型中,用于生成响应或执行任务。
    在这里插入图片描述

    • LLM 应用将外部数据与模型内部知识结合,生成更准确或更丰富的响应。
  3. 上下文管理

    MCP 支持动态管理 LLM 的对话上下文,确保多轮对话的连贯性。

    在这里插入图片描述

    • 上下文管理器维护对话的历史记录和状态。
    • LLM 应用根据上下文生成连贯的响应。

MCP 的应用场景

MCP 广泛应用于以下场景:

  • 增强型问答系统:通过集成外部数据源,提供实时、准确的答案。
  • 智能助手:通过集成工具和服务,执行复杂任务(如预订、计算、搜索等)。
  • 知识管理:通过集成文档库和数据库,提供专业领域的知识支持。
  • 多轮对话:通过上下文管理,实现连贯的多轮对话。

MCP 与 Function Calling 的区别?

在这里插入图片描述

相关文章:

  • 网站上线要准备什么2020国内搜索引擎排行榜
  • 网站代理浏览器插件从事网络销售都有哪些平台呢
  • 如何自己做自己的网站百度官方推广平台
  • deal 网站要怎么做杭州关键词优化服务
  • 上海地区网站建设中央新闻联播
  • 湖北智能网站建设找哪家网络营销工具分析
  • 本地项目HTTPS访问问题解决方案
  • 【后端开发】Maven
  • LeetCode热题100记录-【二分查找】
  • 单片机软件设计文档模板
  • skynet.call使用详解
  • kafka 的存储文件结构
  • fpga系列 HDL:跨时钟域同步 4-phase handshake(四相握手通信协议,请求-确认机制)浅释与代码实现
  • Boost库搜索引擎项目(版本1)
  • Nodejs回调函数
  • 使用uglifyjs对静态引入的js文件进行压缩
  • 网络安全小知识课堂(十三)
  • css专题1-----给div盒子的边框添加阴影
  • 地质科研智能革命:当大语言模型“扎根”地质现场、大语言模型本地化部署与AI智能体协同创新实践
  • 项目管理中客户拒绝签字验收?如何处理和预防
  • ModelScope能干什么?
  • Java Comparable 接口详解
  • 在Windows搭建gRPC C++开发环境
  • 局域网访问 Redis 方法
  • springmvc:tomcat启动无报错但接口404问题排查
  • 国标GB28181视频平台EasyCVR顺应智慧农业自动化趋势,打造大棚实时视频监控防线