多Agent系统正逐渐成为大模型应用的重要发展方向,通过多个具备专项能力的Agent协同工作,能够有效提升任务完成的效率与复杂度适应能力。基于此,本文将从Agent协作的技术演化切入,分析大模型交互中的上下文瓶颈、任务分工机制与协议化通信需求,揭示Agent系统架构的发展动因与演进趋势。
大模型交互的上下文瓶颈
当前,主流语言大模型在交互过程中依赖“上下文窗口”机制来理解历史信息与用户指令,该窗口决定了模型每次推理时可访问的Token总量。虽然近年来上下文长度从几千Token扩展到数万Token,理论上可以承载更丰富的历史输入,但由于计算资源限制与推理时序结构约束,模型在处理超长输入时仍面临显著性能衰减与信息稀释问题,且窗口越大,推理成本越高,响应延迟越明显。
图1展示了大模型交互中上下文构成的三类核心要素:历史对话、用户输入与模型输出。这三者共同形成了模型执行过程中的语境窗口,对响应内容产生直接影响。上下文机制的关键在于将历史状态与用户新输入进行语义融合,构建出具备连贯性与指向性的完整输入结构。
图1.大模型交互中的上下文机制构成
Conversation History提供语义延续性,User Input引导当前任务目标,Model's Output则构成新一轮上下文的一部分,参与下次推理。当前上下文管理策略常通过滑动窗口截取历史轮次、显式标注角色语义以及使用记忆结构(如Memory模块)进行状态压缩与语义注入,从而在Token预算内最大化保留语义密度与交互连续性。
1.多轮交互导致语义信息膨胀
在多轮对话、多阶段任务或多Agent协同的场景下,随着系统交互轮次不断增加,历史内容快速累积。若每轮都需重复传入完整上下文,不仅造成Token资源浪费,还可能引发语义冗余、信息漂移及提示压缩困难,使得模型难以稳定保持关键任务目标与语境对齐。
2.信息密度分布不均衡
实际任务中,用户输入、系统回复、外部文档、检索结果等信息在语义价值上存在差异,但传统Prompt拼接方式缺乏精细化结构管理,导致高价值内容无法优先保留,低价值内容不必要地占用上下文空间,整体语义表达密度下降,影响模型生成效果。
3. 上下文压缩机制缺失
面对上下文溢出问题,现有大多数系统仍采用静态截断、简单摘要或基于规则的拼接策略,缺乏语义驱动的上下文压缩机制。这类手段难以根据任务动态调整保留内容,也无法实现跨模态、跨阶段语义链路的有机衔接,限制了多轮智能体系统的扩展性与精度。因此,大模型交互中的上下文瓶颈已成为制约系统可扩展性与稳定性的重要技术壁垒,急须通过协议化上下文管理与语义抽象机制加以突破。
Agent间的协同结构演化
在大模型早期应用阶段,多数任务依赖单一模型完成输入处理并生成结果,虽能完成简单问答与文本生成,但难以支撑长链条、多阶段、高复杂度的任务需求。随着任务语境结构的拓展与应用边界的延伸,系统开始引入多个具备特定功能的Agent,通过分工合作完成感知、理解、推理与生成等任务环节,推动了从Agent向多Agent系统的结构转型。
图2的通信结构体现了多Agent系统中典型的异步、双向通信模式,不同Agent节点通过任务流转建立语义链路,并通过消息交互实现任务拆解与结果传递。
图2.多Agent系统中的协同通信结构
该通信机制基于显式任务驱动与语义耦合结构展开,每个Agent具备独立任务处理能力,可根据输入内容触发工具调用、内容生成或中间状态推理。在工程实现中,可通过Task对象封装输入参数与调用目标,通过Artifact结构表示中间或最终输出,结合消息协议实现Agent之间的互通与调度。
通信路径的建立需依赖统一的通信协议支撑,在实际系统中可采用A2A(Agent-to-Agent)协议实现任务结构标准化,结合AgentCard定义能力接口与服务标识,达成服务发现与路由调用。通过定义明确的消息格式与调用语义,不同Agent之间可实现动态组合、任务分发与结果聚合,支持多层级调度与并发执行。此结构可用于构建搜索、生成、评估、执行等多类Agent角色联动的复杂系统架构,是使大规模Agent系统拥有可扩展性、自治性与调度弹性的基础通信范式。
1. 松耦合任务编排结构的兴起
早期多Agent架构多采用静态流程控制与任务级转发机制,各Agent间通过硬编码的接口和流程逻辑进行协作,结构松散但可维护性差,灵活度不足。随着LangChain、AutoGen等框架的出现,系统逐渐具备了链式调用、动态调度与上下文记忆功能,使得多Agent可以通过工具注册、角色分离与上下文共享实现更为灵活的任务分发与结果融合。
2. 引入语义协同与上下文共享机制
Agent之间的协作不再仅限于结果传递,而是逐步演化为语义层级的协同过程。通过引入上下文共享机制、历史记忆结构与语义Slot表示,多个Agent可以感知彼此的状态、意图与行为逻辑,实现任务状态的透明传递与语境的连续保持,为任务拆解、并行执行与结果综合提供语义一致性保障。
3. 协议化协同结构的出现
面对多Agent协作中出现的接口不统一、语境割裂与任务状态不可追踪等问题,协议化协同架构开始被提出并实践。通过MCP协议实现上下文的语义标准化,通过A2A协议实现任务的格式封装与通信同步,各Agent在统一协议层上完成能力注册、任务声明与执行协调,使多Agent系统从松耦合流程走向结构化协作,具备了标准化、可扩展与跨平台的工程能力。
传统Prompt工程的适用范围限制
传统Prompt工程主要依赖手工编写的输入模板,通过精心设计的问题、示例与提示指令,引导大模型生成目标响应。此类方式在处理问答、摘要、改写等任务中具备良好的效果,尤其适用于信息相对简单、语境结构单一的场景。但由于其语义表达仅限于单次输入构造,难以处理动态变化的任务状态与多阶段推理路径,限制了复杂任务的可表达性。
图3展示的是传统Prompt工程中的大模型交互流程,即将任务目标与上下文信息以文本形式拼接构建Prompt,作为输入传递给语言模型,模型依此生成响应内容。该结构在处理问答、改写、摘要等静态任务时效果良好,具备实现门槛低、部署成本小的优势。但其交互逻辑高度依赖Prompt模板的稳定性与语义覆盖能力,缺乏结构化输入接口,难以对任务进行显式拆解、状态跟踪或模块调度。
图3.传统Prompt工程中的大模型交互流程
在该架构中,Prompt仅作为一次性输入,不具备任务链条管理、语义历史融合或外部工具调用能力,模型无法感知上下文状态演变,也无法根据不同任务阶段动态调整输入内容。此外,模型输出往往为未结构化自然语言,需借助后处理逻辑提取关键信息,增加了解析难度与误差风险。该结构对任务边界、上下文长度与交互稳定性要求较高,难以适应复杂多阶段流程与多Agent场景,成为当前多Agent系统向语义协议化演进的主要瓶颈之一。
1. 缺乏任务链条结构表达能力
复杂任务通常包含多个子目标与中间推理步骤,须在任务执行过程中逐步生成、判断与修正中间状态。传统Prompt工程无法封装任务链条中多个阶段的语义关系,也无法将前一步输出作为结构化输入注入下一阶段提示,因此只能借助外部脚本或人工逻辑串联多个Prompt,导致流程控制混乱、接口连接冗余,缺乏内在一致性与语境继承能力。
2. 上下文组织与动态注入能力薄弱
传统Prompt模板普遍采用静态拼接方式构造上下文,即将历史输入输出、知识内容与用户问题按固定格式拼接在一起输入模型。在Token长度受限、信息密度不均的条件下,静态拼接常常出现高价值信息被截断或语义覆盖不足的情况,且难以根据任务需求动态裁剪、压缩或选择注入内容,导致模型响应准确性与稳定性下降。
3. 缺乏语义可组合性与协议协同能力
传统Prompt设计是孤立的,缺乏语义抽象与协议封装能力,难以支持多模型、多Agent之间的Prompt共享与语境传递。在多Agent系统中,各Agent若各自维护Prompt模板,将造成结构割裂与语义丢失问题,无法支撑上下文跨Agent迁移、Slot级融合与任务结构统一等高级能力。此外,Prompt缺乏可执行描述与接口化结构,也无法通过协议机制实现远程Agent之间的能力调用与行为协调。
综上,传统Prompt工程虽可快速搭建模型调用原型,但在多Agent协作、任务动态链路、上下文压缩调度及协议系统集成方面存在明显能力缺陷,难以满足当前大模型系统向标准化、结构化与自动化演进的实际需求。随着MCP等语义协议的提出,Prompt工程的适用边界正在被重新定义,其角色逐步由任务指令转变为语境组件,服务于更广泛的上下文驱动系统架构。
通信与上下文管理协议
在Agent系统中,各Agent之间往往承担不同的子任务,如信息检索、意图识别、内容生成、逻辑推理等,协同完成一个复杂的整体目标。各Agent须在任务执行过程中传递状态信息、共享上下文并协调子任务的执行流程,但传统系统缺乏统一通信与语义管理机制,常采用接口拼接、数据拼装或特定格式的消息传输方式,导致信息传递结构松散、语义一致性难以保障,系统耦合度高、维护成本高,严重制约了Agent系统的规模化发展。
图4展示了MCP协议、A2A协议与LangChain框架在多Agent系统中的分层定位与交互路径。MCP位于上下文管理层,通过Client组件构建并维护结构化语境,语义内容被封装为Slot并组织成上下文链,传入语言模型生成响应。生成结果回流更新上下文,同时为后续Agent任务提供语义输入,确保语境连续性与任务语义一致性。MCP的作用在于管理跨轮信息结构、压缩历史语料与协调提示构造过程,是语义抽象与状态持久的底层支撑协议。
图4.MCP协议、A2A协议与LangChain框架在多Agent系统中的分层协作机制
A2A协议位于通信调度层,管理不同Agent之间的任务分派与能力互通,通过任务封装、能力声明与结果结构标准化,建立跨平台、异构Agent间的交互机制。系统可将MCP生成的语义输入作为Task结构经由A2A传输至目标Agent,Agent根据自身能力完成子任务后将结果通过Artifact格式返回。同时,LangChain作为执行编排层对Agent组合路径、工具调度与链式执行逻辑进行编排,协调Agent行为顺序与调用依赖关系,构建出可控的任务流程图。三者协同作用构成协议驱动的多Agent智能体系统核心运行机制。
1.上下文协议的提出与核心目标
为解决上述问题,MCP协议(Model Context Protocol)应运而生,其核心目标是实现模型调用与Agent交互中的上下文语义统一表达。MCP通过Slot机制定义了标准化的上下文结构,每个Slot封装一个独立的语义片段,可表示一段用户输入、一条检索内容或一个外部函数调用结果。
上下文链(Context Chain)则将多个Slot组织成有序的语义轨迹,支持压缩、合并、注入等操作,提升上下文可管理性、表达力与跨轮使用能力。MCP兼容主流大模型输入形式,可作为多Agent系统中的语义中间层,解决上下文传递过程中常见的冗余堆叠与结构冲突问题。
2. 通信协议的标准化探索
在通信层面,Google提出的A2A协议为多Agent间的任务调度、状态追踪与能力发现提供了统一协议支撑。A2A采用任务导向的通信结构,将Agent之间的协作封装为Task对象,每个任务具有明确的输入结构、执行状态与输出工件(Artifact),并通过标准化的HTTP+JSON-RPC接口实现任务传输、能力注册与实时状态更新。
Agent通过发布AgentCard文档展现自身能力、接口规范与调用规则,支持跨平台、多厂商、多模型环境下的Ageng接入与互操作,有效避免了异构系统间的调用割裂问题。
3. 协议驱动结构的协同作用
通信协议与上下文协议虽分属系统不同层面,但在多Agent系统中往往相辅相成。MCP协议侧重于任务执行前后的上下文结构建模与内容调度,保证语义传递的完整性与精度;A2A协议则关注任务层级的通信传输与结果回收,确保系统行为的规范性与实时性。二者协同工作,可构建具备任务调度、上下文压缩与语义融合能力的Agent协同网络,显著提升系统的结构清晰度、执行可控性与跨模块协同能力。
通信与上下文协议的引入,标志着多Agent大模型系统正在从流程拼接向协议驱动的语义协作范式转型,为构建具备通用性、可组合性与自动化特征的Agent基础设施提供了坚实支撑。
以上内容节选自《MCP/A2A协议:多Agent系统全链路开发》
作者:段毅 贾存军 李欣博
推荐阅读
▊《MCP/A2A协议:多Agent系统全链路开发》
段毅 贾存军 李欣博
解析多智能体通信协议与语境结构
构建LangChain编排逻辑与工具机制
聚焦复杂任务建模与系统集成实践
收录协议驱动大模型应用落地方案
本书系统阐述了以MCP与A2A为核心的多Agent通信机制及大模型上下文处理协议,全面解析LangChain作为编排框架在构建复杂Agent系统中的关键作用,涵盖从协议设计原理到多Agent系统开发的全流程。全书共分为12章,内容系统而全面。首先介绍MCP与A2A协议的核心设计与实现,包括协议架构设计、消息模型、执行语义等,同时,还深入探讨了LangChain框架的核心组件及其在协议生态中的作用,帮助读者构建扎实的技术基础。随后聚焦于多Agent系统中的复杂技术问题,详细解析了上下文压缩、任务系统建模、函数回调机制、RAG上下检索融合策略等关键技术,并深入探讨了这些技术的协议集成路径。最后通过多个真实应用系统的案例,展示了基于协议驱动的大模型系统的构建、部署与优化过程,提供了完整的可执行代码和实例,帮助读者更好地理解和掌握协议驱动型大模型系统的实际应用与技术实现。
撰 稿 人:计旭
责任编辑:张淑谦
审 核 人:曹新宇
1268