跳到主要内容

从「会说」到「会做」 — 三个限制、误差级联,以及记忆是怎么外挂的

这一章讲三件事: 一个只会写字的模型,到底缺哪三样东西才能真的替你办事; 补齐之后的那个东西叫 agent,而它一上来就撞见一条最残酷的算术; 以及「它记得我刚才说过什么」这件事,从头到尾都是我们在外面挂上去的。

它在全书链条里的位置: 前十一章都在治「它说的话可不可信」。 从这一章起,赌注换了量级——答错很尴尬,做错可能是灾难。 这是全书第二层「可靠动作」的开门章,后面第 13 到 16 章一层层往上建。

1. 顶层全景:一句「订机票再订酒店」,纯模型答不了

这一章的主走查是一句很平常的请求,它在原书里出现了三次,每次暴露一个不同的窟窿:

「帮我找下周二从纽约到旧金山的早班机,再订个旧金山机场附近的酒店。」

① 把这句话交给一个只会写字的模型

它答:「我得说明一下:我没法访问实时订票系统或酒店预订平台。」
——**它听懂了,但办不了**

② 拆开看它缺什么:缺当下的信息、缺伸出手去的能力、缺把多步串起来的调度

③ 把这三样补上去 —— 补完的这整套东西,才叫 **agent**

④ 可这条流程拆下来有 10 步,每步就算能做到 85% 可靠
→ 0.85 的 10 次方 ≈ **0.197,端到端只剩约两成**

⑤ 用户接着说第二句:「哦,要靠窗的。」
→ 没有记忆的话,它答「抱歉,我不知道你指的是什么」

⑥ 拿一个消息列表把前面 8 轮原样存下来 → 它接得上了

⑦ 对话到第 40 轮,存下来的东西撑爆了它一次能读进去的量
→ 压成一段滚动摘要,而**每压一次就是一次额外的模型调用**

图说:①→③ 是「补能力」,④ 是「补完之后立刻撞上的墙」,
⑤→⑦ 是「三样东西里最基础的那样怎么做出来」。
**这一整条走查贯穿全章,每一节都落在其中一步上。**

先把这一章的第一个词说死了再往下走。

2. 三个限制:先看它怎么答不上来

这一节不讲原理,只摆现象。 书自己就是这么开场的——它先让模型连着丢三次脸1

限制一:它知道的东西冻在某一刻

你问它:「特斯拉和苹果现在的股价是多少?」

它答:「抱歉,我拿不到实时股价,建议你去财经网站查。」

原因在于造它的方式。 第 02 章说过,这类程序是靠海量人类写下的文字反复调内部那些数造出来的 ——那批文字有一个截止时间点,过了那一刻的事,它一个字都没读过。

书给的比方是:一座极其庞大的图书馆,藏书应有尽有, 但所有的书都是同一天印的,而且此后再也没有进过新书。2

这个比方到此为止,后文一律说「它知道的东西冻在某一刻」。

(书自己补了一句很诚实的话: 现在有些模型自带了联网查资料的能力,能在某些情况下取到实时数据; 但一个没接任何外部东西的模型,仍然给不了可靠的实时信息。3)

限制二:它看得见,但伸不过去

你说:「帮我明天下午三点约个团队会。」

它答:「建议:给你的团队发封邮件说明会议细节。」

这条比上一条更别扭:它完全听懂了,而且它知道日历系统长什么样、知道怎么发邀请。

书用了一个词:它在一堵玻璃墙后面工作。 数字系统和各种接口,它看得见、描述得出来,但伸不过去。4

这个比方也到此为止,后文一律说「它够不着外部系统」。

限制三:多步的活,它拆不出也接不上

这就是主走查那句话:找航班,再订酒店。

它答:「我得说明一下:我没法访问实时订票系统或酒店预订平台。」

书说这一条最微妙也最要命: 这件事本来要拆成一串子任务 ——查航班 → 按价格和起飞时间筛 → 把结果整理好 → 问用户订不订 → 用户说订就下单 ——而模型既拆不出这一串,更没法按顺序一步步执行下去。5

