🤝 多 Agent 协作
# 编排多个 Agent
按快速开始的方式分别注册 researchAgent 和 summaryAgent,再写入 EL:
<chain name="answerChain">
THEN(researchAgent, summaryAgent);
</chain>
后一个 Agent 需要前一个结果时,在 summaryAgent 中明确作为输入:
@Override
protected String userPrompt(LiteFlowAgentContext context) {
String previous = getSlot().getResponseData();
return "请整理以下内容,给出简短结论:\n" + previous;
}
每个 Agent 的默认结果会覆盖 responseData。需要保留多份结果时,覆写 handleReply(...),分别写入自己的业务上下文,通过 ExecuteOption.contextBean(...) 或 contextClass(...) 传入。
同一会话中的 Agent 共享工作区,调用会受会话锁协调;放进 WHEN(...) 不保证它们同时运行。并行分支也不要共用 responseData 保存各自结果。
多 Agent 链只想在聊天页面显示最终答复时,先通过 conversations.create(conversationId, "标题", false) 创建会话,再由业务调用 append(...) 保存用户输入和最终结果。保持全局历史开启,以便继续追踪会话关联的 Agent。
# 通过文件协作
同一会话中的 Agent 共享工作区。可以约定研究 Agent 写入 output/research.md,总结 Agent 读取该文件,生成 output/summary.md。用 THEN(researchAgent, summaryAgent) 保证先写后读。
如果任务的分派方式需要由模型决定,可使用子代理;如果 Agent 在另一个服务中,使用 A2A。这些方式按任务需求选择,不必同时引入。
帮助我们改善此文档 (opens new window)
上次更新: 2026/09/20, 11:49:27



