尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
从串行到树搜索:LATS 如何用蒙特卡洛树搜索重构 LLM Agent 决策框架
从串行到树搜索LATS 如何用蒙特卡洛树搜索重构 LLM Agent 决策框架1. 引言大型语言模型LLM驱动的智能体Agent近年来取得了显著进展其中 ReAct 范式Reasoning Acting因其简洁有效的思考-行动-观察循环成为主流。然而ReAct 本质上是串行决策链每一步都严格依赖前一步的输出一旦早期出现错误如选错参数、误解指令整个轨迹便无法挽回导致任务失败。为解决这一问题Princeton 团队提出了LATSLanguage Agent Tree Search将经典的蒙特卡洛树搜索MCTS引入 LLM Agent 的决策过程。通过并行探索多条路径、动态回溯与反思LATS 在 WebShop 和 ALFWorld 等复杂交互基准上将成功率提升了 20~30 个百分点同时付出了 5~10 倍的 LLM 调用成本。本文将从技术原理出发深入剖析 LATS 的设计动机、核心算法、与经典 MCTS 的关键差异并结合实验结果给出客观的适用性分析。2. 背景ReAct 的单链困境ReAct 的工作流程如下Thought → Action → Observation → Thought → Action → ...每一步都建立在前一步的观察之上形成一个线性序列。这种设计的优势在于简单直观、token 开销小但其不可逆性是致命弱点。例如在 WebShop 购物任务中搜索商品 → 正确进入详情页 → 正确选择尺码 → 误选 M用户需要 L点击购买 → 错误延续确认支付 → 最终失败由于没有回溯机制Agent 只能沿着错误路径走到黑。ReAct 的失败本质上是因为它放弃了搜索空间中的大部分可能性仅凭贪婪解码选择一条路径。3. LATS将 MCTS 融入 LLM AgentLATS 的核心洞察是将 LLM 的每次决策视为搜索树中的一个节点通过 MCTS 的探索-利用平衡机制在多个候选动作中并行推进并通过回溯与反思修正错误。3.1 树的定义节点由(state, trajectory_history)组成其中 state 是当前环境状态trajectory_history 是从根节点到该节点的完整动作序列。边代表一个具体的动作Action。节点价值由 LLM 自身评估的分数0~1表示该节点通往成功的概率估计。3.2 六步迭代流程LATS 的每一次迭代严格遵循 MCTS 的经典阶段并额外加入了反思步骤Step 1: Select选择使用UCB1公式从根节点开始向下选择最值得探索的叶子节点UCB(s)Q(s)N(s)cln⁡(N(parent))N(s)UCB(s) \frac{Q(s)}{N(s)} c \sqrt{\frac{\ln(N(parent))}{N(s)}}UCB(s)N(s)Q(s)​cN(s)ln(N(parent))​​其中Q(s)Q(s)Q(s)是节点 s 的累积回报N(s)N(s)N(s)是访问次数ccc是探索常数。该公式平衡了高平均回报和低访问次数两个因素。Step 2: Expand扩展对选中的叶子节点调用 LLM 生成N 个候选动作通常 N3~5。这些动作可以是自然语言指令、API 调用等。Step 3: Evaluate评估LLM 对每个候选动作进行自我评估输出一个 0~1 的价值分数。例如提示“请评估执行该动作后达到目标的概率给出 0 到 1 之间的分数。”Step 4: Simulate模拟从得分最高的候选动作开始让 LLM 进行Rollout快速模拟至任务结束得到一个最终的回报值成功1失败0或中间奖励。Step 5: Backpropagate回溯将本次模拟获得的回报沿着选择路径反向传播更新路径上所有节点的QQQ值和访问次数NNN。Step 6: Reflect反思如果某个分支在模拟中失败LLM 会生成一段反思文本解释失败原因例如“我选择了错误的尺码应该优先检查用户偏好”。这段文本会被附加到后续扩展的上下文中帮助避免重复犯错。重复以上迭代直到找到一条成功路径或达到最大预算。4. LATS 与经典 MCTS 的三个关键差异组件经典 MCTS如 AlphaGoLATS模拟策略随机走子uniform random rolloutsLLM 推理语义丰富的 rollout价值函数手工设计的神经网络或规则LLM 自我评估zero-shot 打分失败处理仅回传低分额外生成反思文本显式注入失败经验保留的核心UCB 公式及其探索-利用权衡机制这是 MCTS 的理论基石。这种设计使得 LATS 能够利用 LLM 强大的语义理解能力替代传统 MCTS 中需要大量领域知识的随机模拟和价值函数从而适用于开放式的自然语言任务。5. 实验分析与性能代价5.1 实验结果基准ReAct 成功率LATS 成功率提升WebShop在线购物~50%~70%20 p.p.ALFWorld家务交互~55%~85%30 p.p.注p.p. 表示百分点。5.2 成本分析LATS 的 LLM 调用次数约为 ReAct 的5~10 倍。原因在于每棵树节点都需要扩展阶段的 N 次 LLM 调用生成候选动作评估阶段的 N 次 LLM 调用打分模拟阶段的多步 rollout反思阶段的 1 次 LLM 调用假设 ReAct 一次任务平均调用 10 次 LLMLATS 可能调用 50~100 次。对于 GPT-4 级别的模型成本会显著上升。5.3 延迟影响由于需要多次串行迭代每次迭代包含多步 LLM 推理LATS 的端到端延迟远高于 ReAct。因此不适合对实时性要求高的场景如在线客服、即时控制。6. 优点、缺点与适用场景6.1 优点高鲁棒性通过树搜索有效避免单点错误导致的全局失败。可解释性搜索树记录了所有尝试过的路径及反思便于调试和分析。无需额外训练完全基于预训练 LLM 的推理能力无需微调。6.2 缺点计算成本高LLM 调用次数剧增经济和时间成本均较高。依赖 LLM 的自我评估质量如果 LLM 打分不准可能导致搜索方向偏差。长尾任务效率低对于简单任务树搜索带来的收益可能不足以抵消额外开销。6.3 适用场景建议场景推荐方案简单、确定性高的任务ReAct低成本、低延迟复杂、多步骤、容错率低的任务LATS用算力换稳定性离线批量处理如自动化测试、数据标注LATS 较优实时交互如聊天机器人ReAct 或轻量级变体7. 总结与展望LATS 证明了将经典搜索算法与 LLM 语义能力结合的强大潜力。其本质是用搜索空间的广度换取决策的稳健性通过 MCTS 的探索机制弥补 LLM 单步决策的不确定性。未来方向可能包括混合策略根据任务难度动态切换 ReAct / LATS。剪枝优化引入置信度阈值提前终止低价值分支。缓存复用对相似状态共享子树减少重复计算。对于从事 LLM Agent 开发的工程师而言LATS 提供了一个重要的设计思路不要只让 LLM “想”更要让它搜。参考文献Zhou et al., “Language Agent Tree Search Unifies Reasoning, Acting, and Planning in Language Models”, 2023.Yao et al., “ReAct: Synergizing Reasoning and Acting in Language Models”, 2022.Browne et al., “A Survey of Monte Carlo Tree Search Methods”, 2012.
RELATED