注意这三条是分开的,不是同一件事的三种说法:

限制它缺的到底是什么一句话现象
知道的东西冻在某一刻当下的事实「我拿不到实时股价」
够不着外部系统伸出手去改变什么的能力「建议:给你的团队发封邮件」
拆不出也接不上多步流程把一串动作按顺序调度起来的能力「我没法访问订票系统」

三条各缺一样,所以要分别补三样。

书在这里插了一个数,说明补完之后这条路正在变快: 让 agent 去做真实的计算机操作,成功率一年之内从 12% 涨到 66%612% 和 66% 就是彼此的参照物——从「五次里成不了一次」到「三次里能成两次」。 但这个数要打个折扣读:书没说这是在哪一套题目上量的, 而换一套没见过的题目、成绩就掉一大截,正是第 01 章那条可靠性落差的原话。

3. 补上这三样,它就叫 agent

这一节给这一章最重要的那个名字。先说清里面唯一一个生词。

上一节第三条说的那件事——把一串动作按什么顺序走、什么条件下走哪一支、 上一步的结果怎么交给下一步,统一安排起来——这件事行内叫编排。 后面第 16 章有一整章在讲它怎么做。

在模型之上加三样东西:接得上外部工具、能真的执行动作、能把多步流程编排起来 ——加完的这一整套东西,就叫 AI agent。7

关键在「之上」这两个字:模型本身一个字都没改。 还是那个模型、还是那些数、 还是一个词元一个词元地往下写。变的是它外面那一圈。

书给的一句对照最清楚:区别就在于, 一个同事能给你讲清怎么订机票,另一个同事能真的替你订了。8

这句话值得当成这一章的定义句用。 它把「会说」和「会做」这条线画在了正确的地方: 不在「谁更聪明」,在**「谁真的动了外面的世界」**。

走查第 ③ 步:三样东西各解决上一节的哪一条

① 接得上外部工具 → 治「知道的东西冻在某一刻」
问股价 → 去调一个股价接口 → 拿回真数 → 答「特斯拉 245.67 美元,苹果 178.43 美元」
(这两个数是书里示例中的数,不是今天的行情)

② 能真的执行动作 → 治「够不着外部系统」
「明天下午三点约个团队会」→ 连上日历 → 查空档 → **真的把邀请发出去**
→ 答「会议已定在明天下午三点,邀请已经发给你的团队了」

③ 能把多步流程编排起来 → 治「拆不出也接不上」
「找下周二纽约到旧金山的航班」→ 拆成五步:
查接口 → 按价格和起飞时间筛 → 整理成人看得懂的格式 → 问用户订不订 → 用户说订就下单

图说:**三样东西一一对应上一节的三条限制,不是笼统的「更强了」。**
①② 的示例回答取自书里,五步拆分也是书里的原样。

这里必须说清一件事,免得和第 05 章混: 第 05 章那个「模型开口说要调 get_weather」 已经是第 ① 样东西的雏形了。但那时它只是把外部资料取回来给自己看。 这一章的第 ② 样东西不一样——它会改变外部世界的状态(真的发出邀请、真的下单)。 这条线在第 13 章会被单独拎出来讲透,那才是「检索系统」和「agent」真正的分水岭。

4. 补完立刻撞上的墙:每步 85 分,整条流程只剩 20 分

这一节是全章最该记住的一条算术,而且它解释了后面九章为什么要花那么大力气。

先看现象:每一步看起来都不错,整件事却总是办砸

假设你把主走查那条流程拆成 10 步:理解需求、查航班接口、筛结果、 确认日期、查酒店接口、比价、核对退改规则、生成确认信、写进日历、回复用户。

假设每一步都能做到 85% 可靠——这在单步上算相当不错的成绩。

那整条流程走完,成功率是多少?

0.85 × 0.85 × 0.85 × 0.85 × 0.85 × 0.85 × 0.85 × 0.85 × 0.85 × 0.85
= 0.85 的 10 次方
≈ **0.197**

也就是:**十次里只有大约两次能从头到尾都对。**

