LiteFlow LiteFlow
首页
  • v2.16.0 (当前版本)
  • What's New

    • What' s New In LiteFlow v2.15.3?
  • 历史版本

    • v2.15.X
    • v2.13.X
    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
AI Agent
IDEA 插件
  • 答疑解惑

    • 常见问题
    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念?
  • 项目与社区

    • 项目介绍
    • 项目成员
    • 更新记录
    • 参与开发
    • 加入群聊
    • 谁在使用
赞助
GitHub (opens new window)

广告采用随机轮播方式显示 ❤️成为赞助商
首页
  • v2.16.0 (当前版本)
  • What's New

    • What' s New In LiteFlow v2.15.3?
  • 历史版本

    • v2.15.X
    • v2.13.X
    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
AI Agent
IDEA 插件
  • 答疑解惑

    • 常见问题
    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念?
  • 项目与社区

    • 项目介绍
    • 项目成员
    • 更新记录
    • 参与开发
    • 加入群聊
    • 谁在使用
赞助
GitHub (opens new window)
  • 🤖 什么是 Re-Act Agent
  • 快速开始

    • 📦 引入依赖
    • ⚙️ 基本配置
    • 🧩 编写 Agent 组件
    • 📤 获取 Agent 结果
    • 🌊 流式输出
  • 🏪 模型配置
  • 会话与记忆

    • 💬 会话标识
    • 🧠 记忆持久化
    • 🔄 多轮对话
  • 工作空间与工具

    • 📂 Workspace 配置
    • 📄 文件工具
    • 🐚 Shell 工具
    • 🔧 自定义工具
  • 🎯 Skills 技能系统
  • 高级编排

    • 🔀 条件路由与并行调用
    • 🤝 多 Agent 协作
      • 文件协作
      • 通过 Slot 协作
      • 通过 ContextBean 协作
      • 并行分析 + 汇总模式
  • 运行机制与可观测

    • 🔁 迭代次数与 Summary
    • 📋 Re-Act 事件日志
    • 🪝 自定义 Hook
  • 📖 扩展点速查
  • ⚡ 配置速查
  • 🛡️ 安全建议
  • 🔍 故障排查
  • 🎬 演示项目
  • AI Agent编排
  • 高级编排
铂赛东
2026-05-23
目录

🤝 多 Agent 协作

# 文件协作

同一 conversationId 下的不同 Agent 共享同一个 workspace 目录。Agent A 写入文件,Agent B 可以读取:

// Agent A:生成分析报告
@Component("analyzerAgent")
public class AnalyzerAgentCmp extends ReActAgentComponent {
    @Override
    protected String systemPrompt() {
        return "你是一个数据分析专家。请将分析结果写入 report.md 文件。";
    }
    // ...
}

// Agent B:总结报告
@Component("summaryAgent")
public class SummaryAgentCmp extends ReActAgentComponent {
    @Override
    protected String systemPrompt() {
        return "你是一个总结专家。请读取 report.md 文件并生成摘要。";
    }
    // ...
}
<chain name="collaborateChain">
    THEN(analyzerAgent, summaryAgent);
</chain>

# 通过 Slot 协作

Agent 通过 handleReply 把结果写入 Slot,下一个 Agent 通过 userPrompt 读取:

// Agent A 的 handleReply
@Override
protected void handleReply(Msg reply) {
    ctx().getSlot().setOutput("analyzerResult", reply.getTextContent());
}

// Agent B 的 userPrompt
@Override
protected String userPrompt() {
    Object prev = getSlot().getOutput("analyzerResult");
    return "请基于以下分析结果进行总结:\n" + prev;
}

# 通过 ContextBean 协作

定义一个共享的上下文 Bean,多个 Agent 都可以读写:

public class AgentCtx {
    private String analysisResult;
    private String riskResult;
    private String finalReport;
    // getters and setters...
}
// 各 Agent 的 handleReply 中写入
@Override
protected void handleReply(Msg reply) {
    AgentCtx ctx = ctx().getSlot().getContextBean(AgentCtx.class);
    ctx.setAnalysisResult(reply.getTextContent());
}

// 后续 Agent 的 userPrompt 中读取
@Override
protected String userPrompt() {
    AgentCtx ctx = getSlot().getContextBean(AgentCtx.class);
    return "分析结果:" + ctx.getAnalysisResult() + "\n风险评估:" + ctx.getRiskResult() + "\n请生成最终报告。";
}

# 并行分析 + 汇总模式

这是最常见的多 Agent 协作模式:

<chain name="parallelSummary">
    THEN(
        prepare,
        WHEN(analyzerAgent, riskAgent, marketAgent).maxWaitSeconds(120),
        summaryAgent,
        notify
    );
</chain>

三个 Agent 并行分析不同维度,最后一个 Agent 汇总所有结果。

帮助我们改善此文档 (opens new window)
上次更新: 2026/05/24, 14:26:24
🔀 条件路由与并行调用
🔁 迭代次数与 Summary

← 🔀 条件路由与并行调用 🔁 迭代次数与 Summary→

Theme by Vdoing | Copyright © 2020-2026 铂赛东 | MIT License
沪ICP备18012955号-2