LangChain Agent的ReAct框架

LangChain Agent的ReAct框架Agent ReAct 是大模型智能体的核心思考与行动框架 全称 Reasoning Acting 推理 行动 是让 Agent 像人类一项 思考问题 gt 制定策略 gt 执行行动 gt 验证结果 的关键逻辑 ReAct 让 Agent 不再是 直接回答问题 而是通过 自然语言思考过程 指导工具调用 一步步解决复杂问题 完美适配需要多步推理

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



Agent ReAct是大模型智能体的核心思考与行动框架,全称Reasoning + Acting(推理+行动),是让Agent像人类一项【思考问题-> 制定策略->执行行动->验证结果】的关键逻辑

ReAct让Agent不再是“直接回答问题”,而是通过“自然语言思考过程”指导工具调用,一步步解决复杂问题,完美适配需要多步推理、工具协作的场景(如智能客服、报告生成、任务规划等)

一个典型的ReAct范式的Agent如图所示:

image

  • 思考Reasoning:分析问题,判断现有信息是否足够,明确下一步
    • 即模型决策是否需要调用外部工具获取更多信息用来回答问题
  • 行动Action:执行思考阶段指定的策略
    • 即基于模型决策结果,调用工具获取信息
  • 观察Observation:获取行动结果,提取有效信息
    • 即获取工具返回值 即判断工具是否正常工作 为下一轮思考提供信息

(再)思考->(再)行动->(再)观察->循环往复直到结束

from langchain.agents import create_agent from langchain_community.chat_models import ChatTongyi from langchain_core.tools import tool

@tool(description=“获取体重,返回值是整数,单位千克”) def get_weight() -> int:

GPT plus 代充 只需 145return 55 

@tool(description=“获取身高,返回值是整数,单位厘米”) def get_height() -> int:

return 178 

create_agent 默认使用ReAct框架

agent = create_agent(

GPT plus 代充 只需 145model=ChatTongyi(model="qwen3-max"), tools=[get_weight, get_height], system_prompt="""你是一个严格遵循ReAct框架的智能体,必须按【思考->行动->观察->再思考】的流程解决问题 且每轮仅能思考并调用一个工具,禁止单词调用多个工具 告知我你的思考过程,工具调用的原因,按思考、行动、观察三个结构告知我 """ 

)

for chunk in agent.stream(

{ "messages": [ {"role": "user", "content": "计算我的BMI?"}, ] }, stream_mode="values" 

):

GPT plus 代充 只需 145latest_message = chunk["messages"][-1] if latest_message.content: print(type(latest_message).__name__, latest_message.content) try: if latest_message.tool_calls: print(f"工具调用: { [tc['name'] for tc in latest_message.tool_calls] }") except AttributeError as e: pass 

输出:

D:ProgramPackegePythonpython.exe D:CodePythonAILangChain30_LangChain_Agent的ReAct框架.py HumanMessage 计算我的BMI? AIMessage 【思考】
要计算BMI(身体质量指数),需要知道体重(千克)和身高(米)。公式为:
$\( ext{BMI} = frac{ ext{体重(kg)}}{ ext{身高(m)}^2} \)$
目前我既没有体重也没有身高的数据,因此需要先获取其中一个值。按照工具调用规则,每轮只能调用一个工具,所以我先获取体重。

















【行动】

【行动】

由于已经完成所有必要步骤,无需进一步调用工具。

小讯
上一篇 2026-03-19 14:23
下一篇 2026-03-19 14:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/245641.html