图说:**这不是「差一点」,这是「基本办不成」。**
85 和 20 之间的落差,全部来自「乘」这个字。

这个现象有名字:误差级联。 意思是每一步的错不会停在那一步, 它会被带进下一步,并且和下一步的错乘在一起。

书引国际人工智能安全报告的原话:即便一个 agent 每一步都有 85% 的可靠度, 走完一条 10 步的流程,端到端也只有大约 20% 的成功率——因为误差会级联。9

这个数有参照物,而且参照物就在同一句里

85% 和 20% 就是彼此的参照物。 单看 85% 你会觉得「挺好」,单看 20% 你会觉得「不能用」 ——而它们说的是同一个系统。 这个落差本身就是这一章要传达的全部。

再给一个更狠的对照:如果把每步提到 95%,10 步之后是 0.95 的 10 次方 ≈ 0.60。 每步提高 10 个百分点,端到端从两成变成六成。 (这笔换算是我们算的,书只给了 85% 那一组。)

再看一眼 0.85 的 10 次方 这个式子里的两个位置。 被反复乘的那个 0.85,叫底数(它是单步可靠度); 乘的次数 10,叫指数(它是步数)。这两个位置能改的东西完全不同。

判断(我们的,不是书里的): 这条算术真正的用处不是吓人, 是它把该往哪儿使劲这件事定死了:与其把某一步从 85% 磨到 88%,不如先想办法减少步数, 或者在关键步骤上加一次核对(核对成功等于把那一步的可靠度按到接近 1)。 减少步数动的是指数那个位置,提高单步可靠度动的是底数那个位置,而指数上的收益大得多。 如果错,会错在: 这笔乘法的前提是「每一步的错互相独立、而且一错就全盘皆输」。 如果你的流程里某些步骤失败可以重试、或者错了在后面能被纠正回来,实际成功率会明显高于这个数。 判据是:自己拉一批真实的执行记录,数一数「中途出过错但最后仍然办成」的比例有多高 ——这个比例越高,这条算术对你就越保守。

5. 记忆:它每一轮都是重新开始的

这一节讲三样东西里最基础的那样,也是这一章剩下篇幅的全部。

先看现象:第二句话它就接不上了

主走查第 ⑤ 步。用户先说:

「帮我找下周二去纽约的航班。」

它给了几个选项。用户接着说:

「哦,要靠窗的。」

没有记忆的话,它答:「抱歉,我不知道你指的是什么,能说清楚点吗?」10

有记忆的话,它答:「好的,现在按靠窗筛选。」

为什么会这样:每一次调用都是独立的一次

这一步不能跳,它是整节的地基。

第 02 章说过,这类程序做的事是续写一段文字。你给它一段文字,它接着往下写。 写完这一次,它并不会把这段文字留在身上——下一次你再调它,它面前是一张白纸。

所以「它记得我们刚才说过什么」从来不是它的能力, 是我们每次调它的时候,把之前说过的话原样又贴了一遍。

这就是「记忆是外挂的」这句话的确切含义: 记忆不在模型里,在我们的代码里。

两种记忆,存的时长不同

先说一个后面天天要用的词。 你打开一个对话框、来回聊了一阵、然后关掉—— 这一整段从开始到结束的来回,叫一个会话。 下次你再打开,那是新的一个会话。

书按「记的东西能活过一个会话吗」把记忆分成两类11:

短期记忆持久记忆
存多久一个会话之内,会话一结束就丢跨会话保留,下次来还在
书给的比方一张便签,随手记下关键细节一本日记,记住每个用户的偏好和习惯
怎么做出来一个列表或者一张表,把对话原样存着,不需要专门的数据库必须落进数据库,数据要整理成固定的字段并建索引,才查得快
它特有的坑占地方——模型一次能读进去的量是有限的,存得越多挤得越厉害合规——存的是真实用户的数据,用户要能决定记什么、不记什么

两个比方到此为止,后文一律说「会话内的记忆」和「跨会话的记忆」。

