对MCP工作流的一些个人认知

最近在学习 MCP 系统,虽尚未深入掌握,但已对其工作原理有了初步认识,在此分享下学习收获。

MCP 是一套能实现客户端、多种服务与大模型协同工作的系统,能处理任务请求并及时反馈。其工作流程如下:

一、获取并更新服务使用方法

(一)收集整理使用方法

MCP 正常运行依赖于对各类服务使用方法的了解,这要靠已在系统注册且可识别的功能模块。一旦有新模块注册或旧模块更新,系统会自动检测并获取其使用方法信息。MCP 订阅服务器将这些信息汇总、整理,构建出一个全面且实时更新的服务使用方法库,这个库对后续客户端调用服务和任务处理至关重要,就像一本不断更新的操作指南。功能模块注册时需遵循系统接口规范,详细登记自身功能与使用说明,系统也会定期检查模块状态。

(二)客户端获取使用方法

客户端是用户与 MCP 系统交互的入口。使用 MCP 服务,需先让客户端与 MCP 订阅服务器建立连接。连接成功后,客户端就能获取 MCP 的使用方法,进而掌握已接入 MCP Gateway(可理解为 MCP 服务的核心调度中心,负责任务的接收、分配与协调 )的各类服务调用方式,为发起任务请求做好准备。

(三)及时更新使用方法

MCP 系统运行中,服务不断升级,新功能增加,旧功能优化,这会导致服务使用方法改变。因此,及时更新使用方法十分关键。MCP 订阅服务器会按设定时间向使用方法服务器查询更新,若有新方法则自动下载更新。客户端每次启动或按固定时间间隔,也会与 MCP 订阅服务器核对使用方法版本,若不是最新版则及时更新。通过这种方式,确保客户端始终能用最新、准确的方法调用服务,保障 MCP 系统稳定高效运行。

二、向大模型提交任务信息

客户端接收用户任务请求后,会将用户问题与获取的服务使用方法整合,提交给大模型。需注意,大模型本身不具备文件检索、RAG(检索增强生成)及网络检索能力,这些由 MCP 服务器后端完成。MCP 服务器后端先在本地文件检索相关知识,利用 RAG 从外部知识源获取信息并与任务需求融合,再通过网络检索获取网络信息,将整合后的信息提供给大模型。大模型依据这些信息分析任务,判断所需调用的特定模型,这种分工提高了系统任务处理效率与准确性。

三、向 MCP Gateway 发送申请

大模型确定调用模型后,通过调用模型向 MCP Gateway 发送申请,申请包含任务具体需求和调用模型信息。MCP Gateway 收到申请后,立即启动后续协调流程,推动任务进入执行阶段。

四、分配申请给执行单元

MCP Gateway 实时监测实际执行单元的工作负载和网络状态,包括 CPU 使用率、内存占用率、任务队列长度、网络延迟、带宽利用率、丢包率等指标。同时,RAG、网络、文本、知识库相关模块也发挥重要作用。例如,RAG 模块从知识库和网络检索任务相关经验,为任务分配提供参考;文本分析模块解析任务文本,明确任务紧急程度和复杂程度,辅助任务分配;网络模块保障执行单元网络连接,获取外部数据;知识库模块存储业务知识和历史数据,为任务分配提供依据。基于实时监测数据和各模块协同,MCP Gateway 将任务分配给最合适的执行单元,保障系统稳定运行。

五、结果返回与展示

(一)执行结果传递

实际执行单元完成任务后,将结果返回给 MCP Gateway,MCP Gateway 再转发给客户端。

(二)结果整合分析

客户端收到结果后,若存在与任务相关的上下文信息,会将其与结果一同提交给大模型,大模型综合分析后给出最终结果。

(三)展示最终结果

客户端将大模型给出的最终结果呈现给用户,至此完成与 MCP 系统的交互流程,用户获得所需服务,感受到 MCP 系统的便捷。MCP 系统的稳定运行依赖大模型的准确推理和实际执行模块的可靠工作。若大模型推理错误或执行模块出现故障、数据错误,将影响结果准确性,降低系统可用性。所以,保障大模型和执行模块的稳定运行是 MCP 系统有效运作的关键。

六、选择长上下文关联模型的原因

在学习 MCP 系统过程中,发现选择长上下文关联模型具有重要意义。随着数据不断积累,任务与相关信息的关联性愈发复杂。长上下文关联模型能够整合当前任务数据与历史数据、交互记录等信息进行综合分析。在多轮对话或复杂业务处理中,之前的对话内容和操作步骤等历史信息对准确理解当前任务需求和生成正确结果至关重要。长上下文关联模型可避免因信息缺失或理解不全面导致的错误决策和处理结果,提升系统处理复杂任务的准确性和连贯性,为用户提供更优质的服务。

七、未来模型应用展望与现存局限

展望 MCP 系统发展,任务拆解可借助推理模型,利用其逻辑分析能力拆分复杂任务、规划执行流程,提高处理效率;结果呈现阶段,非推理模型能通过文本风格转换与内容润色,增强结果可读性,让系统应用更流畅。

但在使用开源模型时存在局限。上下文关联方面,多数开源模型处理长序列信息能力欠佳,难以把握复杂信息关联,在需深度整合多轮交互、历史数据的场景下,无法精准支持任务,影响处理的准确性与连贯性。内存驻留上,运行开源模型处理大量数据或维持长上下文时,内存占用大,易引发内存溢出,或因内存交换降低处理速度,对硬件要求高,增加系统成本,阻碍其在 MCP 系统的高效应用。

你可能感兴趣的:(人工智能)