Agent 小知识|Agent 之间如何传递上下文?

简介: Agent 交接任务时,如何传递必要信息并保持任务连续性?

上一期我们聊了 Agent Registry 是什么。通过 Agent Registry,协调 Agent 可以找到具有特定能力的专业 Agent,再把合适的任务交给它。

不过,找到对的 Agent 只是第一步。真到了交接任务的时候,协调方是需要说明任务目标、执行范围、必要材料和交付要求的。如果这些信息没有传递清楚,接手任务的 Agent 即使具备完成任务的能力,也会偏离原先的目标。

这就是本文要讨论的话题:Agent 之间如何传递上下文?

懒人图解版

任务交接需要哪些信息

假设产研团队现在准备发布新版本,需要根据功能变更记录整理出一份产品更新说明。

针对这个任务,协调 Agent 将工作分成两个子任务:资料 Agent 负责根据版本的发布记录和产品文档,整理上线的功能;写作 Agent 则根据整理结果,撰写面向用户的更新说明。

资料 Agent 完成工作后,协调 Agent 将材料交给写作 Agent。但写作 Agent 发现,任务只要求“根据功能变更记录撰写更新说明”,没有交代文稿是面向普通用户还是开发者,也没有明确哪些功能允许对外发布。

这些没说清楚的细节会直接影响最后呈现的内容。面向开发者的说明可能需要接口变化和兼容性信息;面向普通用户的说明则更关注功能的变化和使用体验。如果这次发布的部分功能还在测试阶段,是不能直接写成已经正式上线的。

因此,一次完整的任务交接,通常需要包含四类信息:

  • 任务目标:接手的 Agent 要完成什么工作,解决什么问题。
  • 范围与约束:需要处理哪些内容,哪些事项不能执行。
  • 参考材料:完成任务需要哪些文件、事实和已有结论。
  • 交付要求:最终需要返回什么结果,怎样判断任务完成。

协调 Agent 可以把这些内容整理成结构化的任务说明:

任务:撰写产品 v2.4 更新说明

目标:向普通用户介绍本次版本更新

范围与约束:
- 只介绍已经正式发布的功能
- 不包含内部计划和测试功能

参考材料:
- 已确认的版本变更记录
- 功能说明及对应来源

交付要求:
- 输出一份用户可读的更新说明
- 重要功能描述保留依据
- 无法确认的信息单独标注

这份任务说明可以看作是 Agent 之间的输入契约。它让接收方知道应该完成什么,也为协调方后续验证结果提供了依据。

上下文为什么要筛选

协调 Agent 会掌握完整的任务历史,包括用户讨论、功能变更、内部评审和其他 Agent 的执行记录。但不同 Agent 承担的工作不同,需要“看到”的上下文也不一样。

例如,资料 Agent 需要检查功能是否正式上线,写作 Agent 则主要需要已经确认的功能信息、目标受众和发布要求。至于协调方之前是怎样分配任务、内部讨论过哪些方案,对写作 Agent 来说并没有直接帮助,不用放进上下文。

如果把全部的对话历史和文件直接交给接收方,会增加它的整理工作。接收 Agent 要重新寻找关键条件,还可能把已经被否定的旧方案当成最新决定。同时,冗余内容会占用上下文窗口,增加模型处理信息的成本。

因此,协调方需要根据子任务重新组织上下文,通常可以分成三个层次。

必须直接提供的信息。 包括任务目标、当前有效的约束、已确认结论和交付条件。这些内容决定执行方向,应该明确写入任务说明。

需要时可以查阅的材料。 包括原始文档、测试记录和其他 Agent 的工作结果。对于较长的文件,可以提供带出处的摘录,或允许接收方通过工具按权限读取。

暂时无关的信息。 包括其他任务的历史记录、已失效的计划,以及与当前工作无关的内部资料。这些信息可以留在原系统中,需要时再补充。

筛选也不能只追求内容越少越好。如果协调方只告诉写作 Agent“新版优化了搜索体验”,却没有说明具体变化和信息来源,接收方就很难判断这句话能否写进正式公告。

因此,交接的重点是让接收方获得足以完成任务、核对结论的有效信息。关键事实应保留来源和适用范围,原始材料则可以按需获取。

信息不足时如何继续任务

即使协调方提前整理了相关的任务说明,也很难保证一次性提供全部接收 Agent 所需的信息。接收方执行任务时,可能会发现某个条件不明确,或者缺少判断所需的必要证据。

