Solon v3.9.0

react - 启用反馈模式(ReAct-Feedback)

</> markdown
2026年1月29日 下午6:51:58

在自动化的 AI 工作流中,最令人担心的不是 AI “不会做”,而是 AI 在遇到不确定因素时“瞎做”。

为了让智能体更加安全、可控,Solon AI 为 ReActAgent 引入了 反馈模式(Feedback Mode)。这是一种典型的 (智能的)Human-in-the-Loop(人工在环) 设计模式,允许智能体在推理遇到瓶颈或高风险操作时,主动停下来向外部(通常是人类)寻求帮助。

1、什么是反馈模式?

普通的 ReAct 智能体在面对未知、错误或权限不足时,往往会不断尝试(陷入死循环)或输出幻觉。

反馈模式 赋予了智能体一个虚拟的工具 —— feedback。当智能体意识到:

  • 缺乏关键背景信息。
  • 现有工具无法解决当前子任务。
  • 即将执行的操作具有高风险(如:大额转账、删除生产环境数据)。

它会主动调用 feedback 工具,将当前的思考(Thought)、**困境(Reason)**以及需要协助的具体问题输出,并暂停推理等待外部输入。

2、 核心原理与数据流转

一旦通过 .feedbackMode(true) 启用该功能,ReActAgent 会自动在工具集中注入一个系统级工具。

核心组件描述
主动决策LLM 根据当前的 ReActTrace 判断是否需要外部干预。
描述注入通过 feedbackDescription 告诉 AI 什么时候该“求助”。
中断与挂起执行到反馈节点时,Agent 返回特殊状态,保存当前的会话快照。
上下文反馈用户/开发者提供的反馈信息将作为观察结果(Observation)重新喂给 AI,驱动其修正逻辑。

3、如何配置反馈模式?

通过 ReActOptionsAmend 可以轻松开启并自定义反馈行为。

ReActAgent agent = ReActAgent.of(chatModel)
        .name("finance_assistant")
        // 1. 开启反馈模式
        .feedbackMode(true)
        // 2. (可选)告诉 AI 它在什么情况下可以求助(自定义反馈工具的描述) //最好不要改
        .feedbackDescription(trace -> "当你涉及 1000 元以上的操作,或无法确认报销政策时,请使用此工具询问管理员。")
        .build();

// 发起调用
ReActResponse resp = agent.prompt("给张三报销 5000 元交通费").call();

// 如果触发了反馈,可以通过 trace 检查原因
if(resp.getTrace().isWaitingFeedback()) {
     System.out.println("AI 请求协助:" + resp.getContent());
}

也可以在调用时配置

ReActResponse resp = agent.prompt("给张三报销 5000 元交通费").options(o->o.feedbackMode(true)).call();

也可与 planningMode 同时启用。

4、 典型应用场景

A. 高风险决策拦截(Safe-Guard)

在执行敏感操作(数据库删除、资金拨付、邮件群发)前,Agent 主动提交草稿请人审阅。

  • AI Thought: "用户要求删除该用户记录,但这属于敏感操作。我需要先调用 feedback 获得人工确认。"

B. 关键信息补全

当用户指令过于模糊,且本地知识库检索不到相关信息时,Agent 不再“盲猜”。

  • AI Thought: "用户要求订票,但我不知道他偏好的出发时间。我应该调用 feedback 询问用户。"

C. 环境异常处理

当调用的 API 持续返回 401 错误或由于网络原因不可达时,Agent 可以请求管理员检查环境配置。

5、 最佳实践建议

  • 明确引导词: 在 feedbackDescription 中明确告诉 AI 反馈者的身份(如“我是系统管理员”或“我是你的终端用户”),这有助于 AI 组织更合适的询问文案。
  • 状态保持: 反馈模式通常伴随着长时任务。建议利用 Session 持久化 ReActTrace,确保人工在几小时后回复时,AI 依然能接上之前的思路。
  • 配合规划模式: 规划模式(Planning)能让 AI 提前发现潜在的冲突,而反馈模式能在执行中处理突发情况。两者结合是构建工业级 Agent 的黄金组合。

总结

反馈模式将 AI 从一个“黑盒自动执行器”转变为一个“懂规矩的数字协作助手”。它不再单纯地追求自动化率,而是通过合理的“求助”来换取任务执行的确定性与安全性。