ReAct

本质是一种 Agent 的**「交互决策范式 / 思维模式」**

是现在绝大多数工具型 Agent(LangChain、LlamaIndex、OpenAI Function Calling 底层思路来源)的基础框架。

让大模型交替进行
「思考推理 (Thought)」 (Reasoning)和
「调用工具行动 (Action)」 (Acting),
再拿到观察 (Observation),循环直到得出答案。

三个核心单元循环

1.Thought

模型内部推理,判断现在该做什么,要不要调用工具、调用哪个工具、参数是什么

2.Action

输出工具调用指令,执行外部动作(搜索、查询数据库、计算)

3.Observation

工具返回的结果,喂回给大模型,作为下一轮思考的输入

循环:

Thought → Action → Observation → Thought → Action → ...→ Final Answer

终止条件:模型判断信息足够,输出最终 Answer(Final Answer)

举个简单Demo例子:(注意别忽视Observation)

java 复制代码
// ReAct 主入口
    public String run(String question) {
        StringBuilder history = new StringBuilder();
        history.append("Question: ").append(question).append("\n");

        for (int step = 0; step < MAX_STEP; step++) {
            // 1. 调用LLM,输入历史上下文,拿到模型输出(Thought / Action / ActionInput / Answer)
            String llmOutput = mockLLM(history.toString());
            System.out.println("==== LLM输出 ====\n" + llmOutput);

            // 2. 解析LLM输出
            ParseResult parseResult = parseLlmOutput(llmOutput);

            // 如果识别到Answer,直接终止,返回答案
            if (parseResult.isFinalAnswer()) {
                return parseResult.getAnswer();
            }

            String actionName = parseResult.getAction();
            String actionInput = parseResult.getActionInput();
            // 3. 路由执行工具,拿到Observation
            Tool tool = toolMap.get(actionName);
            if (tool == null) {
                history.append("Observation: 不存在该工具").append("\n");
                continue;
            }
            String observation = tool.run(actionInput);
            System.out.println("==== Observation(工具返回) ====\n" + observation);

            // 4. 追加本轮记录到上下文,进入下一轮循环
            history.append(llmOutput).append("\n");
            history.append("Observation: ").append(observation).append("\n");
        }
        return "达到最大轮次限制,终止";
    }
相关推荐
威哥爱编程19 分钟前
模拟面试智能体开发实战 02:回答等半分钟,谁还愿意练?把服务端和流式输出搭起来
python·agent·harmonyos
威哥爱编程28 分钟前
模拟面试智能体开发实战 01:面试挂了都不知道挂在哪?用 Python 给自己造一个随叫随到的 AI 面试官
python·agent·harmonyos
努力的小郑1 小时前
数据查到了,回答去哪儿了?一次百炼 + LangChain 排查实录
后端·langchain·agent
DigitalOcean2 小时前
Y Combinator 开源 Agent 运行框架 QM,现已支持在 DigitalOcean 一键部署
agent
赢乐2 小时前
Agent 聊到第 20 轮就“失忆“?——长对话上下文丢失的排查与修复完全指南
agent·长对话·上下文丢失·失忆·关键信息·滑动窗口截断·摘要压缩
阿里云云原生2 小时前
让 Agent 成为企业生产力丨Alibaba Cloud AgentCore 企业智能体构建与治理沙龙·杭州站精彩回顾 & PPT 下载
agent
lucas_AI3 小时前
AGENTS.md 烂了没人管?732 次实测:Coding Agent 每个会话都在替你付「文档债」利息
agent
泯泷3 小时前
AI 最坑的失败:不是不会做,而是"假装做完了"
人工智能·llm·agent
阿里云云原生3 小时前
满帮基于阿里云 AgentCore 打造生产级 SRE 稳定性数字人
agent