例如,写作 Agent 发现变更记录中有一项功能标注为“灰度发布”,但任务又要求只介绍正式上线的功能。它无法确定这项功能是否应该出现在更新说明里,就需要向协调 Agent 请求确认。

协调 Agent 可以根据发布规则作出判断:如果现有的信息不足以做出判断,协调 Agent 就需要向有权决定发布范围的人员确认。得到“本次发布不包含灰度功能”的答复后,再把这条决定补回原来的写作任务。

这时,写作 Agent 可以继续处理收到的材料,同时按照新的范围排除灰度功能,不用从头开始整个写作任务。

图 1:上下文交接与补充流程。协调 Agent 下发任务说明,专业 Agent 检查信息、请求澄清,协调方补充确认结果,专业 Agent 继续执行并返回交付物。

这里有两个关键点。首先,接收方要能够明确地提出缺少什么信息,让协调方知道应该补充哪一项条件。其次,新增的信息要关联原任务,避免在多个并行任务之间发生混淆。

任务要求变化后的上下文更新

除了补充缺失的信息,协调方还可能在执行中途变更原有要求。这种情况比单纯的补充材料更复杂,因为之前的部分工作可能白做了。

还是刚才的更新说明。假设写作 Agent 已经完成面向普通用户的初稿,协调方随后收到新要求:这份说明需要改成面向开发者,增加接口变化和兼容性说明。

此时,协调方需要传递新的受众要求,并明确它替代了此前的决定。写作 Agent 收到更新后,也要检查已有初稿:哪些段落可以保留,哪些描述需要修改,是否还缺少新的技术资料。

如果接收方同时保留“面向普通用户”和“面向开发者”两个内容受众要求,写作 Agent 可能会生成不符合两方任何一方预期的内容。

因此,系统还需要维护任务的当前版本。对于可能发生变化的目标、范围和约束,可以记录版本号、更新时间或变更记录,让接收方知道哪些信息仍然有效。

例如:

任务:撰写产品 v2.4 更新说明

要求版本:v2

本次变更:
- 目标受众改为开发者
- 增加接口变化和兼容性说明
- 正式发布范围保持不变

执行要求:
- 检查已有初稿是否需要修改
- 缺少技术资料时请求补充

这里的版本记录是任务管理系统可以采用的一种设计,并非所有 Agent 通信协议都内置这样的机制。

通过这类更新规则,接收方可以在原有工作基础上继续执行,同时避免使用已经过期的任务要求。

A2A 如何关联交接任务

对于运行在同一个系统的 Agent,协调方可以通过内部接口、消息队列或共享任务状态等方式来完成任务的交接。对于运行在不同服务或系统中的 Agent,可以借助 A2A(Agent2Agent)等通信协议来完成消息的传递和任务的追踪。

A2A 允许 Agent 通过消息进行交互,也支持具有执行状态的任务。其中,两个标识与上下文关联有关:

  • taskId:标识一项具体任务,用于将后续消息关联到已经创建的任务。
  • contextId:将多个相关任务和消息归入同一个交互上下文,便于保持交互连续性。

例如,协调 Agent 首次向写作 Agent 发起任务请求时,接收方可以创建任务并返回 taskId。如果后续需要确认灰度功能的发布范围,写作 Agent 可以将任务置于 input-required 状态,表示需要额外输入。

协调方确认后,通过原来的 taskId 发送补充信息,写作 Agent 就能在对应的任务中继续处理。

如果后续还需要审核 Agent 检查更新说明,可以建立另一项任务。相关的任务可以使用同一个 contextId,但各自拥有独立的 taskId,并分别维护执行状态和交付结果。

需要注意,contextId 用于关联交互,并不保证所有 Agent 自动共享完整上下文。不同 Agent 实际能够看到哪些消息、文件和历史状态,仍取决于具体的实现和权限配置。

A2A 负责提供任务与消息交互的协议机制,而哪些信息应该传递、旧要求如何更新、接收方是否具备访问权限,仍需要协调系统进行管理。

执行结果如何交还

上下文传递还包括任务完成后的结果回传。协调 Agent 需要了解接收方完成了什么、使用了哪些依据,以及哪些问题还没有解决。