相关推荐

Python进阶核心:从对象模型到并发编程的深度解析

Python进阶核心:从对象模型到并发编程的深度解析

1. 从“会用”到“精通”:Python进阶的核心是什么? 很多朋友学Python,都是从“Hello World”开始,然后学列表、字典、循环,再学几个库,能写点小脚本,就觉得“我会Python了”。这没错&#xff0c…

📅 2026/9/12 6:14:02
【工作记录】AI总结

【工作记录】AI总结

1、ChatGPT / Codex 1. 介绍 ChatGPT 和 Codex 都是 OpenAI 的产品,但它们的定位和能力完全不同。简单来说:ChatGPT 是一个“顾问”,而 Codex 是一个能替你“执行任务”的员工。 特征ChatGPTCodex产品定位AI 聊天助手 / 顾问AI 代理 / 执行…

📅 2026/10/12 2:53:57
从概念到量产:汽车设计语言的极限探索与工程实现

从概念到量产:汽车设计语言的极限探索与工程实现

1. 从“概念”到“量产”:一次设计语言的极限探索 今天,星途E-IUV概念车正式亮相。对于汽车行业,特别是关注自主高端品牌发展的从业者和爱好者来说,这不仅仅是一次新车发布,更像是一次设计理念的集中“路演”。当“造型…

📅 2026/9/8 13:40:19
MORE NEWS

更多资讯

📰

视觉表达SFT:让多模态模型从“看得懂”到“说得好”

开头部分:我把这套多模态模型从预训练一路搭到推理能出结果的时候,遇到一个非常尴尬的局面:输入一张图,问模型“这是什么”,它能把“猫”“狗”“桌子”这样的名词说对,但让它描述画面里的位置关系、颜色细…

📰

多用户远程桌面环境下软件打不开?进程残留与会话管理排查指南

处理多用户远程桌面环境里的“软件打不开”工单时,最容易被绕进去的一个坑就是:用户明明说“我把程序关了”,任务管理器里却还躺着一堆同名进程,再双击桌面图标又毫无反应。我在服务器运维里反复遇到这种场景——终端服务器上装的…

📰

Python Selenium 调用 Firefox 报错?geckodriver 配置与版本匹配指南

简介:这份资源面向Python初学者与Web自动化测试开发者,解决环境搭建中运行库与浏览器驱动缺失的问题。压缩包内包含Python运行环境相关文件及Firefox浏览器的WebDriver实现Geckodriver,配合Selenium库即可编程控制Firefox完成点击、填表等自动…

📰

视觉表达SFT实战:多模态大模型从感知到表达的微调关键

最近带一个多模态项目,正好走到“视觉表达SFT”这一步。我一开始以为这不过是给多模态大模型做一次普通的有监督微调——把图像特征接进语言模型,训几步就完事。真正跑完一轮实验之后才发现,这个阶段才是决定模型“看着一张图能不能说出人话”…

📰

Sora 2 API零代码批量生成视频:从提示词模板到电商量产实战

视频生成赛道现在卷到什么程度?上个月我还在为外包视频一单300块的报价肉疼,这个月已经看到不少同行在用生成式视频 API 批量出片了。特别是这款 ACE Data Platform Sora 2 API,主打的"0代码量产"直接把门槛砍到几乎不存在——不需…

📰

宠物行为AI实时分析:从行为标签体系到兽医诊断辅助落地

宠物行为AI实时分析这个方向,我最早是持保留态度的。原因很简单:行为学这个概念在兽医诊室里太容易被当成“玄学”,不同医生对同一只狗的行为解读经常不一样,更别提让机器来打分。直到我把这个模拟项目从采集端一路做到评估&#…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