LangGraph中ReAct的构建原理

在这里插入图片描述

LangGraph中ReAct相关知识详解

一、LangGraph中自治循环代理的构造思路

(一)代理架构的发展与局限

  1. Router Agent的特点与局限:Router Agent在LangGraph框架里类似路由,依靠if else式条件判断,让大模型决策业务流分支走向。在简单的文本分类场景中,若用户输入包含特定领域关键词,Router Agent可引导模型将文本分类到相应类别路径。但当面对如智能助手场景,路由分支涉及知识检索、数据计算等多种工具时,它难以依据用户输入的复杂需求灵活选择合适工具。
  2. Tool Calling Agent的改进与不足:Tool Calling Agent基于Router Agent优化,配备工具库,能根据用户需求选工具。在智能数据分析场景中,它可根据用户对数据处理的需求,从工具库选择数据清洗、统计分析等工具。然而,其架构限制每次仅能执行一次函数调用。在处理需要先收集市场数据、再进行数据趋势分析、最后生成报告的任务时,无法满足依次执行多个工具的需求。

(二)自治循环代理的优势与核心思想

  1. 扩展控制的关键方式:自治循环代理为应对复杂任务,通过多步骤决策和工具访问扩展Agent对工作流的控制。多步骤决策使Agent能规划一系列决策,如在制定项目方案时,可依次决策项目目标、任务分解、资源分配等步骤;工具访问让Agent可按需选择多种工具,像在开发软件时,根据不同功能需求选择代码编辑、调试、测试等工具。
  2. ReAct思想的核心内涵:基于ReAct思想的代理模式是自治循环代理的典型架构。它为大模型配备丰富外部工具,用提示词引导大模型在接收用户输入后,自主思考、循环执行。以智能写作助手为例,大模型接收写作主题后,先思考选择素材收集工具,收集完成后评估是否满足需求,若不满足则继续选择其他工具补充,直至完成写作任务。

二、如何使用LangGraph中的预构建ReAct组件

(一)预构建组件的构建与运行机制

  1. 组件的构成与架构形式:LangGraph预构建的ReAct组件融合大模型、Tool Calling Agent和Router Agent,以自治循环代理架构服务开发者。大模型在其中起核心作用,通过while循环实现重复调用。在智能客服场景中,大模型作为核心处理单元,不断接收用户问题并进行处理。
  2. 循环调用与决策过程:每次循环,代理自主分析任务状态,决定调用的工具和输入参数。在处理用户关于产品信息查询和购买建议的问题时,代理根据问题内容选择产品数据库查询工具,并输入相关关键词。工具执行结果反馈给大模型,大模型据此评估任务进展,判断是否继续调用工具。当大模型认为已准确回答用户问题,循环终止,输出最终结果。

(二)与LangChain的联系及规划思想体现

在这里插入图片描述

  1. 架构借鉴与语言基础:LangGraph中ReAct Agent架构参考LangChain的ReAct Agent,二者实现机制相似。LangGraph底层用LangChain的LCEL表达式语言,但将ReAct Agent架构适配到图结构,而非像LangChain使用AgentExecuter。在文本处理场景中,虽然二者都能实现文本分析功能,但LangGraph的图结构能更直观展示处理流程。
  2. 规划思想与提示词引导
    • LangChain的提示词获取与代理创建:两者都基于规划思想。LangChain从其HUB(位于smith中)获取引导模型进入特定状态的提示词,通过导入特定提示词(prompt)创建ReAct代理。
    • 模型执行逻辑:该prompt告知模型尽力回答问题,且可使用特定工具(借助占位符tools传入工具对象,工具以函数形式存在以便调用) 。模型回答问题时遵循特定逻辑:先思考解决方案,从工具名称(tool_names)选择合适工具执行动作(action),将解析参数传入工具(action input)获取结果,观察(observation)结果判断是否得到最终答案。若未得到,重复思考、执行动作、执行函数、观测过程,直至得出最终答案(final answer)。这一系列过程构成规划(planning)提示方法,开发者可依需求灵活调整,改变大模型处理用户问题的思维方式。
  3. 提示模板资源与应用
    • 提示模板资源:LangChain能实现多种agent type,LangSmith 网站上有大量他人封装或提供的用于不同任务的prompt提示模板。

    • 在LangGraph中的应用:这些模板可用于学习和实际项目。以ReAct提示为例,在LangGraph基于图的实现过程中,用于构建中间的agent节点。当通过LangGraph预构建的ReAct组件创建自主循环代理节点并接收用户问题时,该节点(可以是agent、LM或直接的大模型 )会先接收start节点传来的原始输入,接着对输入信息进行修饰。修饰内容可能包括添加系统信息(system message)、封装成对话列表支持的形式(如human message、AI message等),这一修饰机制由LangGraph底层完成。若此时判断无需执行工具,模型直接返回结果;若需调用工具,则进入循环过程,在工具库中选择工具执行,通过ToolNode预构建组件返回结果并封装在ToolMessage里,不断循环直至得到最终结果 。
      在这里插入图片描述

    • LangSmith (追踪与可视化ReAct的中间过程)是与 LangChain 紧密关联的工具,在 AI 应用开发中作用显著。其具备实验追踪功能,能记录模型、提示词、工具调用等数据;可进行性能评估,涵盖准确性、相关性、多样性和生成时间等指标;还能可视化展示数据,方便分析。在开发流程里,开发阶段可用于测试多种组合,助力确定最佳方案;优化阶段能辅助定位问题,评估优化效果。它与 LangGraph、LangChain 深度集成,能对 LangGraph 中 ReAct 代理的中间过程进行追踪和可视化,为基于 LangChain 构建的应用优化提供有力支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值