跳到正文
文章目录

AI Agent:从目标、行动、观察到记忆、工具与规划

原始课件:ai_agent (v11).pptx,共 96 页 主讲:李宏毅 本文使用简体中文整理,论文标题保留英文。

0. 本章总览

本章把 AI Agent 理解为一种“由目标驱动、能够连续与环境互动并自行调整行动”的系统。它与普通问答式 AI 的区别,不在于是否使用了更大的模型,而在于是否形成了持续循环:

目标(Goal)
-> 根据当前观察选择行动(Action)
-> 环境产生新的观察(Observation)
-> Agent 更新上下文、记忆或计划
-> 继续行动,直到达到目标或终止

课件聚焦三个关键能力:

  1. 根据经验调整行为,也就是记忆与持续改进。
  2. 使用工具,把语言模型的能力扩展到外部系统。
  3. 制定并修正计划,在长程任务中搜索可行路径。

一个贯穿全章的重要前提是:课件中的 Agent 主要依赖现成语言模型的推理与上下文学习能力,没有为了每个示例重新训练模型。 因此,本章讨论的重点是推理时的系统设计,而不是参数训练。


1. 什么是 AI Agent(第 1-14 页)

1.1 从“明确指令”到“只给目标”

普通使用方式通常是“一个口令、一个动作”:人类给出明确指令,模型直接生成一次结果。Agent 的输入更接近目标,例如“解决一个研究问题”“赢得比赛”或“完成一次旅行规划”。系统需要自己决定:

  • 目标应拆成哪些子任务;
  • 当前应该采取什么动作;
  • 怎样解释环境反馈;
  • 原计划失败后如何调整;
  • 何时认为任务已经完成。

因此,Agent 适合需要多步骤执行、环境反馈和动态改计划的任务。

1.2 Agent 的基本闭环

课件用 AlphaGo 说明 Goal -> Action -> Observation 闭环:目标是赢棋,行动是落子,观察是对手和棋盘的新状态。这与强化学习的常见表述相似,但本章重点不是为每个任务做强化学习。

传统强化学习方法通常需要:

  • 明确定义状态、动作空间和奖励;
  • 在特定环境中反复采样;
  • 针对任务训练策略以最大化累计奖励。

这种方法在边界清晰的任务中有效,但为每个开放任务重新设计奖励和训练模型,成本很高。

1.3 直接以 LLM 作为 Agent 的决策核心

课件给出的替代思路是直接使用 LLM:

  1. 用自然语言描述目标和当前观察。
  2. LLM 生成文字形式的行动意图。
  3. 系统将文字转译为环境可执行的动作。
  4. 把新的观察追加到上下文,再让 LLM 继续生成下一步。

从 LLM 的角度看,Agent 仍然是在“续写”:

goal, obs1 -> action1, obs2 -> action2, obs3 -> action3 ...

Agent 的能力因此受到基础模型原有能力的直接约束。提示词、记忆、工具和搜索可以放大能力,但不能保证模型已经掌握任务所需的知识或规划算法。

1.4 为什么 LLM Agent 的动作空间更开放

传统 Agent 往往有预先定义的有限动作,例如围棋只有棋盘上的落子位置。LLM Agent 可以通过自然语言调用搜索、代码、数据库、视觉模型、浏览器和操作系统,动作空间接近开放集合。

另一个优势是环境反馈可以包含丰富信息。例如程序出错时,传统奖励可能只是 -1;LLM Agent 可以读取编译日志,再据此修复代码。也就是说,LLM 不只接收奖励值,还能利用带语义的反馈。

1.5 相关研究

  • BIG-bench: Beyond the Imitation Game Benchmark:课件以其中的棋类任务说明,语言模型虽然能处理棋局文本,但“能生成答案”不等于稳定掌握环境规则和长程决策。
  • 课件还用 ChatGPT 与 DeepSeek 下棋的视频案例提醒:演示可以显示能力,也可能暴露非法动作、状态跟踪失败和长程规划不足。

本节结论

LLM Agent 不是一种全新的基础模型,而是一种系统形态:让语言模型在目标、观察和行动之间循环,并通过外部执行器真正改变环境。


2. Agent 的应用与评测环境(第 15-26 页)

2.1 虚拟社会中的生成式 Agent

Generative Agents: Interactive Simulacra of Human Behavior 在类似《模拟人生》的小镇中放入 25 个 Agent。其核心架构包含:

  • 观察:把经历记录成自然语言记忆;
  • 检索:按照相关性、时间近因和重要性取回记忆;
  • 反思:把零散经历综合成更高层认识;
  • 规划:依据记忆与反思生成后续行为。

论文展示了从“举办情人节派对”这一初始意图出发,Agent 自发传播邀请、建立关系并协调到场的现象。消融实验表明,观察、规划和反思都对行为可信度有贡献。

2.2 游戏世界中的 NPC

Minecraft NPC 案例说明 Agent 可以在持续环境中扮演角色、观察世界并采取行动。这里的难点包括:

  • 状态空间巨大;
  • 需要保持长期目标;
  • 行动会改变世界,错误可能累积;
  • 多个 Agent 之间还会产生协作和涌现行为。

2.3 让 AI 使用电脑和网页

网页与电脑操作把观察表示为页面、DOM、截图或系统状态,把行动表示为点击、输入、滚动、选择和调用 API。

相关研究形成了逐渐接近真实世界的一条路线:

研究 主要贡献 对 Agent 的启示
World of Bits(ICML 2017) 建立网页任务平台,让 Agent 通过键鼠完成网页操作 网页可作为通用交互环境,但早期任务较规则化
Mind2Web 收集 137 个真实网站、31 个领域、2000 多个开放任务;用小模型先过滤超长 HTML 通用网页 Agent 需要处理真实页面,并控制输入上下文规模
WebArena 构建可复现、功能完整的网站环境和长程任务 GPT-4 基线端到端成功率为 14.41%,远低于人类 78.24%
VisualWebArena 在 WebArena 基础上加入必须依赖视觉理解的任务 只读取文本或 DOM 不足以处理真实视觉网页

2.4 用 Agent 训练模型和做数据科学

  • AIDE: AI-Driven Exploration in the Space of Code:把机器学习工程视为在代码方案空间中的迭代搜索,通过提出方案、运行实验、读取反馈和继续改进,自动完成建模流程。
  • AutoKaggle:以多 Agent 分工处理数据科学竞赛,体现角色分解、协作、调试与实验管理。

这类系统的关键不是一次生成完整答案,而是维护“代码 -> 运行 -> 指标/错误 -> 修改”的反馈回路。

2.5 用 Agent 辅助科学研究

课件以 Google 的 AI co-scientist 为例展示多 Agent 科研工作流:生成假设、反思、排序、演化、元审查和主管分配任务。它说明复杂研究任务可以拆成多个专门角色,但产出的假设仍需实验与人类专家验证。

2.6 从回合制走向实时互动

回合制 Agent 必须等完整观察结束后才生成行动;真实语音交互需要在输入尚未结束时就决定是否继续听、插话、停止或立即响应。

Full-Duplex-Bench 评测全双工语音对话模型的轮次切换能力。课件用“用户在故事进行中说停止”说明:实时 Agent 的观察和行动在时间上重叠,系统不再是整齐的 obs1 -> action1 -> obs2,而要持续监测并快速切换行为。

本节结论

越真实的环境,Agent 越需要同时处理长程目标、复杂观察、不可逆动作、实时反馈和多约束,而不是只依赖一次文本生成。


3. 根据经验调整行为:Agent 记忆(第 28-46 页)

3.1 参数更新与上下文更新

收到反馈后,系统有两种不同层次的学习:

  1. 更新模型参数:训练或微调模型。本课件不展开。
  2. 不更新参数:把过去经验保存在外部记忆中,在未来任务中检索并放回上下文。

后者本质上是针对经历的 RAG:数据库不再只是外部文档,也可以是 Agent 自己过去的观察、行动、反馈和反思。

3.2 为什么不能把一生经历全部塞进上下文

持续把所有历史记录加入提示词会导致:

  • 上下文超过长度限制;
  • 重要信息被大量细节淹没;
  • 推理成本和延迟持续增长;
  • 无关或错误经验干扰当前决策。

因此,实用记忆系统至少需要 ReadWrite 两个决策模块。

3.3 Read:检索相关经验

基本流程是:

当前目标与观察 -> 生成检索查询 -> 从记忆库取回相关经验 -> 加入上下文 -> 生成行动

检索不能只看表面相似度,还要考虑任务阶段、经验是否成功、反馈是否可靠、时效性以及是否存在冲突。

StreamBench:连续改进能力的评测

StreamBench 把问题和反馈组成连续流,评测语言 Agent 是否能随着序列推进持续提高准确率,而不是只测模型的初始能力。

课件强调两个发现:

  • 检索过去经验可以让性能随时间提高;
  • 负面反馈不一定有帮助。消融图显示,只使用正确经验通常比只使用错误经验更有利。

这意味着“记住所有失败”并不自动产生进步。系统必须判断反馈是否提供了可复用的修正信息。

3.4 Write:决定什么值得写入

每轮经历都写入,会让记忆库被琐碎信息塞满。写入模块应评估:

  • 这次经验是否新颖;
  • 是否纠正了过去错误;
  • 是否能迁移到未来任务;
  • 是否包含可靠结果;
  • 是否应该替换、合并或降低旧记忆权重。

3.5 Reflection:重组和压缩记忆

反思不是简单摘要,而是从多条经历中提炼规律、形成更高层知识,并重新组织索引。例如多次调试后,可以把具体错误归纳为一条可复用的排查流程。

一种自然的演进是:

原始经历 -> 筛选写入 -> 检索使用 -> 反思归纳 -> 更新结构化知识

3.6 用知识图谱组织长期记忆

  • GraphRAG:先从文档构建实体知识图谱,再为图社区生成摘要;面对全局问题时,分别生成局部回答并汇总。它主要解决传统向量 RAG 难以回答“整个语料的主题是什么”这类全局问题。
  • HippoRAG:受海马体索引理论启发,结合 LLM、知识图谱和 Personalized PageRank 进行多跳检索。论文报告其在多跳问答上最高提升约 20%,同时比迭代检索更便宜、更快。

课件在 Agent 记忆中引用它们,是为了说明经历可以被重组为关系网络,而不是永远保持线性日志。

3.7 代表性记忆系统

方法 核心思想 适合解决的问题
MemGPT 借鉴操作系统分层内存,在有限上下文与外部存储之间主动移动信息,并用中断管理控制流 超长文档、多轮跨会话对话
Agent Workflow Memory 从历史轨迹中归纳可复用工作流,再选择性提供给后续任务 长程网页任务;论文在 Mind2Web 和 WebArena 上分别取得 24.6% 和 51.1% 的相对成功率提升
A-MEM 借鉴卡片盒笔记法,为新记忆生成上下文、关键词和标签,并动态建立链接、更新旧记忆 需要持续演化的结构化 Agent 记忆网络

3.8 记忆模块的实践原则

一个可靠的记忆系统不等于一个向量数据库。它至少要回答四个问题:

  1. 写什么:过滤琐碎、重复和不可靠经历。
  2. 怎么存:保留来源、时间、任务、结果和关系。
  3. 怎么读:按当前目标检索,并控制返回数量。
  4. 怎么改:允许合并、反思、纠错、遗忘和版本更新。

4. AI 如何使用工具(第 47-69 页)

4.1 工具调用的本质

对语言模型而言,工具通常被描述为函数:

函数名 + 参数说明 + 返回值说明 + 使用条件

模型先生成结构化调用,Agent 框架执行真正的函数,再把结果作为新的观察返回给模型。课件用温度查询说明:模型生成的 <tool>Temperature(...)</tool> 本身仍只是文字;必须由外部程序解析和执行。

完整流程是:

  1. 系统提示提供工具说明和调用格式。
  2. 用户给出任务。
  3. 模型判断是否需要工具,并生成函数名与参数。
  4. Agent 框架执行函数。
  5. 工具结果作为观察加入上下文。
  6. 模型继续生成面向用户的答案或下一次调用。

4.2 常见工具类型

  • 搜索引擎与 RAG:补充模型参数中没有或已经过时的知识。
  • Python、计算器和代码执行器:进行精确计算、数据处理和验证。
  • 数据库与业务 API:读取或修改真实系统状态。
  • 其他 AI 模型:把语音识别、说话人识别、情感分析、视觉理解等能力模块化。

4.3 使用其他 AI 作为工具:Speech-Copilot

Speech-Copilot 的方法包括:

  1. 分析预收集的语音任务指令;
  2. 把复杂任务拆成可管理的子任务;
  3. 构建模块化语音工具集;
  4. 由 LLM 生成程序来组合工具。

该方法不需要额外训练端到端音频语言模型,并在 Dynamic-SUPERB 上取得当时的领先结果。关键启示是:复杂多模态能力可以通过任务分解和工具组合获得,而不必全部压进一个模型。

4.4 工具很多时:先选择再使用

把数百个工具描述全部放入上下文会增加成本、引入干扰,并使模型选错工具。因此可以加入 Tool Selection 层:根据当前任务先检索少量候选工具,再交给执行 Agent。

  • MetaTool 评测两个问题:是否应该使用工具,以及应该选择哪个或哪些工具。论文发现多数 LLM 在相似工具、可靠性冲突和多工具选择上仍有明显困难。
  • OctoTools 用标准化工具卡、分层规划器和执行器组织可扩展工具;课件引用它说明工具说明、选择与规划可以被模块化。

工具描述本身也是接口设计。名称模糊、参数含义重叠或示例不足,会直接降低选择准确率。

4.5 模型自己创造工具

当现有工具过于底层或不能覆盖任务时,可以让模型生成并保存高层函数。

方法 工具生成方式 关键价值
LATM 强模型负责一次性造工具,较小模型反复调用并缓存工具 把昂贵的工具构建成本分摊到多次使用;GPT-4 造工具、GPT-3.5 用工具可接近全程 GPT-4 的表现
CREATOR 将抽象工具创建与具体任务执行分离,用文档和代码实现新工具 在 MATH、TabMWP 上优于多种 CoT、PoT 和工具使用基线
CRAFT 从训练样例的正确代码解法中抽象、验证、去重工具;推理时检索专用工具 无需微调即可适配视觉、表格和数学等任务
TroVE 在使用中生成、扩充并定期裁剪工具箱 用小得多的工具箱获得更简单、更准确、也更易人工验证的程序

工具创建必须配套验证、权限隔离和生命周期管理。能生成代码并不代表代码正确、安全或值得永久保存。

4.6 不要盲信工具

工具可能返回错误、过期、恶意或脱离上下文的信息。课件以搜索结果建议在披萨上加胶水的案例提醒:RAG 只保证“检索到了文本”,不保证文本正确,更不保证模型能正确综合。

语言模型对荒谬结果有一定判断力,但并不稳定。课件中的温度示例显示,模型可能直接复述 100°C,却会对 10000°C 表示怀疑。这说明判断往往依赖“错误是否足够明显”,而不是可靠验证。

4.7 内部知识与外部证据冲突

  • ClashEval:模型会在内部先验和检索证据之间拉扯。实验中,错误检索内容在超过 60% 的情况下覆盖了模型原本正确的知识;外部内容越不现实,模型越可能回到先验,模型对初始答案越不自信,也越容易采纳外部内容。
  • Blinded by Generated Contexts:当模型生成的上下文和检索上下文冲突时,多个 LLM 倾向相信“同类模型生成”的上下文,即使它是错的。原因包括生成文本与问题更相似,以及检索切片破坏了文档完整性。
  • Do Metadata and Appearance of the Retrieved Webpages Affect LLM’s Reasoning in RAG?:网页发布时间会影响多数模型的选择;来源标签的影响较小;页面外观对 Claude 3 的回答具有明显因果影响。

这些研究共同说明:模型对证据的信任并不只由内容真假决定,还受置信度、相似度、切片方式、时间元数据和页面外观影响。

4.8 工具与模型能力的平衡

使用工具不一定更快、更便宜或更准确。例如 3 x 4 直接心算比调用计算器更高效。合理策略应考虑:

  • 模型是否能稳定直接完成;
  • 错误代价是否足以要求外部验证;
  • 工具调用的延迟和费用;
  • 工具结果是否可信;
  • 操作是否会产生真实且不可逆的影响。

5. AI 能不能做计划(第 70-93 页)

5.1 反应式行动与显式规划

反应式 Agent 每次看到观察就生成下一步;显式规划则先生成一串候选动作,再逐步执行。显式计划可以改善任务分解,但计划不是不可修改的脚本。

Plan-and-Solve Prompting 的核心是先把问题拆成子任务,再依计划求解。它主要用于推理题,能减少 Zero-shot CoT 的漏步骤问题。用于交互式 Agent 时,还必须加入环境反馈和重规划。

5.2 为什么计划必须动态修改

现实环境会偏离预期:

  • 下棋时对手走了不同的棋;
  • 浏览网页时弹出广告或登录窗口;
  • API 返回异常;
  • 资源、时间或预算约束发生变化。

因此,稳健循环应是:

制定计划 -> 执行一步 -> 检查新状态 -> 验证剩余计划 -> 必要时重规划

5.3 LLM 可以生成看似合理的计划,但不等于可执行

Language Models as Zero-Shot Planners 发现,足够大的预训练模型可以把“做早餐”等高层目标分解成中层步骤,但直接生成的步骤经常不能映射到环境允许的动作。论文使用演示和语义翻译,把自由文本计划转为 VirtualHome 的可执行动作,提高了可执行性。

这个研究揭示两个不同指标:

  • 语义正确性:计划在常识上是否合理;
  • 环境可执行性:每一步是否满足动作定义和前置条件。

Agent 需要同时满足二者。

5.4 PlanBench:隔离记忆效应,测试真正的规划

PlanBench 基于自动规划领域构造可扩展任务,用于测试动作、状态变化和计划生成。课件展示两个关键设计:

  • 积木世界要求遵守拿取、放置和堆叠的前置条件;
  • Mystery Blocksworld 把动作和对象改成无意义词,降低模型凭训练语料记忆类似题目的可能。

On the Planning Abilities of Large Language Models 报告 GPT-4 在多个领域自主生成可执行计划的平均成功率约为 12%。但在 LLM-Modulo 架构中,LLM 作为启发式建议源,外部可靠规划器和验证器负责检查与搜索,效果更有希望。

LLMs Still Can’t Plan; Can LRMs? 进一步测试 o1:相对其他模型进步明显,但仍未解决准确性、效率和正确性保证问题。课件中的曲线还强调,计划越长,正确率通常越低。

5.5 TravelPlanner:真实世界多约束规划

TravelPlanner 提供近 400 万条数据、1225 个旅行意图及参考计划,要求 Agent 同时处理信息搜集、预算、日期、交通、餐饮和住宿等约束。论文初始评测中 GPT-4 最终成功率只有 0.6%。主要失败包括:

  • 偏离任务;
  • 工具调用不完整;
  • 忘记硬约束;
  • 生成的日程在局部合理、整体冲突;
  • 输出格式或信息引用不一致。

5.6 形式化验证:让 LLM 负责翻译,让求解器保证约束

Large Language Models Can Solve Real-World Planning Rigorously with Formal Verification Tools 将自然语言旅行需求转成约束满足问题,再交给可靠求解器。方法流程是:

  1. LLM 从用户请求提取变量和约束;
  2. 生成形式化问题;
  3. 求解器搜索满足全部约束的方案;
  4. 检查和修正代码或约束;
  5. 把形式化结果转回自然语言计划。

论文报告在 TravelPlanner 上达到 93.9% 成功率,并能为不可满足的请求找出冲突核心、解释原因、提出修改建议。这是“LLM + 符号工具”优于纯语言生成的典型案例。

5.7 用树搜索增强规划

如果只沿一条轨迹执行,早期错误会持续放大。树搜索会在每个状态提出多个候选动作,评估前景并探索更有希望的分支。

Tree Search for Language Model Agents 使用实际网页环境中的 best-first tree search:

  • 在 VisualWebArena 上,相对无搜索的 GPT-4o Agent 成功率提升 39.7%,达到 26.4%;
  • 在 WebArena 上相对提升 28.0%,达到 19.2%;
  • 增加推理时计算量可以继续提升表现。

课件特别指出树搜索的两个现实问题:

  1. 路径数量指数增长,需要价值评估来剪枝。
  2. 某些动作不可回溯,例如已经下单、发送消息或修改数据,不能把真实环境简单恢复到旧状态。

5.8 用世界模型在“脑内”预演

为避免在真实环境中试错,可以先预测动作后果,再只执行最有希望的动作。这需要世界模型:给定当前状态和候选动作,预测下一个状态或结果价值。

WebDreamer: Is Your LLM Secretly a World Model of the Internet? 让 LLM 同时充当世界模型和价值函数,并训练专用世界模型 Dreamer-7B。论文报告:

  • 相比反应式基线有明显提升;
  • 在 VisualWebArena 中与树搜索竞争时效率高约 4-5 倍;
  • 能用于不可随意回溯的真实网站;
  • 专用的 Dreamer-7B 世界模型可达到接近 GPT-4o 的预测能力。

世界模型的风险是“模拟错误”:如果模型错误预测网页或环境变化,规划会建立在虚假未来之上。因此仍需真实观察校正。


6. 从 Agent 看“思考”:推理与行动的权衡(第 94-95 页)

传统问答把推理看成输入与输出之间的内部文字;Agent 还必须把推理转成环境行动。推理太少可能盲目行动,推理太多也可能错过观察环境的机会。

The Danger of Overthinking 在 SWE-bench Verified 的 4018 条轨迹中分析三类过度思考:

  • 分析瘫痪:反复讨论却迟迟不执行;
  • 失控行动:长推理后采取与证据或目标不一致的操作;
  • 过早退出:在仍可继续交互时放弃任务。

论文发现过度思考分数越高,任务表现越差,推理模型比非推理模型更容易过度思考。选择过度思考较少的解答可使性能提高接近 30%,计算成本下降 43%。

因此,Agent 中有效的“思考”应服务于下一次可验证行动:

  1. 只推理到足以决定下一步;
  2. 尽早通过工具或环境获得新证据;
  3. 根据反馈更新计划;
  4. 不用冗长内心独白替代真实验证。

7. 方法与研究对应速查表

能力 方法 对应研究 主要结论
Agent 基本架构 目标-行动-观察循环 课件总体框架 LLM 在持续上下文中生成动作,外部系统执行并返回观察
社会行为 记忆、反思、规划 Generative Agents 三个组件都影响行为可信度
网页操作 真实网站任务与可复现环境 Mind2WebWebArenaVisualWebArena 真实网页的长程、多模态任务仍很困难
持续改进 从反馈流检索历史经验 StreamBench 正确经验有帮助,负面反馈未必有用
长期记忆 分层内存与上下文管理 MemGPT 在有限上下文中管理长文档与跨会话记忆
流程记忆 归纳并检索可复用工作流 Agent Workflow Memory 显著提升网页任务成功率并减少步骤
结构化记忆 动态链接和演化的卡片盒网络 A-MEM 记忆可随新经历重组,而不只是追加
图式检索 知识图谱、社区摘要、多跳扩散 GraphRAGHippoRAG 提升全局总结和多跳检索能力
AI 作为工具 任务分解、模块化、程序生成 Speech-Copilot 无额外端到端训练也可组合多种语音能力
工具选择 先判断是否用,再选候选工具 MetaToolOctoTools 工具多时需要检索、规划和标准化描述
工具创建 生成、验证、缓存、检索和裁剪函数 LATMCREATORCRAFTTroVE 自制高层工具可提高复用性、准确率和效率
工具可信度 校准内部先验与外部证据 ClashEval 模型可能盲从错误检索,也可能固守错误先验
计划生成 先分解再执行 Plan-and-Solve 减少漏步骤,但交互环境仍需重规划
规划评测 隐去语义、检查前置条件与可执行性 PlanBench 看似合理的文本计划经常不可执行
真实规划 多源信息与多约束行程 TravelPlanner 纯 LLM 难以稳定满足全部约束
形式化规划 LLM 翻译需求,求解器保证约束 Formal Verification Tools 在 TravelPlanner 上大幅提高成功率
推理时搜索 best-first tree search Tree Search for Language Model Agents 搜索提高网页任务成功率,但成本高且受不可逆动作限制
模型式规划 用世界模型预测动作后果 WebDreamer 可以减少真实试错并提高搜索效率
推理-行动平衡 识别并抑制过度思考 The Danger of Overthinking 更长的内部推理不必然带来更好的 Agent 行为

8. 面向实现的系统设计清单

8.1 最小 Agent

  • 明确目标与完成条件;
  • 定义环境观察格式;
  • 定义可执行动作或工具;
  • 让 LLM 在观察后生成结构化动作;
  • 执行动作并把结果返回上下文;
  • 设置最大步骤、超时、预算和终止条件。

8.2 增加长期能力

  • 将成功经验与失败原因分开记录;
  • 为记忆保留来源、时间和可信度;
  • 检索前先形成与当前任务相关的查询;
  • 限制检索数量,并允许冲突检测;
  • 定期反思、合并、纠错和遗忘。

8.3 增加工具能力

  • 使用严格模式定义函数名、参数和返回值;
  • 先做工具选择,再向模型暴露少量候选工具;
  • 校验参数、权限和副作用;
  • 对外部结果做合理性检查和交叉验证;
  • 对代码执行、文件修改、下单和发送信息设置审批边界。

8.4 增加规划能力

  • 区分语义合理与环境可执行;
  • 每执行一步都重新读取状态;
  • 用验证器检查前置条件和约束;
  • 高风险任务优先使用形式化求解或确定性程序;
  • 可回溯环境可考虑树搜索,不可回溯环境优先考虑世界模型预演;
  • 控制推理长度,让思考尽快转化为可验证行动。

9. 本章核心结论

  1. AI Agent 是目标驱动的持续交互系统,而不是一次问答。
  2. LLM 的开放语言接口让 Agent 可以拥有近乎无限的工具和动作,但基础能力缺陷仍会沿轨迹累积。
  3. 记忆的关键不是“存下来”,而是有选择地写入、检索、反思、纠错和遗忘。
  4. 工具扩展了能力,也引入错误信息、权限和不可逆副作用;Agent 必须保留独立判断和验证机制。
  5. LLM 会生成看似合理但不可执行的计划。形式化求解器、验证器、树搜索和世界模型分别提供不同层面的补强。
  6. 推理越长不一定越好。交互式 Agent 应在思考与真实观察之间保持高频闭环。
  7. 一个可靠 Agent 通常不是“单个更强模型”,而是 LLM、记忆、工具、验证器、规划器和环境控制共同组成的系统。

你可能还想看