跨会话那一格里的「合规」还牵出一个动作,这里先给名字: 把存下来的数据里那些能认出「具体是谁」的部分——姓名、手机号、病历号—— 换成占位符或者只留后四位,这个动作叫脱敏。(第 21 章有一整节讲它怎么做、漏了会怎样。)

短期记忆的做法朴素到有点意外: 就是一个列表,把每一轮的话按顺序 append 进去, 下次调模型的时候整个列表一起送过去12书自己强调了这一点——不需要任何专门的「记忆类」。

持久记忆的三步则重得多13:

① 存: 用一个数据库把用户偏好和交互历史保存下来
② 取: 需要的时候按用户把相关的部分捞出来
③ 管: 敏感信息加密,**并且给用户控制自己数据的手段**

图说:第 ③ 步不是可选项。**书把它和前两步并列写在同一张清单上**
——因为跨会话就意味着你在长期持有别人的数据。
(这条在第 21 章会长成一整节。)

6. 会话内的记忆怎么存:原样存,还是压成摘要

这一节讲主走查的第 ⑥⑦ 步,它是这一章唯一一处需要做取舍的地方。

做法一:原样存下每一轮

最简单的一种:一个消息列表,谁说的、说了什么,一条条按时间排好。

主走查第 ⑥ 步的具体样子:

chat_history = [
(用户) 「帮我找下周二去纽约的航班」
(模型) 「这里有几个选项……」
(用户) 「哦,要靠窗的」
(模型) 「好的,现在按靠窗筛选」
…… 一共 8 轮 ……
]

下一次调模型时:**把这 8 轮整个送进去,再附上用户的新问题。**

图说:**「记住了」的全部实现就是这一步——重新送一遍。**
上面的对话内容取自书里的例子,轮数 8 是为演示设的。

书给这种做法的评价很干脆:完整召回、零框架开销、任何模型都能用、不用配置。 但内存占用随对话长度线性增长,所以它只适合短对话。14

「线性增长」这个说法要落到地上: 对话到第 40 轮,你每问一句, 前面 39 轮的全文都要再发一遍——发的这些字要算钱、要花时间, 而且迟早会超过模型一次能读进去的上限。

做法二:压成一段滚动摘要

做法:每隔一段,让模型自己把前面的对话压成一段简短的概要, 然后只带着这段概要往下走。 新的对话进来,再把它并进这段概要里, 不重要的细节逐渐被压掉,核心的意思留着15

主走查第 ⑦ 步: 40 轮的对话被压成一段几十个字的概要, 比如「用户要下周二纽约到旧金山的早班机,偏好靠窗、预算中等,已看过 3 个航班选项,尚未下单」。

代价,书说得非常老实

每压缩一次,都是一次额外的模型调用——它会增加延迟和成本。 短对话用原样存更简单也更便宜。只有当会话经常超出模型一次能读的量时,才上摘要。16

而书给的生产建议是一句真正有用的话:

很多团队先用原样存,撞到上限了再加摘要。17

这句话之所以值得留,是因为它逆着「一开始就做对」的直觉: 在这件事上,先用笨办法是对的,因为笨办法没有额外成本, 而聪明办法的成本是每一轮都在付的。

原样存压成摘要
召回一字不差细节会丢
额外成本每压一次一次模型调用
长对话撑不住撑得住
什么时候用默认从它开始会话经常超出上限时再加

7. 什么时候把会话里的东西升级成长期记忆

这一节回答一个上面两节都没回答的问题:哪些话值得跨会话留着?

书给了三个触发条件18:

触发条件例子
① 用户明说要记「记住我坐飞机喜欢靠窗」
② 跨多个会话被反复引用的信息他每次来都要查同一个订单号
③ 能改善以后交互的重要背景他的公司账户是企业折扣价

而实现上通常中间还有一步,书特意点了出来:

一整段对话(几千个字,乱糟糟的自然语言)

**抽取:让 agent 从对话里认出关键事实**

存成固定的字段: {偏好: "靠窗", 常飞航线: "JFK→SFO", 预算档: "中"}

写进数据库,下次来按用户捞出来

图说:**中间那一步是关键**——直接把整段对话存进数据库是没用的,
下次你既查不快、也没法把它塞进有限的上下文里。**要存的是提炼过的事实,不是原话。**

这一步在第 16 章会以另一个面目再出现一次(那里是多个 agent 之间怎么传话), 是同一个思路:把散的自然语言收成固定的字段。

8. 作者的判断与证据

书里给了证据的:

说法证据是什么
每步 85% 可靠、10 步只剩约 20%一条可以自己验算的算式。 我们算过:0.85 的 10 次方 ≈ 0.197,和书说的「about 20%」对得上。但书给的引用是一篇转述,不是国际人工智能安全报告原文,我们没有核到一手来源
原样存的开销随对话长度线性增长一条可以自己推的性质,不需要实验
每次摘要都是一次额外的模型调用同上,是做法本身的必然结果
agent 处理真实计算机任务的成功率一年从 12% 涨到 66%一个具体的数,引自斯坦福 AI Index 报告。但书没说这是在哪个基准上量的——没有基准的成功率不构成论据,请当成「书里的说法」读

作者的推测或没给证据的:

说法它是什么
「很多团队先用原样存,撞到上限再加摘要」一句行业观察,没有调查数据
三个「升级成长期记忆」的触发条件一组设计建议,书没说它们是从哪里总结出来的
短期记忆「不需要持久化存储」对原型是对的;但生产上服务重启就丢,书没提这一层

判断(我们的,不是书里的): 这一章真正的贡献不是「agent 是什么」这个定义, 是第 4 节那条乘法定义会过时,乘法不会。 它给了一把尺子:任何人向你推销一套「全自动跑完 N 步」的 agent 方案, 你先问他单步可靠度是多少,再自己乘 N 次——这个数往往比演示视频诚实得多。 如果错,会错在: 如果那套方案在每一步之间都插了核对或人工确认, 乘法就不成立了(核对会把那一步的可靠度按到接近 1)。 判据是:问他「哪几步之后有核对」——一步核对都没有的全自动流程,乘法一定成立。

9. 边界与局限

  • 「记忆」在这一章几乎等于「对话历史」。 书讲的两种做法都是在管上一轮说过什么。 而 agent 在执行过程中产生的中间结果(调了哪个工具、拿回了什么)算不算记忆、该怎么存, 书没有讲——这一块要到第 16 章讲共享状态时才有答案;

  • 误差级联给了数,没给对策。 这一章只把 85%→20% 这条算术摆出来, 「那怎么办」一个字没答。 对策散落在后面:第 13 章的输出校验和兜底、 第 15 章的结构化错误、第 17 章的执行轨迹评测;

  • 书自己给记忆那一节打了一个时代补丁,值得原样传达: 它说这些记忆做法所属的那个框架已经演进了, 生产上的 agent 建议改用一种图式的编排层来管状态(它能暂停和恢复执行、能插入人工审批、 能跨会话持久化),而这一章展示的那些独立记忆类现在更适合做原型19这套东西正是第 16 章的主角;

  • 持久记忆的合规只提了一句。 「敏感数据要脱敏、用户要能控制」这句话背后有一整套东西 ——存哪些字段算敏感、用户要求删除时权重里的那份怎么办——第 21 章才讲;

  • 12% → 66% 那个数没有基准。 一年之内翻五倍多是个很有冲击力的说法, 但不知道量的是什么任务,就无法判断它意味着什么。

10. 可带走的

全章那条走查,一行写完: 「订下周二的早班机,再订个机场附近的酒店」→ 纯模型答「我没法访问订票系统」→ 拆开是三条限制(知道的事冻住了 / 够不着外部系统 / 拆不出多步)→ 补上三样东西(接工具 / 执行动作 / 编排流程)= agent → 可这条流程 10 步、每步 85% → 0.85 的 10 次方 ≈ 0.197,只剩两成 → 用户第二句「要靠窗的」→ 没记忆就接不上 → 拿列表原样存 8 轮 → 第 40 轮撑爆 → 压成滚动摘要,而每压一次多一次模型调用

  1. 纯模型的三个限制是分开的三件事: 知道的东西冻在某一刻(缺当下的事实)、 够不着外部系统(缺伸手的能力)、拆不出也接不上多步流程(缺调度);
  2. agent = 模型 + 三样东西: 接得上外部工具、能真的执行动作、能编排多步流程。 模型本身一个字没改,变的是它外面那一圈;
  3. 一句话认出这条线: 一个同事能给你讲清怎么订机票,另一个同事能真的替你订了;
  4. 最该记住的一条算术: 每步 85% 可靠、走 10 步,端到端只剩约 20%。 这叫误差级联;
  5. 它的推论比它本身有用: 减少步数动的是指数,提高单步可靠度动的是底数, 前者收益大得多;
  6. 记忆不在模型里,在你的代码里。 每次调用它都是一张白纸, 「它记得」的全部实现就是把前面的话原样再送一遍;
  7. 两种记忆按时长分: 会话内的(列表就够,会话结束就丢)、跨会话的(必须进数据库, 而且要处理合规和用户控制权);
  8. 会话内的两种存法: 原样存(一字不差、零额外开销,但撑不住长对话)、 压成滚动摘要(撑得住,但每压一次就是一次额外的模型调用);
  9. 默认从原样存开始,撞到上限再加摘要——这件事上先用笨办法是对的;
  10. 要升级成长期记忆的三个触发条件: 用户明说要记、跨会话被反复引用、 能改善以后的交互;
  11. 升级之前有一步抽取: 把对话提炼成固定字段的事实再存,不要存原话。

11. 原文地图

主题原书章原文位置
开场那句订机票、以及「它听懂了却办不了」Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:16(搜「Find me a morning flight」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:23(搜「This is hardly helpful」)
限制一:知识冻在某一刻、图书馆的比方Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:58(搜「every book was printed on the same day」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:69(搜「built-in tool use」)
限制二:玻璃墙Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:86(搜「glass wall」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:100(搜「Send an email to your team」)
限制三:拆不出多步流程Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:116(搜「and book a hotel」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:124(搜「break this task」)
agent 加的三样东西、以及「另一个同事能真的替你订了」Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:133(搜「external connectivity」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:138(搜「actually make the reservation」)
三样东西各自的示例(股价、日历、五步拆分)Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:152(搜「Tesla is trading at」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:167(搜「Invitations have been sent」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:185(搜「Query a flight booking API」)
误差级联 85% → 20%Chapter 1: AI Reliabilitytext/04-ch01-chapter-1-ai-reliability-building-llms-for-the-r.txt:307(搜「85% reliable at each step」)
12% → 66% 那个数Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:210(搜「Stanford's AI Index」)
「要靠窗的」那两轮对话Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:244(搜「window seat」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:250(搜「I don’t know what you’re referring to」)
两种记忆的分类与各自的坑Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:286(搜「like a notepad」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:323(搜「like a diary」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:331(搜「GDPR compliance」)
持久记忆的三步Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:336(搜「Data Storage」)
升级成长期记忆的三个触发条件与抽取步骤Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:367(搜「Common triggers for promotion」)
原样存:零框架开销、线性增长Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:383(搜「No special memory class」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:406(搜「zero framework overhead」)
摘要的代价与「先用缓冲、撞上限再加」Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:456(搜「requires an LLM call」) · text/09-ch06-chapter-6-creating-effective-ai-agents.txt:467(搜「start with a buffer」)
记忆那一节的时代补丁Chapter 6: Creating Effective AI Agentstext/09-ch06-chapter-6-creating-effective-ai-agents.txt:474(搜「A note on modern agent memory」)

Footnotes

  1. 出处:「Chapter 6: Creating Effective AI Agents」第 16 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:16,搜「Find me a morning flight」)与第 23 段(同文件 :23,搜「This is hardly helpful」)。三条限制的小节标题分别在第 53、83、107 段。

  2. 出处:「Chapter 6: Creating Effective AI Agents」第 58 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:58,搜「every book was printed on the same day」)。股价那个问答在第 62 与第 66 段(同文件 :62:66)。

  3. 出处:「Chapter 6: Creating Effective AI Agents」第 69 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:69,搜「built-in tool use」)。这是书自己给自己打的补丁,原文说「一个没有工具集成的独立模型仍然无法可靠地提供实时信息」。

  4. 出处:「Chapter 6: Creating Effective AI Agents」第 86 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:86,搜「glass wall」)与第 100 段(同文件 :100,搜「Send an email to your team」)。

  5. 出处:「Chapter 6: Creating Effective AI Agents」第 116 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:116,搜「and book a hotel」)、第 121 段(同文件 :121,搜「real-time flight」)与第 124 段(同文件 :124,搜「break this task」)。

  6. 出处:「Chapter 6: Creating Effective AI Agents」第 211 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:211,搜「the success rate of AI agents」)。书引的是斯坦福 AI Index 报告(书里的参考文献 [10]),但正文没有写明是在哪一套基准上量的,我们也没有核到一手来源——请当成「书里的说法」读。

  7. 出处:「Chapter 6: Creating Effective AI Agents」第 133 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:133,搜「external connectivity」)。原文的三样东西是「external connectivity, action execution, and workflow orchestration」。书在第 36 段(同文件 :36)还补了一句常被忽略的话:设计得好的 agent 里要有决策流程控制和监控,以防它反复调同一个工具却毫无进展这类死循环。

  8. 出处:「Chapter 6: Creating Effective AI Agents」第 138 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:138,搜「actually make the reservation」)。

  9. 出处:「Chapter 1: AI Reliability」第 307 段(text/04-ch01-chapter-1-ai-reliability-building-llms-for-the-r.txt:307,搜「85% reliable at each step」)。书把这条归给国际人工智能安全报告。我们核过算式:0.85 的 10 次方 ≈ 0.197,和书说的「about 20%」对得上;但书给的引用是一篇转述,不是报告原文,我们没有核到一手来源。「每步 95% → 六成」那笔对照是我们算的。

  10. 出处:「Chapter 6: Creating Effective AI Agents」第 244 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:244,搜「window seat」)与第 250 段(同文件 :250,搜「I don’t know what you’re referring to」)。

  11. 出处:「Chapter 6: Creating Effective AI Agents」第 286 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:286,搜「like a notepad」)与第 323 段(同文件 :323,搜「like a diary」)。上下文窗口与合规这两个坑在第 356 与第 361 段(同文件 :356:361)。

  12. 出处:「Chapter 6: Creating Effective AI Agents」第 299 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:299,搜「straightforward to implement」)与第 382 段(同文件 :382,搜「No special memory class」)。

  13. 出处:「Chapter 6: Creating Effective AI Agents」第 336 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:336,搜「Data Storage」)。第三步原文写的是「Privacy Management」,并明确要求「providing users with control over their data」。

  14. 出处:「Chapter 6: Creating Effective AI Agents」第 406 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:406,搜「zero framework overhead」)。「对话到第 40 轮」这个数是为演示设的,书没有给具体轮数。

  15. 出处:「Chapter 6: Creating Effective AI Agents」第 452 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:452,搜「dynamic updates」)。上面那段「用户要下周二早班机、偏好靠窗……」的概要是我们为演示编的,不是书里的原文。

  16. 出处:「Chapter 6: Creating Effective AI Agents」第 456 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:456,搜「requires an LLM call」)。

  17. 出处:「Chapter 6: Creating Effective AI Agents」第 467 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:467,搜「start with a buffer」)。

  18. 出处:「Chapter 6: Creating Effective AI Agents」第 367 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:367,搜「Common triggers for promotion」)。抽取步骤在同一段末尾:「an extraction step where the agent identifies key facts」。上面那组字段(偏好 / 常飞航线 / 预算档)是我们为演示编的。

  19. 出处:「Chapter 6: Creating Effective AI Agents」第 474 段(text/09-ch06-chapter-6-creating-effective-ai-agents.txt:474,搜「A note on modern agent memory」)。原文点名的是 LangGraph,并说它提供检查点、人在环审批和跨会话持久记忆;书自己在这一段末尾预告「第 8 章会用它做多 agent 编排」,那一块在我们这里是第 16 章。