前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库多 Agent 任务交接协议字段设计
AIAI Agent多 Agent 协作

多 Agent 任务交接消息应包含哪些字段,才能让接收方独立执行?

交接不是把上一段对话转发出去,而是给下一位执行者一份可以核对的任务契约。

前端进阶之旅 · 一题精讲更新于 2026.09.06
AI Agent#多 Agent 协作#多 Agent#安全
先看核心答案读代码示例
理解线索

交接需要三类可核对信息

  1. 工作内容目标、输入引用、约束与成功条件
  2. 执行责任接收方、期限、尝试与授权范围
  3. 回传约定产物位置、证据、状态和错误分类

下面是自定义业务消息示例,不是 A2A 或其他协议要求的完整标准报文。

核心回答

先记住这个答案

交接消息至少要让接收方知道任务是什么、为什么做、可使用哪些已确认输入、允许改动什么、怎样算成功以及结果交到哪里。工程上通常还需要稳定任务标识、父任务关联、输入版本、截止时间、尝试编号和可恢复的状态记录。具体字段名不是所有 Agent 框架统一规定的标准,应按业务契约设计。接收方需要确认接单或拒绝,并在返回时区分已完成、缺少输入、失败和状态未知;交接消息里自报的权限不能替代工具执行端的真实授权。

  • 给出目标、输入、范围与验收标准,而非只有行动动词
  • 记录任务身份和输入版本以支持重试与追踪
  • 确认接单和返回结果都是交接契约的一部分

用验收标准消除独立执行时的猜测

“检查登录问题”缺少输入范围和完成条件,接收方可能去查性能、样式或鉴权。交接应说明用户看到的具体行为、需要检查的提交或文件、允许读取和修改的范围,以及希望收到的可验证产物。已有结论也应附证据来源。

示例把工作限定为只读审查,并要求每项发现给出文件位置和复现条件。base_revision 是受控版本引用,接收方必须解析并确认它指向的实际提交;消息中的 allow_write 只是业务约定,执行环境仍应落实只读权限。

一份可独立理解的审查任务契约JSON
{
  "task_id": "review-login-17",
  "parent_task_id": "release-review-4",
  "attempt": 1,
  "goal": "检查登录失败后的错误提示是否保留",
  "input": { "base_revision": "review-base", "paths": ["src/login/"] },
  "scope": { "allow_write": false },
  "acceptance": ["每项发现包含文件位置和复现条件", "无发现时说明检查范围"],
  "result_channel": "task-result",
  "deadline": "2026-09-06T09:30:00Z"
}

该消息提供身份、目标、版本、范围与结果要求,但不包含真实访问凭证。接收端需要解析版本引用、检查期限和权限,再决定接单;消息存在不代表任务已经被接受。

输入引用必须能在接收方环境中兑现

发送方本地临时路径未必能被远端 Agent 读取,动态分支名也可能在执行前发生变化。跨进程交接应使用可访问且有版本约束的产物引用,必要时附摘要和哈希;如果只给截图或自然语言总结,要明确哪些原始证据仍可追溯。

验收结果也应有稳定形式,例如结构化发现列表加证据引用,而不是只说“看完了”。大产物可以单独存储并返回引用,交接消息保留足以判断状态的摘要。这样父任务可以做机器检查,不必再次猜测下游到底完成了哪些部分。

接单和完成之间保留可观察状态

接收方可能发现输入失效、权限不足或期限不合理,应返回明确拒绝或等待更多输入的状态。发送方不能因为消息成功送达就把任务记为已完成,也不能在没有确认时不断创建新的任务身份,造成多个执行者同时处理同一份工作。

恢复时通过稳定任务标识查询已有状态,并保留每次尝试的记录。完成结果若对应旧输入版本,父任务应判断是否仍适用。最终验收责任需要事先约定,避免接收方宣布成功后没有任何模块检查产物是否满足父任务目标。

回答前,多想一步

容易答错的地方

把完整聊天记录发过去就完成了交接设计
历史对话可能含有已撤销目标、无关信息和过期输入;接收方仍需要明确的当前任务契约与可追溯证据。
消息中声明可以写入就等于获得权限
权限必须来自可信宿主与执行端校验;下游不能靠修改交接字段扩大可操作范围,也不能转发不必要的凭证。
试着用自己的话回答

面试官还会怎么问?

任务标识和尝试编号为什么分开?

任务标识代表同一份逻辑工作,尝试编号记录一次具体执行;这样重试可关联历史结果,而用户真正发起新工作时也能建立新的逻辑身份。

截止时间过了但已经完成怎么办?

返回完成时间和产物证据,由父任务按业务规则判断能否接受;不要因为响应晚到就抹掉已发生的副作用,也不要自动执行第二次。

交接协议需要包含模型的完整推理吗?

通常不需要。可执行目标、已确认事实、关键决策理由和证据更重要,过长的中间过程会增加成本并混入未经验证的猜测。

从一道题,走向一组知识

把知识连起来

多 Agent 协作

下游 Agent 交接任务失败了,应该由哪一层负责重试?

交接后的失败需要明确恢复责任和任务身份

多 Agent 协作

多 Agent 协作该用共享黑板还是消息传递,两者怎么组合?

选择任务通过消息交接还是通过共享状态协作

多 Agent 协作

Agent 交接时把结构化结果总结成自然语言会丢信息,如何避免有损交接?

传递结论时保留结构化数据与原始证据

参考资料

  • A2A Protocol:Task and artifact concepts

示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。

本题目录
  1. 先记住这个答案
  2. 用验收标准消除独立执行时的猜测
  3. 输入引用必须能在接收方环境中兑现
  4. 接单和完成之间保留可观察状态
  5. 容易答错的地方
  6. 面试官还会怎么问
  7. 把知识连起来
读懂,再试着讲出来

先看核心答案,再读代码。最后展开追问,检查自己有没有遗漏边界。

试着回答追问
浏览全部面试题理解原理,也关注真实的使用场景。回到顶部 ↑