您的位置首页 >人工智能 >

多 Agent 任务失败如何修复,EMMA 框架提示、Skill 与分工调优方案

EMMA 这套面向多 Agent 工作流的框架,如果任务跑崩,不要上来直接全量改写整套流程,优先沿着日志定位失败节点,再按优先级修改:先改任务分工与调度路由,再调整各个 Agent 专属提示词,最后修复、增补或者裁剪对应的 Skill;EMMA 的设计本身就是三层分离,调度层管任务拆分路由、提示词定义单个 Agent 的行为、Skill 封装可复用的子流程,绝大多数失败不是模型不行,而是职责边界模糊、交接契约不清、Skill 的触发条件写得含糊,导致子 Agent 抢活、漏步骤、无限循环或者返回格式错乱,按照分层定位、分层修改的思路,就能把故障收敛到最小改动范围,而不是推倒重写整套多 Agent 链路。

一、先做故障定位:判断该改哪一层

先看日志、trace、中间产物,把失败归到三大类,对应不同修改对象。

  1. 分工 / 调度层问题(改任务分工、路由规则)
  2. Agent 提示词问题(改 prompt)
  3. Skill 技能包问题(改、增、删 Skill)

典型现象:派错 Agent、重复执行、依赖顺序乱、该并行变成串行、子 Agent 不知道什么时候停止、主协调器不会汇总校验。根源是任务拆解粒度不对、输入输出契约没写死、没有明确的完成判定。

典型现象:Agent 拿到正确任务,但理解跑偏、越权去做别的角色的工作、输出格式乱、不会按要求调用 Skill、不会按约定回传结果。根源是角色描述太宽泛、负向约束缺失、交接格式没有强制要求。

典型现象:Agent 角色没问题、分工没问题,但是一执行某个子流程就报错、检索不全、参数乱传、校验逻辑缺失。Skill 在 EMMA 里是独立的可复用流程,带触发条件、执行步骤、输出规范,适合把固定套路抽出来,而不是散写在提示词里。

定位排查清单

  • 先看:协调器输出的任务拆分清单,是不是任务切得太大或者太小
  • 再看:失败 Agent 收到的上下文,是否缺少前置产出、缺少格式约定
  • 再看:它调用的 Skill,触发条件、参数 schema、异常分支是否完整
  • 最后看:交接环节,上一环输出是否满足下一环的输入要求

二、修改任务分工(EMMA 协调层)

这一层改动优先级最高,很多多 Agent 故障根源就在分工。

  1. 给每个子 Agent 明确输入输出契约
  2. 按单一职责划分角色,避免重叠
  3. 补充停止条件、轮次上限、熔断规则
  4. 调整依赖关系

写明:接收什么、必须输出什么、禁止输出什么;每个交接产物固定结构,比如 JSON,不要自由文本来回传递。

推荐标准角色:规划 / 协调、检索采集、执行调用、校验审核、结果汇总;一个角色只负责一类事,规划不要下场写代码,校验不要自己去检索信息。

设置最大委派深度、最大对话轮次,避免死循环;定义 “完成标准”,满足哪些条件协调器就停止分发任务。

强依赖任务串行,无依赖任务并行;协调器增加校验,前置产物不合格时不派发下游任务,直接重试或者升级人工。

分工优化对比表

旧分工常见问题调整方案
角色职责宽泛,边界模糊,互相抢任务增加禁止清单:明确每个 Agent “不能干什么”
任务一次性全部抛出,不分先后在协调器增加依赖图,按阶段派发
没有校验角色,错误一路传导到最后固定独立校验 Agent,对中间产出做断言检查
无限讨论、来回拉扯设置最大交互轮次,超时自动降级

三、修改 Agent 提示词

分工没问题,但 Agent 行为跑偏,就改对应角色的提示,不要统一大改。

  1. 基础结构(每个子 Agent 提示词标配)
  • 角色:你是谁,你的唯一目标
  • 允许动作:可以调用哪些 Skill、工具
  • 禁止动作:不要越权、不要替别的角色决策、不要擅自结束整个任务
  • 输出契约:固定返回结构、字段、格式
  • 异常规则:信息不足时怎么问询,失败怎么回传错误摘要
  1. 常见提示词修复点
  • 如果它频繁调用错误 Skill:在提示词里写清楚每个 Skill 的适用场景和不适用场景
  • 如果输出自由文本,下游解析失败:强制结构化输出,附带 schema
  • 如果它跳过校验直接提交:增加前置自检步骤,提交前自查满足哪些条件
  • 如果它丢失上下文:要求必须把关键证据、引用、中间结果随返回一起带回协调器
  1. EMMA 提示词复用技巧

公共基础规则写在顶层通用 prompt,每个子 Agent 只追加角色专属规则;这样后续统一修改基础规范,不用逐个改所有 Agent。

四、修改 Skill 技能包

Skill 是 EMMA 独立的可复用单元,适合封装检索、解析、汇总、校验、计算等固定流程。

  1. 什么时候改 Skill
  2. Skill 修改方向清单

