ReAct 自动循环智能体 (LLM + 工具 + 提示词)

ReAct = 推理 (Reason) + 行动 (Act)

自动循环智能体流程:

  1. 提示词 (Prompt) → 大语言模型推理 (LLM) → 工具 (Tools)

用户:“我的 ORD-001 订单到哪了?”


① 推理 (Reason)
模型思考:我需要查询订单信息


② 行动 (Act)
调用 getOrderInfo 工具


③ 观察 (Observe)
获取结果:{ status: “已发货”, trackingNo: “SF123” }


① 推理 (Reason)
模型思考:有快递单号,我再查询物流信息


② 行动 (Act)
调用 getLogisticsInfo 工具


③ 观察 (Observe)
获取结果:已到达北京分拣中心


① 推理 (Reason) → 组织最终回复
输出:“亲,您的 ORD-001 订单已发货,快递单号 SF123 目前在北京分拣中心~”

LangGraph 提供 API:CreateReactAgent(all, tool, prompt),可自动根据提示词分析并调用工具,返回推理结果。

┌─────────────────────────────────────────────────────┐
│ ReAct Agent 工作流程 │
└─────────────────────────────────────────────────────┘

用户输入:“我的 ORD-001 订单到哪了?”


┌──────────┐
│ ① 推理 │ ← 大模型(DeepSeek):需要查订单信息
│ Reason │
└────┬─────┘
│ 输出:调用 getOrderInfo(“ORD-001”)

┌──────────┐
│ ② 行动 │ ← 执行工具 → 返回 { status:“已发货”, trackingNo:“SF123” }
│ Act │
└────┬─────┘
│ 工具结果

┌──────────┐
│ ③ 观察 │ ← 模型阅读结果:有快递单号,继续查物流
│ Observe │
└────┬─────┘
│ 需要更多信息? ──Yes──→ 回到 ①(循环)
│ No

┌──────────┐
│ 最终回复 │ → “亲,您的订单已发货,快递 SF123 已到达北京分拣中心~”
└──────────┘

═══════════════════════════════════════
你的代码中对应关系:
═══════════════════════════════════════

createReactAgent({ llm, tools, prompt })
│ │ │ │
│ │ │ └──→ ③ 推理依据(系统提示词)
│ │ └──────────→ ② 可调用的工具
│ └─────────────────→ ① 推理引擎
└──────────────────────────────→ 以上三点拼成一个自动循环 Agent

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