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 结果
    • 🌊 流式输出
  • 🏪 模型配置
  • 会话与记忆

    • 💬 会话标识
    • 🧠 记忆持久化
    • 🔄 多轮对话
      • 基本原理
      • 方式 1:显式传入 conversationId
      • 方式 2:按业务对象自动生成
      • 跨 JVM 重启恢复
  • 工作空间与工具

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

    • 🔀 条件路由与并行调用
    • 🤝 多 Agent 协作
  • 运行机制与可观测

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

🔄 多轮对话

# 基本原理

多轮对话的关键是让多次调用使用同一个 conversationId,同时保持同一个 Agent 的 agentKey 不变(默认 nodeId 已满足)。

只要多次执行解析出的 (conversationId, agentKey) 相同,Agent 就会复用同一份 memory。

# 方式 1:显式传入 conversationId

// 第一轮
LiteflowResponse first = flowExecutor.execute2Resp(
    "deepseekChain",
    "LiteFlow是什么?",
    ExecuteOption.of().conversationId("chat-user-1-conv-1")
);

// 第二轮(Agent 能记住第一轮的对话内容)
LiteflowResponse second = flowExecutor.execute2Resp(
    "deepseekChain",
    "它能做哪些事情?",
    ExecuteOption.of().conversationId("chat-user-1-conv-1")
);

# 方式 2:按业务对象自动生成

@Override
protected String resolveConversationId() {
    ChatRequest req = getSlot().getChainReqData(getSlot().getChainId());
    return "chat-" + req.getUserId() + "-" + req.getConversationId();
}

# 跨 JVM 重启恢复

是否能跨 JVM 重启恢复历史记忆,取决于 liteflow.agent.session.memory.mode:

  • JVM 或 NONE:无法恢复
  • LOCAL_FILE、REDIS、MYSQL:可以恢复

详见 记忆持久化。

帮助我们改善此文档 (opens new window)
上次更新: 2026/05/24, 14:26:24
🧠 记忆持久化
📂 Workspace 配置

← 🧠 记忆持久化 📂 Workspace 配置→

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