pdf版下载链https://pan.quark.cn/s/9cc742e9c2a822 Agent 规划与反思ReAct、Reflexion 与 LATS难度 ⭐⭐⭐⭐⭐更新 2026-10-12考点 ReAct局限性、Plan-and-Solve、REWOO、Reflexion、LATS、自主演规划、动态重规划 目录从 Copilot 到 Agent范式转变规划模式ReAct 局限与优化反思模式自我修正架构高阶架构LATS 与 Reflexion工程实践与面试总结一、从 Copilot 到 Agent范式转变Q1: Copilot 和 Agent 的核心区别是什么为什么需要规划和反思图解Copilot vs Agent 答案要点核心区别控制权归属维度Copilot副驾驶Agent智能体控制权人类主导输入指令→输出结果→人类决策下一步AI 主导获得目标→自主规划→执行→反思→迭代执行模式线性Input → Output循环Goal → Plan → Act → Reflect → Re-plan容错性低错误由人类发现高自我发现和修正适用场景翻译、摘要、简单问答代码生成、复杂数据分析、自主决策为什么 Agent 需要规划和反思LLM 本质是下一个 Token 预测器——概率性、无记忆、自主性弱 没有外部架构约束 误差累积Error Compounding 一步错 → 步步错 所以需要 规划Planning 解决视野狭窄问题强制先建立全局观 反思Reflection 解决误差累积问题执行-观察-评价-修正循环面试话术“Copilot 偏人主导Agent 偏目标驱动闭环。长任务要把计划、执行状态、验收条件和恢复点外置是否引入 Planner、并行 Executor 或反思器要用任务成功率、成本和尾延迟做消融。”Q2: 什么是 Chain链和 Loop环的架构差异 答案要点Chain vs Loop 对比Chain传统 LLM 应用 Input → Step A → Step B → Step C → Output ↑ 任何一步错 → 整体失败 LoopAgent 架构 ┌─────────────────────────────────────┐ │ Goal目标 │ │ ↓ │ │ Plan规划 │ │ ↓ │ │ Act执行 │ │ ↓ │ │ Observe观察 │ │ ↓ │ │ Reflect反思 │ │ ↓ ↓ │ │ 达标✓ 未达标→ Re-plan ──────┘为什么 Loop 更适合复杂任务维度ChainLoop容错性脆弱中间一步错全盘皆输鲁棒反思机制自我恢复计算成本低且可预测高取决于收敛轮数适用场景翻译、摘要、简单问答代码生成、复杂推理、自主决策面试话术“从 Chain 到 Loop 是从线性执行到递归闭环的升级。Chain 容错性差Agent 任何一步幻觉都会导致最终结果错误。Loop 引入了反思——生成代码后先自我 Review不达标就打回重做。这种’生成-评估-修正’循环是用延迟换质量对生产级 AI 应用至关重要。”二、规划模式ReAct 局限与优化Q3: ReAct 模式的核心原理是什么它有哪些常见工程缺陷图解ReAct 的优势与风险 答案要点ReAct Reason Act边想边做三个常见缺陷并非所有实现必然出现缺陷1上下文漂移Context Drift长链路任务中ReAct 容易忘记原始目标每一步的 Thought 都是贪婪的局部最优10 步任务 → 第8步 Agent 可能已经跑偏结果误差累积最终答案与目标南辕北辙缺陷2高延迟串行执行问题ReAct 必须等上一步完成才能下一步 三个搜索无依赖ReAct 串行执行 总时间 T1 T2 T3 实际上可以并行 并行时间 max(T1, T2, T3) ≈ T1缺陷3规划与执行耦合ReAct 的 Prompt 混合了策略规划和参数填充模型既要决定下一步做什么又要决定用什么工具、填什么参数认知负担重容易产生幻觉参数面试话术“ReAct 的优势是观察后可动态调整代价是上下文增长、局部决策和潜在串行。任务是否需要 Planner/Executor 解耦应根据依赖图、可逆性和错误成本决定。”Q4: 什么是 Plan-and-Solve它和 ReAct 的核心区别是什么图解Plan-and-Solve 流程 答案要点Plan-and-Solve 先规划再执行解耦Plan-and-Solve先规划后执行 阶段1规划Planner 一次性制定完整 DAG → 1. 搜索iPhone15 → 存#A 2. 搜索Pixel8 → 存#B 与#A无依赖可并行 3. 比较#A和#B 阶段2执行Executor 并行执行所有无依赖步骤 → 同时触发search(iPhone15) 和 search(Pixel8) → 结果填充到 #A 和 #B 阶段3求解Solver 根据填充好的计划生成答案核心区别对比维度ReActPlan-and-Solve执行顺序串行必须等上一步并行无依赖步骤同时跑规划时机每步动态规划开始前一次性规划延迟高所有步骤串行低并行执行上下文长度快速增长稳定只保留计划结果适用场景探索性任务网页浏览、调试步骤明确的任务报告生成、数据分析面试话术“Plan-and-Solve 解耦规划与执行无依赖节点可以并行但环境变化大时要配动态重规划收益必须按任务 DAG 实测。”Q5: 什么是 REWOO它有哪些核心优势图解REWOO 变量化执行 答案要点REWOO Reasoning Without Observation不用观察的推理核心思想把工具调用和推理完全分开REWOO 阶段1Plan只生成计划不包含任何 Observation → Prompt 用户问题 生成包含变量占位符的计划 → 输出Plan E1: search(#AiPhone), E2: search(#BPixel) 阶段2Execute并行执行所有工具不读 Prompt → 并行执行search(iPhone) → #A, search(Pixel) → #B 阶段3Solve用原始问题 执行结果生成答案REWOO 的三大优势优势说明效果Token 效率Plan 阶段不包含逐步工具日志是否节省取决于计划长度和结果汇总方式并行执行规划后识别无依赖步骤并行触发上限由依赖图和外部限流决定鲁棒性单个工具失败不影响整个推理链可针对节点重试面试话术“REWOO 把计划、工具执行和求解分开可减少 observation 反复进入规划上下文但遇到依赖实时观察的任务需要重规划或退回交互式执行。”Q6: 什么是动态重规划什么时候需要触发重规划图解何时触发动态重规划 答案要点动态重规划 执行过程中发现计划失效实时更新计划触发重规划的三种情况情况示例决策工具执行失败搜索API返回404重新规划发现新信息改变前提发现用户问的是二手价格重新规划执行结果不符合预期搜索返回0条结果改用其他数据源重规划架构defexecute_with_replanning(goal):planplanner.create_plan(goal)forattemptinrange(max_retries):results,failed_stepexecute_plan(plan)iffailed_stepisNone:returnresults# 全部成功# 触发重规划传入当前状态失败原因planplanner.replan(goal,results,failed_step)return{status:failed}面试话术“动态重规划解决的是’静态计划的脆弱性’问题。我的实现是每个执行节点用 try-catch 包裹失败就把当前状态和错误原因传回 PlannerPlanner 更新剩余计划而不是全盘重来。这样避免了’一步错就全盘重来’的资源浪费实测重规划触发率约 15-20%。”三、反思模式自我修正架构Q7: 什么是 Generator-Evaluator 架构为什么需要反思 答案要点Generator-Evaluator 生成器-评估器 循环反思架构 用户问题 → Generator → 初步输出 ↓ Evaluator 评估 ↓ 达标 → ✅ → 返回 ↓ ❌ Reflector 生成修改意见 ↓ Generator 修正 ↓ 再评估循环为什么需要反思问题无反思有反思代码有 bug直接输出给用户生成代码 → Review → 打回修改 → 重写答案不完整输出残缺答案生成 → 检查遗漏 → 补充幻觉内容直接返回给用户生成 → 验证事实性 → 修正面试话术“反思机制是生成、评估、修正循环只有评估信号可验证且额外轮次的质量收益超过成本时才值得启用。”Q8: Reflexion 和普通反思有什么区别它的记忆机制是什么图解Reflexion 反思记忆机制 答案要点Reflexion 通过语言反馈和 episodic memory 改进后续 trial不更新模型权重普通反思单任务内 Task1: 生成 → 反思(失败) → 修正 → 成功 问题Task2 的失败教训无法传递给 Task3 Reflexion跨 trial 的 episodic memory Task1: 生成 → 反思(失败) → 修正 → 成功 → 存入记忆 Task2: 生成 → 检索记忆 → 发现Task1相关经验 → 避免重蹈覆辙Reflexion 三步循环Act行动Agent 尝试执行任务Evaluate评估外部 Evaluator 打分Reflect反思失败 → 生成语言反思存入记忆成功 → 也存入记录成功路径下次遇到类似任务 → 检索记忆避免重蹈覆辙面试话术“Reflexion 把环境/评估反馈转成文字反思放入 episodic memory 指导下一次尝试原论文不是通过梯度更新也不能直接等同于任意跨用户的永久记忆。”四、高阶架构LATS 与 Reflexion图解LATS 搜索与反思Q9: 什么是 LATS它和 Reflexion 有什么区别 答案要点LATS Language Agent Tree Search语言 Agent 树搜索核心思想用树搜索做规划和反思ReAct线性探索一条路走到黑 Reflexion单路径 记忆 LATS同时探索多条路径选最优 LATS 树结构 Root目标 / | \ Node1 Node2 Node3三个不同策略 / | \ / | \ / | \ ... (每个节点都是一次 Act-Eval-Reflect 循环) 评估每条路径都走一遍 → 选得分最高的路径LATS vs Reflexion 对比维度ReflexionLATS探索方式单路径 记忆多路径 树搜索适用复杂度中等高需要多策略对比计算成本低高工程实现简单记忆存储复杂树结构管理面试话术“LATS 是树搜索在 Agent 规划中的应用核心思想是’多路径探索选择最优’。Reflexion 像’错题本’同类题做错了记下来LATS 像’试错’同时试三条路选走得最远的。LATS 适合高风险决策场景比如金融交易普通 Agent 任务 Reflexion 就够了。”Q10: 如何设计一个具备反思能力的生产级 Agent有哪些关键工程问题 答案要点五大工程挑战挑战1评估器准确率Evaluator 本身也是 LLM可能误判解决用多维度打分而非单一判断挑战2反思死循环Agent 反反复复无法收敛解决设置最大循环次数 收敛判断挑战3Token 成本爆炸反思循环的多次 LLM 调用 → 成本暴增解决分层评估简单任务用小模型复杂任务才调大模型挑战4记忆存储与检索Reflexion 记忆太多检索变慢解决用向量数据库存储 按类型分类挑战5何时触发反思反思不是免费的何时该触发解决基于规则 基于置信度双保险面试话术“生产级反思 Agent 的核心是平衡’质量’和’成本’。五大工程坑评估器可能误判用多维度代替单判断、反思死循环设 max_iter 收敛判断、Token 成本爆炸分层评估简单任务用小模型、记忆检索慢向量数据库、触发时机规则置信度双保险。我的经验是先用 Reflexion 简单实现看效果瓶颈出现再逐个优化。”*版本: v3.0 | 更新: 2026-10-12 *六、2026年新型 Agent 架构Voyager 与 AutoGen v3Q11-Q12Q11: Voyager 是什么为什么它仍是技能库架构的重要参考 答案要点Voyager Minecraft 世界里的终身学习 AgentVoyager 是 2023 年论文中的 Minecraft Agent不是 2026 年新发布。其长期价值在于自动课程、迭代式 prompting 和可执行技能库三个组件为“把成功轨迹沉淀为可复用技能”提供了清晰范式。核心组件Voyager 架构 ┌─────────────────────────────────────────────────────┐ │ 技能库Skill Library │ │ minecraftcraft_sword() / build_shelter() / ... │ │ 每个技能 可复用的 Python 函数 │ └─────────────────────────────────────────────────────┘ ↑ ┌─────────────────────────────────────────────────────┐ │ 迭代式 Prompt 优化Iterative Prompting │ │ 任务失败 → 修改 Prompt → 再试 → 直到成功 │ │ 成功 → 提取为技能存入技能库 │ └─────────────────────────────────────────────────────┘ ↑ ┌─────────────────────────────────────────────────────┐ │ 环境反馈Environment │ │ Minecraft 游戏状态 LLM 判断 │ └─────────────────────────────────────────────────────┘与 Reflexion 的关键区别维度ReflexionVoyager记忆形式语言反思文本技能代码可执行复用方式检索后作为上下文直接调用函数任务迁移弱同类任务有效强技能可组合适用场景短任务、单一领域跨任务、跨领域为什么重要传统 Agent每次任务从零开始 Voyager每次任务从技能库开始 工程价值 - 成功行为可沉淀为带描述的可执行技能 - 后续任务检索并组合技能而非完整重放历史轨迹 - 技能必须版本化、测试、最小权限、支持撤销不能直接信任模型生成代码面试话术“Voyager 的启发是把经验从自由文本升级为可检索、可执行、可验证的技能生产系统还需给技能加测试、权限、版本和审计。”Q12: AutoGen 和 CrewAI 有什么区别“指挥官-工作器”模式如何落地 答案要点截至 2026-10AutoGen 官方稳定文档提供 AgentChat、Core 和 Extensions 等分层常用 AgentChat API 包括AssistantAgent、CodeExecutorAgent、UserProxyAgent等。官方稳定 API 中没有from autogen import Agents或Agents.ManagerAgent不要背诵不存在的 “AutoGen v3” 示例。参考AutoGen 官方文档。AutoGen 与 CrewAI 的差异应从抽象层和控制方式回答而不是简单概括成“动态 vs 静态”维度AutoGenCrewAI核心抽象AgentChat / 事件驱动 Core / RuntimeAgent、Task、Crew、Flow编排方式对话团队、消息路由、Agent-as-Tool、事件运行时角色与任务编排、顺序/层级流程、Flow控制粒度可从高层 AgentChat 下沉到 Runtime高层业务工作流上手较快适用场景需要自定义消息、运行时或分布式协作角色明确、流程清晰的业务自动化选型原则看状态、权限、容错和可观测需求同左不应只按“谁更智能”选择指挥官-工作器模式用户目标 ↓ Commander拆解任务、分配预算、定义验收条件 ├─ Researcher检索并返回带来源的证据 ├─ Analyst分析数据并输出结构化结论 └─ Writer基于证据生成最终内容 ↓ Commander校验覆盖率、冲突、成本和完成条件生产落地要点子任务使用结构化 schema明确输入、输出、截止时间和验收条件。只有相互独立的子任务并行存在数据依赖时按 DAG 执行。Commander 不盲信子 Agent必须核验来源、工具结果和输出格式。设置最大步数、预算、超时、取消和失败补偿避免 Agent 相互对话不停止。记录任务树、消息、工具调用、模型版本、Token 和最终结果支持轨迹评估。面试话术“我不会把多 Agent 等同于让多个模型自由聊天。指挥官负责拆解、预算和验收工作器只拿最小必要上下文并返回结构化结果编排层负责超时、重试、取消和审计。框架选 AutoGen 还是 CrewAI 取决于消息运行时与流程控制需求简单任务优先单 Agent 或确定性工作流。”七、2026 长任务 Agent 架构Q13Q13: 如何让 Agent 稳定执行跨小时、跨进程、跨上下文窗口的长任务 答案要点长任务不是“给模型更长上下文”就能解决。UltraHorizon、AgentLongBench、AMA-Bench等论文显示动态状态综合、高密度工具日志、因果/目标记忆和早期子计划错误仍会随 horizon 放大。推荐六层架构Goal Contract ├─ 成功/失败/停止条件、预算、权限 Durable Plan ├─ DAG、依赖、版本、剩余任务不把计划只放在对话里 Durable Runtime ├─ checkpoint、幂等节点、重试/取消/补偿、租约与心跳 Context Manager ├─ 工作集、摘要/compaction、旧工具结果清理 Memory ├─ episode/事实/技能分层按需检索来源、TTL、权限、删除 Verifier Human Gate └─ 环境断言、代码/规则/LLM judge不可逆动作人工确认截至 2026-10 的官方实现事实LangGraphcheckpointer 在 super-step 边界保存状态成功节点可保留 pending writesinterrupt()可暂停并以同一thread_id恢复。节点恢复时可能从函数开头重跑因此副作用必须幂等。MCP2026-07-28Tasks 扩展tasks/get、tasks/update、tasks/cancel和 durable task ID 支持异步长操作客户端应持久化 task ID 以便崩溃后继续轮询。Anthropic长会话以 server-side compaction 为主context editing 可清理旧 tool/thinking 内容memory tool 把跨会话文件存储交给客户端控制。OpenAI Agents SDKSession 管理运行间历史Runner 有max_turnshandoff 可过滤上下文tracing 记录 model/tool/guardrail/handoff这些能力仍需业务侧持久任务状态。重规划与反思策略只在前提变化、工具失败、验证不通过或预算漂移时重规划保留已验证产物不全盘重来。反思必须引用失败证据并输出可执行修正限制轮数检测重复状态。工作记忆只保留当前约束、未决问题和已验证结论原始日志进入外部存储可按需回取。技能/长期记忆写入前做去重、事实核验、权限和 TTL用户可查看、修正和删除。用任务完成率、恢复率、错误发生步、无效工具调用、人工介入率、成本和 wall-clock 评估不只看最终文案。面试话术“长任务的关键不是无限上下文而是把计划、状态和产物持久化每个节点可重放且幂等context 只放当前工作集完成条件由环境验证。模型进程可以随时重启任务仍能从 checkpoint 恢复。”
阅读完成 · 觉得有帮助?