同一个逻辑被多个 Agent 反复调用、反复出错,就抽成或者修改 Skill;如果只是某一次临时的角色偏好,放在提示词而不是 Skill。

  • 补全触发条件:明确 “什么时候调用这个 Skill”,避免被错误唤起
  • 补参数约束:给入参、出参加上 JSON Schema,必填项、取值范围
  • 增加内部校验分支:拿到结果之后先自检,空结果、冲突结果、证据不足时返回特定错误码
  • 增加重试与降级:区分瞬时错误(超时、限流)和逻辑错误,设置有限重试;重试失败返回结构化失败信息,而不是静默卡死
  • 精简:一个 Skill 只解决一类子问题,不要做成万能大流程
  1. Skill 版本管理

每次改动之后打版本,在 trace 里记录调用的 Skill 版本,方便复现、回滚。

五、完整修复流程(实操顺序)

  1. 从失败 trace 定位:是分工路由、提示词、还是 Skill 问题
  2. 优先调整协调器分工与任务拆分,修复依赖、边界、停止条件
  3. 针对出错的单个 Agent,定向修改它的系统提示词,固定输出契约
  4. 如果是固定子流程反复出错,修改对应 Skill,增加校验、参数约束、异常分支
  5. 小流量复测,跑同一批失败用例;修复后把用例加入回归集
  6. 如果多次调整依然不稳定,考虑减少 Agent 数量,链路越简单,越不容易协同崩溃

六、典型故障和对应修改位置

  • 协调器一直派错人 → 修改任务分工、路由规则、角色能力描述
  • Agent 拿到任务,但输出格式不对、越权干活 → 修改该 Agent 的提示词,增加禁止项和输出规范
  • Agent 角色没问题,一调用检索 / 解析就出错 → 修改对应的 Skill,补参数和内部校验
  • 多个 Agent 结论冲突,没人仲裁 → 在分工里增加校验 / 仲裁角色,给仲裁角色写独立提示词
  • 来回互相提问,无限循环 → 在协调层增加轮次上限,同时在提示词里明确终止判定

【常见问题】

问题 1:EMMA 的多 Agent 失败,优先改提示词、Skill 还是任务分工?

回答 1:EMMA 多 Agent 失败优先排查并修改任务分工与协调调度;分工边界、任务拆分、交接契约没理顺,就算提示词和 Skill 写得再好,依然会出现派错任务、重复执行、依赖混乱;分工确认没问题之后,再针对性修改对应 Agent 的提示词,最后调整 Skill 技能包。

问题 2:EMMA 里 Skill 和提示词该怎么区分,什么时候应该把逻辑放进 Skill?

回答 2:EMMA 中提示词定义单个 Agent 的角色、行为边界和输出约定,Skill 封装跨场景复用的标准化子流程;如果一段逻辑会被多个 Agent 调用、有固定入参出参、需要独立校验和重试,就放到 Skill;只属于某一个 Agent 的临时行为偏好,直接写在该 Agent 的提示词中。

问题 3:EMMA 多 Agent 修复完成之后,怎么确认提示词、Skill、分工修改生效?

回答 3:把之前导致多 Agent 失败的原始用例作为回归用例,使用同样输入复测,核对 trace:协调器任务分发是否符合分工、Agent 是否按提示词约束输出、调用的 Skill 是否按新版逻辑执行;同时统计通过率,新增边界用例防止改好一处又引发新协同故障。

问题 4:EMMA 多 Agent 频繁出现 Agent 之间结论冲突,该怎么调整提示词和分工?

回答 4:先在任务分工里增设独立仲裁 / 校验 Agent,明确它的职责是比对、采信、标记冲突;再修改各个执行 Agent 的提示词,要求返回时附带证据和置信说明;最后给仲裁角色配套专门的 Skill,用来做结果比对、冲突判定、降级输出。

【参考资料】

[2026-11-02](EMMA:面向多 Agent 工作流合成的结构化情景记忆框架)arXiv

[2026-10-21](多 Agent 协同故障定位与分层修复实践)机器之心

[2026-09-12](多 Agent 系统常见失败模式与调优指南)AgentSwarms

[2026-08-04](大模型智能体分工与提示工程规范)腾讯云智能文档

[2026-07-18](多 Agent 交接契约与 Skill 封装方法论)掘金

【免责声明】

本文基于 EMMA 多 Agent 框架公开论文、多智能体协同行业实践整理;提示词、Skill、任务分工的修复效果受基座模型能力、上下文窗口、调用链路、业务场景复杂度影响;调整完成后建议分批灰度验证,不要直接全量上线;不同版本 EMMA 在调度、Skill 机制上存在差异,本文仅作为多 Agent 故障排查与调优参考,不保证适配所有私有二次改造版本。

如果你想要,我可以给你一套可直接复制的 EMMA 协调器、子 Agent、Skill 的模板。

今日大家都在搜的词: