跳到主要内容

模型会「说」之后,下一站是「做」:查资料、跑代码、看结果、改计划。 智能体不是更大的模型,而是「模型 + 工具 + 记忆 + 规划 + 环境反馈」 组成的系统。书里的话值得记牢:智能体工程更像把语言模型嵌入一个 受约束的软件系统,而不是给模型加几个工具。

智能体:从生成文本到在环境中行动

1. 这一章讲什么

两件事: 智能体的骨架(四组件 + ReAct 循环);以及把骨架撑起来要补的 六件事——记忆、检索、工具、多模态感知、安全边界、评估治理。

它在全书链条里的位置: 第 32 章结束,模型「会答」;这一章让它「做事」。 它同时回收前面多章的伏笔:强化学习教它从结果里学(第 29、30 章), 对齐教它守规矩(第 32 章),注意力与多模态教它看东西(第 20、22 章)。

需要第 32 章;本章多处引我们代码书架的拆解与源码,均标「补充(不在书里)」。

2. 顶层全景

用户指令

┌─────────────────────────────┐
│ 感知 → 思考(规划) → 行动 │ ← LLM 大脑 + 记忆(短期=上下文,长期=外部库)
│ ↑ ↓ │
│ └── 环境(工具/网页/代码执行器) ──┘
└─────────────────────────────┘

最终答案 / 任务完成

配套四件事:检索(答案不在参数里) · 工具协议(手伸出去)
· 安全边界(出错了怎么办) · 评估(过程也要打分)

一句话链条: 光会生成文本不够 → 给模型配上感知、规划、行动、记忆四个 组件 → 用「想一步做一步看一眼」的循环驱动 → 记忆分内外两层 → 答案不在参数里就先查再答 → 行动靠受约束的工具调用(让模型申请外部操作) → 失败要反思、 危险要关进沙箱 → 评估的对象从「答案」变成「整个过程」。

3. 从「说」到「做」:定义与四组件

书给的定义:基于大语言模型的智能体,是以大语言模型为核心「大脑」, 通过感知环境、调用工具、执行操作并根据反馈修正计划来完成复杂任务的系统1。 四条模型能力让它成为可能:指令遵循、推理与规划、格式化输出(JSON——一种键值对文本格式)、 上下文学习2

四个核心组件3:

组件职责关键细节
感知从环境取信息(指令/工具返回/网页/多模态)还要对原始输入做信息筛选与压缩
规划把复杂目标分解为子任务、定顺序要考虑工具能力范围、失败场景、备选方案
行动生成文本之外:搜索、执行代码、操作文件、调 API按约定格式(如 JSON)生成,外部执行器解析执行后回填
记忆短期 = 当前任务的上下文窗口;长期 = 外部存储(如向量数据库——按相似度查条目的库)长期让智能体从过去的成功与失败中学习

4

4. 想一步、做一步、看一眼:ReAct 循环

ReAct 把推理与行动交替:每一步先用自然语言「思考」(当前状态和下一步 计划),再执行一个「行动」,然后接收环境返回的「观察」,据此进入下一轮—— 思考t → 行动t → 观察t → 思考t+1 → …5

两个对照书都给了:与纯推理(思维链——一口气写完整段推理)比,ReAct 能引入外部信息, 减少幻觉;与纯行动(直接调工具不思考)比,显式思考让决策透明可解释。 而且「可通过提示模板自然实现,无需修改模型参数」6

补充(不在书里,依据我们的 frontier 书架):这个循环在工程上就是 一个带上限的 while 循环——「未拿到最终答案 且 步数 ≤ max_steps」就继续转, 靠 max_steps 兜底终止,避免模型陷入无限打转。 依据: shelf=ai-frontier-reference/smolagents#01-agent-loop.md 事实=文档写明 while 循环把「记忆→消息→模型→行动→观测→回写记忆」串起来,退出条件含 max_steps。

多步任务靠任务分解:自顶向下先订总计划再执行、逐步展开按当前状态 动态决定下一步、或「规划-执行-再规划」边走边修7。工程上,每一步的 状态被显式存下来,系统才能中断、回放、插人工确认—— 补充(不在书里,依据我们的 frontier 书架):持久化机制把状态落到存储, 中断恢复与人工在环(HIL)因此可行。 依据: shelf=ai-frontier-reference/langgraph#03-persistence-hil.md 事实=文档以「中断与恢复」为标题,给出 interrupt_before/after 中断点与检查点(把状态存档备恢复)机制。

主走查:一个智能体跑三轮

任务:「检索『RAG(检索增强生成)近两年的代表性进展』并写一份摘要。 模型:某通用对话模型;工具:网页搜索 + 网页阅读;步数上限 10。 以下所有 token(词元)数与轮次内容都是为演示编的,机制按 ReAct 原型走。**

第 0 步 上下文 = 系统提示 800 + 任务 60 ≈ 860 tokens

第 1 轮 思考:先搜综述,拿到候选文献清单
行动:search(q="检索增强生成 RAG 代表性进展 2024..2025")
观察:返回 5 条「标题+摘要」,约 1200 tokens
上下文累计 ≈ 2100

第 2 轮 思考:第 2、4 条最相关(一篇多跳检索、一篇隐空间检索),读原文
行动:read(url=第 2 条链接)
观察:正文太长,工具返回抽取的相关段落约 1500 tokens
上下文累计 ≈ 3700

第 3 轮 思考:证据够覆盖两条主线,写摘要并标注来源
行动:answer(摘要,附 4 条引用)
观察:任务完成,总步数 3/10
上下文累计 ≈ 4100

走查里每一步旁边都有具体的字串与数字:搜索词是一串真实形状的查询, 观察带 token 数,终止条件「3 ≤ 10」肉眼可查。评估这个任务不只看 「摘要写了没」,要看六个数(它们是什么,第 9 节给全)。

5. 记得住多久:两层记忆

上下文窗口是短期记忆——对话历史和中间推理都在里面,但容量有限; 长期记忆放在外部(向量数据库等),让智能体跨任务积累经验8

补充(不在书里,依据我们的 frontier 书架):长期记忆通常分三层—— 常驻上下文的记忆块(模型每步都看得见)、数据库里的全部历史消息、 带向量嵌入的长期知识库,三者用工具互相存取。 依据: shelf=ai-frontier-reference/letta#01-memory-tiers.md 事实=文档写明 core(常驻可自编辑)/recall(历史消息)/archival(带向量的长期知识)三层。

写入侧同样有讲究:一条记忆不是原样堆进库—— 补充(不在书里,依据我们的 frontier 书架):新记忆要先经抽取、去重、 冲突消解,再批量落库。 依据: shelf=ai-frontier-reference/mem0#01-add-pipeline.md 事实=文档描述 ADD 流程为「抽取 + md5 哈希(内容指纹)去重 + 批量持久化」,并明确「去重」「批量落库」两个阶段。

6. 答案不在参数里的时候:检索增强生成

RAG 三阶段:索引(文档切片、编码成向量、入向量库(以向量存条目的库))→ 检索 (查询编码后按相似度取 Top-k)→ 生成(片段拼进上下文再回答)9。 书给它的定位一句:利用外部的、领域特定的、可更新的知识而无需重新训练, 对缓解知识过时和幻觉尤为有效;并且「检索本身就是一种工具调用」10

进阶三招:查询改写(把用户问法改写成更适合检索的形式)、重排(把粗召回的结果再精排一次) 、多跳检索(一跳不够再查一跳)11。两把进阶的尺子:

  • 补充(不在书里,依据我们的 frontier 书架):图谱类 RAG 把问题拆成 高层主题词与低层实体词,分别去查图的边与点,再拼上下文。 依据: shelf=ai-frontier-reference/hkuds-lightrag#02-dual-level-retrieval.md 事实=文档写明「高层主题词(hl)和低层实体词(ll)」,ll 查实体向量库的点、hl 查关系向量库的边。
  • 补充(不在书里,依据我们的 frontier 书架):多跳的另一种做法是先挑少量 相关事实当种子,再让相关性沿图扩散来排段落。 依据: shelf=ai-frontier-reference/hipporag#02-online-retrieval-ppr.md 事实=文档标题即「种子与个性化 PageRank」,描述 PPR 让相关性在图上扩散。

7. 手怎么伸出去:工具调用与协议

协议,就是约定「工具请求长什么样、谁来校验执行」的双边合同。

工具调用的工程形状书描述得很完整:系统预先声明工具名称、参数类型、 返回格式和调用权限,模型只生成受约束的调用请求,执行器负责校验、执行 和返回结果;结构化输出用 JSON Schema(描述 JSON 该长什么样的模板)等约束减少格式错误。

多步工作流(多步任务的调度与衔接)通常被表示为状态机或图,以支持「错误回放、权限审计和失败恢复」12。 工具太多装不进上下文时,先做工具检索再让模型选13

**协议层:**当智能体要接的工具来自不同厂商,就需要一个统一的接法。 补充(不在书里,依据我们的 protocol 书架):这个协议名叫 模型上下文协议(MCP——Model Context Protocol)。原书通篇没有讲它(全库检索零命中),

这里的说法挂在我们自己的规范拆解上:服务器(提供工具的一方)能给的东西,按「谁决定 它何时被用」分成三类。

三类原语——协议里最基本的积木——分别是:Prompts 用户控制、Resources 应用控制、 Tools 模型控制。 依据: shelf=ai-protocol-reference/mcp-spec#03-server-primitives.md 事实=文档的原语表明确标注:Prompts(用户控制)/Resources(应用控制)/Tools(模型控制)。

8. 模型怎么看见东西:多模态

多模态大模型的统一思路:非文本模态经专用编码器,转成与文本词元兼容的 表示,再进语言模型联合处理。两类架构:模块拼接式(如 LLaVA:视觉编码器 提特征→投影层映成「视觉词元」→与文本词元拼接)和原生多模态 (训练阶段就统一建模,交互更深但训练更贵)14。 对智能体的意义:能直接「看」应用界面截图、理解按钮菜单, 靠模拟点击完成任务,而不必依赖专门的 API15

9. 出错了怎么办、越权了怎么办

四道防线,书各给了机制名:

  • 反思与自我修正:任务失败后让智能体写自然语言「经验总结」存入记忆, 下次尝试不再踩坑——这是一种不更新参数的学习;Self-Refine 则对单次 输出自评自改,可迭代多轮16。外部验证器(编译器、单元测试、符号计算) 比自我评估更客观17;
  • 权限边界:表 13.1 给的做法是最小权限、沙箱执行、人工确认、读写隔离、 危险操作白名单18;
  • 沙箱:补充(不在书里,依据我们的 agent(智能体)书架):代码执行类工具 应收进统一入口,鉴权与分流集中在门上。 依据: shelf=ai-agent-reference/aio-sandbox#01-runtime-and-entrypoints.md 事实=文档写明「端口按路径前缀分流到所有子系统」「鉴权在入口层拦」;
  • 提示注入:书把它列进「过程安全」维度——工具返回的内容可能携带 恶意指令污染上下文,对策是输入隔离、指令优先级、来源标注、回滚与审计19。 补充(不在书里,依据我们的 agent 书架):防御可以前置到输入侧—— 依据: shelf=ai-agent-reference/llamafirewall#02-scanners.md 事实=文档写明六个扫描器分「本地轻量(PromptGuard 分类器/CodeShield)」 与远程审计两派,各自独立阈值。

10. 怎么判断它到底行不行:评估

评估对象从「答案」变成了「完整流程」。 书的表 13.1 列了五个维度: 任务效果(成功率/人工评价/基准集/引用一致性)、工具执行(模式校验/执行日志(留档可查)/ 失败重试与超时)、权限边界、记忆管理、过程安全;RAG 系统还要把评估拆成 检索质量(找到相关证据没有)与生成忠实性(回答真被证据支持吗)20。 主走查那六个数,对应过来就是:任务是否完成、检索命中、引用忠实、 工具调用合法、全程只读未越权、失败重试成功。

补充(不在书里,依据我们的 frontier 书架):评测框架把这条链做成 流水线—— 依据: shelf=ai-frontier-reference/inspect-ai#01-eval-loop.md 事实=文档写明一条样本走 setup → 一串 solver → 一串 scorer → 写日志; 补充(不在书里,依据我们的 frontier 书架):工具型基准的分项打分法—— 依据: shelf=ai-frontier-reference/tau2-bench#03-evaluation.md 事实=文档写明各分量按 reward_basis 相乘取 0/1,数据库分靠重放终态的哈希比对。

11. 多个智能体一起干

单智能体不够时,书列了三种协作模式:分工(架构师/程序员/测试工程师 各司其职)、讨论(各提观点多轮完善)、辩论(相互质疑纠错)21。 通信可以是消息传递(链式/星形/全连接)或共享记忆(异步:各做各的不必同时)协作22。 代价书同样给了:协调开销——智能体越多通信成本与冲突越大, 还可能出现「群体思维」导致多样性丧失23

12. 作者的判断与证据

书里给了框架与定义的: 智能体定义与四组件13;ReAct 循环及其 两个对照56;RAG 三阶段9;评估五维度表20;三种协作模式21

书里给了坦白的: 感知必须做信息筛选压缩(上下文有限)3; 协调开销与群体思维23;「智能体工程更像是把语言模型嵌入一个受约束的 软件系统」24

书里留白的(用书架补的): 循环的终止机制、记忆分层、图谱检索、 MCP 协议、沙箱与输入侧防御、评测流水线——原书或未展开或未涉及, 本节全部以「补充(不在书里)」标出并挂书架锚25

13. 边界与局限

书的智能体章是 2026 年的状态快照:具体框架、具体协议的兴衰比书快; 框架层的做法尤其易变,不变的提问框架是——反馈从哪来、状态存不存、 权限给多大、错了能不能回滚。

多智能体(多个智能体协作)的收益没有定量结论:分工/讨论/辩论各有轶事级证据, 「什么时候人多真的力量大」书没有给判据,只给了协调开销这个成本项。

评估偏「查什么」,少「及格线在哪」:表 13.1 给了维度与常见做法, 阈值与统计功效(跑多少次才算数)要出门补。

14. 可带走的

  1. 智能体 = 模型大脑 + 感知/规划/行动/记忆;是系统,不是更大的模型;
  2. 循环骨架「想—做—看」,工程上是一个带 max_steps 上限的 while 循环;
  3. 短期记忆=上下文窗口,长期记忆=外部库;写入要做去重与整理;
  4. 答案不在参数里就先查再答;检索本身就是一种工具调用;
  5. 工具调用的核心是受约束的请求 + 校验执行的执行器;跨厂商接 MCP;
  6. 多模态 = 非文本模态转成「视觉词元」进同一个模型;
  7. 失败可写成自然语言经验存起来——不更新参数的学习;
  8. 危险动作关进沙箱;最小权限 + 人工确认;警惕提示注入(工具返回也会撒谎);
  9. 评估看过程六个面:任务、检索、忠实、工具、权限、恢复;
  10. 多智能体三种模式(分工/讨论/辩论)都有协调开销,小心群体思维。

15. 原文地图

