跳到主要内容

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 讲解文档核心业务讲解视频

从基础项目到复杂业务场景,项目资料会持续更新。

8 套项目
  • 01Nexus Agent AI 智能体
  • 02Nexus Agent Pro 完全版
  • 03黑马点评Plus
  • 04大麦
  • 05大麦Pro
  • 06大麦AI
  • 07流量切换
  • 08数据中台

加入后还能获得

进入星球后,即可享受上述所有服务,保证不会再有其他隐藏费用。

从学习、面试到项目启动,都可以继续获得支持。

  • 1 对 1 解答项目和技术问题都可以提问
  • 针对性补充没有讲清楚的内容会继续补充
  • 面试与简历指导梳理回答技巧和项目亮点
  • 中间件云环境项目依赖可以直接接入使用
  • 面试后复盘被问住的问题可以继续交流
  • 远程问题解决项目启动问题可协助排查
知识星球二维码

扫码进入知识星球

  1. 打开微信,扫描左侧二维码,加入「码力全开」项目实战&技术讲解 知识星球
  2. 查看星球使用指导,获取完整项目讲解资料索引
解锁全部付费内容
🎁优惠