例如,写作 Agent 已经生成更新说明,但发现其中一项性能改进缺少可以公开引用的数据。它可以返回初稿,同时把尚未确认的内容单独列出:

任务:撰写产品 v2.4 更新说明

结果:初稿已生成,存在一项待确认内容

已完成:
- 整理正式上线的功能变化
- 按当前受众要求生成说明
- 排除尚未正式发布的功能

待确认:
- 性能改进缺少可公开引用的数据

交付:
- 更新说明初稿
- 功能描述对应的来源记录

在 A2A 中,Message 可以用于发送请求、补充信息和交流进度;文档、数据等任务的交付物则可以通过 Artifact 表示。

协调 Agent 收到交付物后,还要根据最初的任务目标和最新的要求检查交付结果。如果部分内容还缺少依据,协调 Agent 就需要标记出来,等补齐相关的资料后再进行核实。

如果再安排审核 Agent 检查说明,协调方只需传递当前有效的发布要求、最新初稿、来源材料和待确认事项。审核 Agent 不需要重新阅读此前全部的讨论,就能继续完成工作。

上下文传递的安全边界

Agent 之间能够交换信息,并不意味着接收方可以访问协调 Agent 掌握的全部资料。

例如,一份版本变更记录会同时包含公开功能、未发布计划和内部测试结果。写作 Agent 只需要正式上线的功能资料,就没有必要接收其他内容。

因此,协调方在传递上下文之前,需要检查材料是否与任务相关、接收方是否有权访问,以及是否包含不应传递的敏感信息。

如果接收方需要读取原始文件,也应通过具备权限控制的工具或文件服务访问。提供文件路径或文档链接,并不等于授予了访问权限。

此外,其他 Agent 返回的内容和外部文档也可能包含错误信息,甚至带有试图改变模型行为的指令。系统需要区分可信的任务要求与待核实的参考材料,防止接收方把材料中的指令直接当成新的任务要求。

对于重要结论,还应保留信息来源和版本信息。这样,多个 Agent 即使在不同时间处理相关任务,也能判断自己使用的材料是否过期,避免基于互相冲突的条件继续工作。

结语

Agent 之间传递上下文,需要明确任务目标、范围、必要材料和交付要求,并在执行过程中处理必要的信息补充与要求更新。协调方还需要把新增信息关联到正确的任务,让接收方能够依据最新条件来继续执行任务。

交付结果时,Agent 应返回完成情况、依据和待验证事项,方便协调方检查结果并安排后续的工作。这样,多 Agent 系统才能在任务拆分和多轮交接中保持信息一致。

相关文章
|
13天前
|
Linux 开发工具 iOS开发
Codex保姆级教程(下载+安装+登录+使用,含所有版本,2026最新)
Codex是OpenAI推出的开源AI编程智能体,本地运行,可理解整个代码库,支持自然语言指令改代码、执行命令、跑测试、修Bug,兼容Win/macOS/Linux。(239字)
5645 42
|
14天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
4861 58
|
8天前
|
Linux 开发工具 iOS开发
2026最新codex下载安装保姆级使用教程(下载+安装+登录+使用,含所有历史版本)
本文详解OpenAI Codex国内快速上手指南:提供Win/macOS/Linux全平台免安装包、npm/Homebrew等多方式安装、账号/API Key双登录、简体中文切换,覆盖下载、安装、汉化、使用及高频避坑(如微软商店失败、npm超时等),10分钟即可跑通。
2230 7
|
6天前
|
人工智能 安全 API
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(dsh)是DeepSeek AI于2026年开源的轻量级Agent运行框架,基于Cordis内核,践行“一切皆插件”理念。支持Web/桌面双端,开箱即用;内置多模型接入、丰富插件生态(超3.5万),适配编程、办公、创作等场景。(239字)
1356 0
|
14天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
2309 7
|
9天前
|
云安全 人工智能 安全
|
1天前
|
云安全 人工智能 安全
|
8天前
|
人工智能 并行计算 调度
本地 AI 一键部署工具 LocModel:Windows 端集成画图、视频生成、Agent 的开源模型运行方案
LocModel 是专为 Windows 设计的一站式本地 AI 工具,支持零配置启动、自动硬件检测、GGUF 模型一键加载、文生图/视频生成及 Agent 自动化任务。适配 8G 显存,内置显存分片调度,轻松实现 AI 漫剧批量创作与离线大模型调用。(239 字)