主题原书章原文位置
智能体定义第13章 大语言模型与智能体text/14-ch13.txt:896(搜「从语言模型到智能体」) · text/14-ch13.txt:897(搜「核心」)
四条前提能力第13章 大语言模型与智能体text/14-ch13.txt:902(搜「能力的提升而自然涌现:指令遵循」)
四核心组件第13章 大语言模型与智能体text/14-ch13.txt:909(搜「四个核心组件」) · text/14-ch13.txt:923(搜「感知(Perception」) · text/14-ch13.txt:928(搜「规划(Planning」) · text/14-ch13.txt:931(搜「行动(Action」) · text/14-ch13.txt:936(搜「记忆(Memory」)
感知压缩第13章 大语言模型与智能体text/14-ch13.txt:924(搜「进行信息筛」)
ReAct第13章 大语言模型与智能体text/14-ch13.txt:943(搜「推理-行动交替:ReAct」) · text/14-ch13.txt:953(搜「13.35」) · text/14-ch13.txt:958(搜「提示模板自然实现」)
任务分解第13章 大语言模型与智能体text/14-ch13.txt:961(搜「任务分解(Task Decomposition」) · text/14-ch13.txt:963(搜「自顶向下分解」)
反思第13章 大语言模型与智能体text/14-ch13.txt:971(搜「反思与自我修正」) · text/14-ch13.txt:977(搜「不更新模型参数的」)
外部验证器第13章 大语言模型与智能体text/14-ch13.txt:404(搜「外部验证器」)
工具调用第13章 大语言模型与智能体text/14-ch13.txt:997(搜「工具调用(Tool Use」) · text/14-ch13.txt:1006(搜「工具选择与参数生成」)
工程接口与回放第13章 大语言模型与智能体text/14-ch13.txt:1011(搜「函数调用与 Agent 工程框架」) · text/14-ch13.txt:1016(搜「状态机、图或消息队列」)
RAG 三阶段第13章 大语言模型与智能体text/14-ch13.txt:1021(搜「检索增强生成(Retrieval-Augmented」) · text/14-ch13.txt:1024(搜「索引阶段」) · text/14-ch13.txt:1038(搜「无需重新训练」) · text/14-ch13.txt:1040(搜「查询改写、重排序和多跳检索」)
多模态第13章 大语言模型与智能体text/14-ch13.txt:1043(搜「多模态交互」) · text/14-ch13.txt:1053(搜「模块拼接式架构」) · text/14-ch13.txt:1056(搜「原生多模态架构」)
多智能体第13章 大语言模型与智能体text/14-ch13.txt:1064(搜「多智能体协作」) · text/14-ch13.txt:1067(搜「三种模式」) · text/14-ch13.txt:1075(搜「通信机制」) · text/14-ch13.txt:1078(搜「协调开销」)
评估与治理第13章 大语言模型与智能体text/14-ch13.txt:1083(搜「智能体评估与流程治理」) · text/14-ch13.txt:1091(搜「评估与治理的几个维度」) · text/14-ch13.txt:1110(搜「检索质量和生成忠实性」)
受约束的软件系统第13章 大语言模型与智能体text/14-ch13.txt:1115(搜「受约束的软件系统」)

Footnotes

  1. 出处:「第13章 大语言模型与智能体」第 896 至 901 段(text/14-ch13.txt:897,搜「核心」; text/14-ch13.txt:898,搜「修正计划」)[Wang et al., 2024; Yao et al., 2023b]。 2

  2. 出处:「第13章 大语言模型与智能体」第 902 至 906 段(text/14-ch13.txt:902,搜「能力的提升而自然涌现:指令遵循」)。

  3. 出处:「第13章 大语言模型与智能体」第 908 至 925 段(text/14-ch13.txt:909,搜「四个核心组件」; text/14-ch13.txt:924,搜「进行信息筛」)[Xi et al., 2025]。 2 3

  4. 出处:「第13章 大语言模型与智能体」第 928 至 941 段(text/14-ch13.txt:928,搜「规划(Planning」; text/14-ch13.txt:933,搜「JSON」;text/14-ch13.txt:936,搜「记忆(Memory」)。

  5. 出处:「第13章 大语言模型与智能体」第 943 至 953 段(text/14-ch13.txt:943,搜「交替」; text/14-ch13.txt:953,搜「(13.35)」),式(13.35)。 2

  6. 出处:「第13章 大语言模型与智能体」第 955 至 958 段(text/14-ch13.txt:958,搜「提示模板自然实现」)。 2

  7. 出处:「第13章 大语言模型与智能体」第 960 至 969 段(text/14-ch13.txt:963,搜「自顶向下分解」; text/14-ch13.txt:965,搜「规划-执行-再」)。

  8. 出处:「第13章 大语言模型与智能体」第 936 至 938 段(text/14-ch13.txt:936,搜「记忆(Memory」; text/14-ch13.txt:937,搜「外部存储如向量数据」)。

  9. 出处:「第13章 大语言模型与智能体」第 1020 至 1035 段(text/14-ch13.txt:1024,搜「索引阶段」; text/14-ch13.txt:1031,搜「(13.36)」)[Lewis et al., 2020]。 2

  10. 出处:「第13章 大语言模型与智能体」第 1037 至 1039 段(text/14-ch13.txt:1038,搜「无需重新训练」; text/14-ch13.txt:1039,搜「一种工具调用」)。

  11. 出处:「第13章 大语言模型与智能体」第 1039 至 1040 段(text/14-ch13.txt:1040,搜「查询改写、重排序和多跳检索」)。

  12. 出处:「第13章 大语言模型与智能体」第 1011 至 1018 段(text/14-ch13.txt:1012,搜「受」; text/14-ch13.txt:1016,搜「状态机、图或消息队列」)。

  13. 出处:「第13章 大语言模型与智能体」第 1006 至 1010 段(text/14-ch13.txt:1009,搜「工具检索」)。

  14. 出处:「第13章 大语言模型与智能体」第 1049 至 1058 段(text/14-ch13.txt:1050,搜「多模态大语言模型(Multimodal」; text/14-ch13.txt:1053,搜「模块拼接式架构」;text/14-ch13.txt:1056,搜「原生多模态架构」)。

  15. 出处:「第13章 大语言模型与智能体」第 1044 至 1047 段(text/14-ch13.txt:1045,搜「看到」)。

  16. 出处:「第13章 大语言模型与智能体」第 971 至 982 段(text/14-ch13.txt:975,搜「Reflexion」; text/14-ch13.txt:977,搜「不更新模型参数的」;text/14-ch13.txt:978,搜「Self-Refine」)。

  17. 出处:「第13章 大语言模型与智能体」第 984 至 990 段(text/14-ch13.txt:404,搜「外部验证器」)。

  18. 出处:「第13章 大语言模型与智能体」第 1091 至 1108 段(text/14-ch13.txt:1101,搜「最小权限、沙箱执行」), 表 13.1。

  19. 出处:「第13章 大语言模型与智能体」第 1107 至 1108 段(text/14-ch13.txt:1107,搜「提示注入」)。

  20. 出处:「第13章 大语言模型与智能体」第 1083 至 1114 段(text/14-ch13.txt:1091,搜「评估与治理的几个维度」; text/14-ch13.txt:1110,搜「检索质量和生成忠实性」),表 13.1。 2

  21. 出处:「第13章 大语言模型与智能体」第 1064 至 1074 段(text/14-ch13.txt:1067,搜「三种模式」; text/14-ch13.txt:1073,搜「辩论」)。 2

  22. 出处:「第13章 大语言模型与智能体」第 1075 至 1078 段(text/14-ch13.txt:1075,搜「通信机制」)。

  23. 出处:「第13章 大语言模型与智能体」第 1078 至 1080 段(text/14-ch13.txt:1078,搜「协调开销」; text/14-ch13.txt:1080,搜「群体思维」)。 2

  24. 出处:「第13章 大语言模型与智能体」第 1115 至 1118 段(text/14-ch13.txt:1115,搜「受约束的软件系统」)。

  25. 补充(不在书里,依据我们的 frontier / protocol / agent 书架):循环终止、记忆分层、 图谱检索、MCP 协议、沙箱与输入侧防御、评测流水线六处,分别锚定: 依据: shelf=ai-frontier-reference/smolagents#01-agent-loop.md 事实=while 循环串起「记忆→消息→模型→行动→观测」,退出条件含 max_steps。 依据: shelf=ai-frontier-reference/letta#01-memory-tiers.md 事实=记忆分 core/recall/archival 三层,core 常驻系统提示。 依据: shelf=ai-frontier-reference/hkuds-lightrag#02-dual-level-retrieval.md 事实=检索分高层主题词(hl)与低层实体词(ll)两层。 依据: shelf=ai-protocol-reference/mcp-spec#03-server-primitives.md 事实=Prompts 用户控制、Resources 应用控制、Tools 模型控制。 依据: shelf=ai-agent-reference/aio-sandbox#01-runtime-and-entrypoints.md 事实=所有子系统收在一个端口后,鉴权在入口层拦。 依据: shelf=ai-agent-reference/llamafirewall#02-scanners.md 事实=六个扫描器分本地轻量与远程审计两派,各有独立阈值。 依据: shelf=ai-frontier-reference/inspect-ai#01-eval-loop.md 事实=每条样本走 setup→solver→scorer→写日志。 依据: shelf=ai-frontier-reference/tau2-bench#03-evaluation.md 事实=各分量按 reward_basis 相乘取 0/1,数据库分靠重放终态哈希比对。