ReactAgent执行器概述与触发机制
什么时候会走到 ReactAgentExecutor?
在前面的章节中,我们已经详细讲解了执行器注册表和模式分发机制。简单回顾一下:当用户发送一条消息后,系统会经过意图识别、问题改写、路由判定等一系列准备流程,最终生成一个 ConversationExecutionPlan(执行计划),里面有个关键字段叫 mode。
当用户在聊天界面选择的是 "开发问题" 这个问答模式时,路由阶段会把执行计划的 mode 设为 ExecutionMode.REACT_AGENT。接着注册表根据这个模式找到对应的执行器——也就是我们这篇要重点讲的 ReactAgentExecutor。
为什么叫 ReAct?
ReAct 是 "Reasoning + Acting" 的缩写,是一种让大模型交替进行推理和工具调用的 Agent 范式。模型先思考当前应该做什么,然后决定是否调用工具,拿到工具结果后再继续推理,如此循环直到得出最终答案。
执行器接口定义
所有执行器都实现了同一个接口 ConversationExecutor:
public interface ConversationExecutor {
ExecutionMode mode();
Flux<String> execute(TaskInfo taskInfo);
}
这个接口非常简洁,就两个方法:
mode()返回当前执行器负责的执行模式execute(taskInfo)接收任务上下文,返回一个流式的文本输出
每个执行器只负责一种模式,通过 mode() 方法声明自己是谁。
REACT_AGENT 模式的定义
在 ExecutionMode 枚举中,REACT_AGENT 的定义如下:
/**
* 开放式 ReAct Agent 模式。
*
* <p>适用于固定 RAG 或结构图路径无法覆盖的问题,或者需要 Agent 自主判断是否调用工具的场景。
* 该模式由 {@code ReactAgentExecutor} 执行,会把规划后的 agentQuestion 交给 ReAct Agent,
* 由 Agent 自主进行推理、工具调用和最终回答输出。</p>
*/
REACT_AGENT,
可以看到,这个模式的适用场景是:固定的 RAG 检索或结构图路径搞不定的问题。比如用户问的是一个需要联网搜索才能回答的开放性问题,或者问题本身需要 Agent 自己判断该用什么工具、怎么组合信息来回答。
ReactAgentExecutor 的类声明
@Component
public class ReactAgentExecutor implements ConversationExecutor {
private final ReactAgent reactAgent;
private final StreamEventWriter streamEventWriter;
public ReactAgentExecutor(ReactAgent businessChatReactAgent,
StreamEventWriter streamEventWriter) {
this.reactAgent = businessChatReactAgent;
this.streamEventWriter = streamEventWriter;
}
@Override
public ExecutionMode mode() {
return ExecutionMode.REACT_AGENT;
}
}
这里有两个核心依赖:
ReactAgent reactAgent:这是 Spring AI Alibaba 提供的 ReAct Agent 图执行引擎,负责真正的推理和工具调用循环StreamEventWriter streamEventWriter:SSE 事件序列化工具,负责把各种事件(thinking、text、error 等)序列化成 JSON 推送给前端
mode() 方法直接返回 ExecutionMode.REACT_AGENT,告诉注册表"我负责处理开放式问答"。
付费内容提示
该文档的全部内容仅对「码力全开」项目实战&技术讲解 知识星球用户开放
加入星球,一次获得完整项目资料、全栈技术知识库和长期答疑服务。
100万+字全栈技术知识库深入讲解技术核心、数据库、中间件和分布式等内容
8套热门的实战项目持续更新的企业级项目覆盖高并发、微服务、数据中台 和 AI Agent 等方向
AI 技术知识大模型面试详解覆盖 AI 模型原理、Agent、RAG、MCP、Skills、Harness 等核心知识点
文档 + 视频两种讲解形式既能系统阅读,也能跟随视频理解核心业务
完整项目实战资料
每套项目均包含从 0 到 1 讲解文档核心业务讲解视频从基础项目到复杂业务场景,项目资料会持续更新。
- 01Nexus Agent AI 智能体
- 02Nexus Agent Pro 完全版
- 03黑马点评Plus
- 04大麦
- 05大麦Pro
- 06大麦AI
- 07流量切换
- 08数据中台
加入后还能获得
进入星球后,即可享受上述所有服务,保证不会再有其他隐藏费用。从学习、面试到项目启动,都可以继续获得支持。
- 1 对 1 解答项目和技术问题都可以提问
- 针对性补充没有讲清楚的内容会继续补充
- 面试与简历指导梳理回答技巧和项目亮点
- 中间件云环境项目依赖可以直接接入使用
- 面试后复盘被问住的问题可以继续交流
- 远程问题解决项目启动问题可协助排查
