🤖 LiteFlow Agent 简介
LiteFlow Agent 让大模型成为一个可以参与 EL 编排的组件。你可以让它查询订单、读取文件、执行脚本,再把结果交给后续业务组件处理。本专题适用于 LiteFlow 2.16.2、JDK 17 及以上,接入示例使用 Spring Boot。
# 从一次回答到完成任务
单次模型调用根据输入生成回复。Agent 则可以在模型生成过程中调用你提供的工具,再根据工具结果继续处理任务。
例如用户要求“查询订单 A1001,并解释当前物流状态”,Agent 可以先调用订单查询工具,取得真实结果后再组织回答。这种“推理、行动、观察结果、继续推理”的循环称为 ReAct。工具能做什么,由应用提供的 Java 工具、MCP 服务和执行环境决定。
2.16.2 使用 HarnessAgentComponent 作为接入入口。除了模型和工具调用,它还提供会话保存、工作区、长对话压缩、Skills、Docker 沙箱、人工确认和子代理等能力。第一次接入只需完成快速开始,其余能力按需求添加。
# 与业务流程一起编排
<chain name="orderChain">
THEN(prepareOrder, orderAgent, saveResult);
</chain>
这里的 prepareOrder 和 saveResult 是普通 LiteFlow 组件,orderAgent 是 Agent 组件。规则决定业务步骤,Agent 在自己的步骤内选择如何使用工具。
也可以用 IF 选择处理问题的 Agent,或用 THEN 串联调研与总结两个 Agent。同一会话中的 Agent 共享工作区并受会话锁协调,WHEN 并不保证这些 Agent 同时执行,详见条件路由与并行调用。
# 从哪里开始
| 你想做什么 | 阅读位置 |
|---|---|
| 跑通第一个 Agent | 引入依赖 → 基本配置 → 编写组件 |
| 获取完整回复或实时展示文本 | 获取结果、流式输出 |
| 连续对话、重启后续聊 | 多轮对话、会话存储 |
| 查询和删除聊天记录 | 聊天历史 |
| 读写文件、执行脚本 | 工作区、Shell 工具、Docker 沙箱 |
| 接入业务工具和任务说明 | Java 工具、MCP、Skills |
| 让模型返回 Java 对象 | 结构化输出 |
| 根据自然语言选择组件、业务流程或 Agent | Jev 智能选择组件 |
| 审批工具调用、分派子任务、调用远程 Agent | 人工确认、子代理与计划、A2A |
| 运行 Web 聊天应用或客服分流演示 | 演示项目 |
| 从旧版 Agent 升级 | 2.16.2 升级说明 |
# 模块组成
liteflow-agent 是聚合模块。构建对话 Agent 时,选择核心模块、模型平台,以及按需使用的存储或远程调用模块。只需要按语义选择流程分支时,可单独使用 liteflow-agent-jev。
| 模块 | 用途 |
|---|---|
liteflow-agent-core | Agent 组件、JSON 存储、工作区、工具、Skills、事件与调用协调 |
liteflow-agent-openai | OpenAI 及兼容服务,提供 DeepSeek、Kimi、GLM、MiniMax 入口 |
liteflow-agent-anthropic | Anthropic 及兼容服务 |
liteflow-agent-gemini | Google Gemini |
liteflow-agent-dashscope | 阿里云 DashScope |
liteflow-agent-redis | Redis 会话、工作区与快照存储 |
liteflow-agent-mysql | MySQL 会话、工作区与快照存储 |
liteflow-agent-a2a | 将远端 A2A Agent 接入 EL 流程 |
liteflow-agent-jev | 使用 Jev Choice 选择组件或子链 ID,按置信度分流;不依赖 AgentScope 运行时 |
Jev 是 TypeSafe 的结构化决策模型,适合把客户意图等语义判断转换成流程选项。JevSwitchComponent 继承选择组件,直接配合 SWITCH(...).to(...).DEFAULT(...) 使用,接入方法见 Jev 智能选择组件。



