跳到主要内容

五步接力做一份 PPT — 当产出变成下一步的输入

这一章讲三件事: 一趟「产内容」的任务长什么样; 它中途出错时怎么自己爬起来;以及为什么这种任务的验收方式和前面几章完全不同。

它在全书链条里的位置: 第 01 到 06 章的任务都是查一个已经存在的答案—— 玫瑰进价、三城库存、加价后的售价。这一章第一次让它产出一样原本不存在的东西。 第 09、11、12 三章那些更长的任务,底子都是这一趟的放大版。

1. 这一趟不是查东西,是产东西

这一节先说清这一趟和前六章的分界线。

书里给的任务是:向投资人展示三本书的销售额和趋势。 作者把整个过程拆成六段:数据整理、分析趋势、创建图表、撰写结论、制作 PPT、准备演讲稿1

然后他说了一句很有分量的话:除了数据整理之外的全部工作,都交给助手来做。

为什么这一趟和前面不一样? 请对照第 01 章那趟: 「玫瑰进价多少」有一个客观答案,搜到了就是搜到了。 而「这张图说明了什么」没有标准答案——写得好不好,只有人能判断。

这就带出全章的骨架:五个步骤接力,每一步的产出都是下一步的输入。

①算数+画图 ──▶ 一张折线图(文件)


②看图写见解 ──▶ 两句话


③据见解起标题 ──▶ 一个标题


④画一张首页配图 ──▶ 一张图片(文件)


⑤把上面四样和两段模板一起交给它 ──▶ 一个 PPT 文件

图说:注意箭头的方向 —— 每一步都吃上一步的产出。
第 9 节要讲的全部麻烦,都来自这些箭头。

这五步全在同一个线程里跑。 也就是说,第③步看得到第②步说过什么, 不需要你再复述一遍——这正是第 06 章那套托管接口的好处在这里的体现。

2. 主走查 · 第一步:一句话让它算数并画图

这一节起是本章的主走查。每一步的产出原文,全部来自书里。

助手: 指令写着「作为一名数据科学助理,当给定数据和一个查询时, 你能编写适当的代码并创建适当的可视化」;开了代码解释器; 并且挂上了一个上传好的销售数据文件2数据: 三本书从 2022 到 2025 年的季度销售额。

第 1 步的指令只有一句话:

计算从2022年到2025年每个季度的总销售额,并通过不同的产品将其
可视化为折线图,产品线条颜色分别为红,蓝,绿。

这句话被作为一条消息加进线程,同时把数据文件挂在这条消息上3

然后开工、轮询。 书里那段循环每 10 秒查一次「有没有生成图片」, 没有就打一句「您的助手正在努力做图表呢……」。屏幕上打了一串这句话, 最后作者写道:苦等待了 3 分钟,我们的图表终于做好4

给这个 3 分钟配个参照:第 06 章那趟加价计算只花了大约 10 秒。 同一套接口,同一个轮询循环,耗时差了将近 20 倍—— 因为这一趟里它要真的写一段代码、跑一遍、再画出图来。

拿到的是什么? 不是一段文字,是一个图片文件的编号。 书里写了一个函数把它下载下来存成本地文件,再重新上传一次备用5

3. 它中途失败过两次,自己爬起来了

这一节讲这一趟最值得看的一段,而且它藏在一个很容易跳过的地方。

第 1 步做完之后,学生问了一个好问题:我想知道助手在这个绘图任务里的思考过程,可能做到吗?

作者的做法是把线程里所有消息倒出来看。这一看就看出了三件本来看不见的事6:

第一件:它先检查文件结构。 最早一条是「为了回答您的问题, 请允许我首先检查文件的内容以了解其结构」。

第二件:它失败了,而且自己说了出来。 下一条写着:

看来在尝试读取文件时遇到一些问题,因为我没有成功地加载它。
刚才的尝试包括将文件作为CSV和Excel格式读取,但这两种方式都失败了。
为了解决这个问题,我需要尝试指定特定的编码(如UTF-8)重新加载

第三件:换个方法之后它成功了。 再下一条:「数据成功加载,它包含 4 列……」, 并列出了接下来要做的三件事:转换日期列、算季度总额、画图。 再往后还有一条说日期列已成功转换、范围从 2022 年 3 月 31 日到 2025 年 12 月 31 日。

作者的结论是一句话:这证明了助手具有自适应性7

这一段为什么要紧? 因为它是第 05 章第 5 节那条机制在另一套接口上的同一次表演: 出错不是终点,出错是下一份输入。 只不过这一次错误不是外面回填的, 而是它自己写的代码报的错——而错误信息同样被送回它面前,它据此换了个读法。

同时这一段也暴露了一个代价: 这三次尝试你在正常输出里一个字都看不到。 不是学生问了那一句、作者把消息全倒出来,你根本不知道它试过两次。 「它到底干了什么」这件事有多难看清,第 13 章第 7 节专门讲。

4. 第二步:看着自己刚画的图,写两句见解

这一节走接力的第二棒。

指令同样只有一句:请根据你刚才创建的图表,给我两个约 20 字的句子, 描述最重要的见解。这将用于 PPT 展示,揭示数据背后的秘密8

注意「你刚才创建的」这几个字。 你没有把图重新发一遍, 也没有把数据重新贴一遍——因为这一步和上一步在同一个线程里,它自己看得到。

它写出来的两句是9:

1.“从2022年到2025年,‘数据分析咖哥十话:从思维到实践促进运营增长’的
季度销售额呈现出稳步增长的趋势。”
2.“相比之下,‘GPT图解 大模型是怎样构建的’和‘零基础学机器学习’在
同一时期的销售额波动较大。”

作者的评语是:它的聪明程度真的不亚于数据分析师新手。

但请注意这两句话的性质:它们没有对错,只有好坏。 「稳步增长」和「波动较大」是对同一张图的一种读法;换一个人可能写「三本书都在涨, 只是节奏不同」。两种都不算错。 这就是第 1 节说的那条分界线。

5. 第三步:据见解起标题——同一句指令跑两次,两个标题

这一节是本章最重要的一处观察,而书自己把证据摆出来了。

第三棒的指令是:根据你创建的情节和要点,为 PPT 想一个非常简短的标题, 反映你得出的主要见解10

书把两次运行的结果都印了出来11:

“市场趋势:优秀科技教育类图书产品销售增长揭秘” ← 第一次运行的输出
“产品销售趋势:稳健增长与市场波动” ← 第二次运行的输出

两个标题都对,而且都不难看。 第一个偏营销、第二个偏中性; 第一个不算标点是 21 个字,第二个 15 个字——比第一个短了约三成。

真正值得停一下的是重合的那部分。 你把两行对着看: 「产品」「销售」「市场」「趋势」「增长」这五个词,两边都在,合起来十个字—— 第二个标题一共才 15 个字,其中十个字在第一个标题里也找得到。

可这十个字被搭成了两句完全不同的话:一句拿「揭秘」收尾、把三本书说成一件好事; 一句用「与」把「稳健增长」和「市场波动」并排摆着、不下判断。

素材没变,连用的词都基本没变,变的是怎么组、先说哪个、给谁多几个字。

请把这件事和第 03 章第 8 节那件事分开。 那一章讲的是同一个问题的轨迹长度不定 (可能搜一次,也可能搜两次);这一章讲的是同一步的产出内容不定。 第 02 章那个温度旋钮拧到 0,能压住后者的一部分,但压不住整趟——第 9 节讲为什么。

书里还借这件事插了一段心理学:作者说「多夸夸你的大模型吧,你越夸它,它的响应水平越高」, 并搬出「自我实现预言」这个概念来解释12

判断(我们的,不是书里的): 这一段属于书里最不该照抄的部分。 「一个人的心理预期会影响结果」在人与人之间成立; 而在这里,它的机制其实很朴素——你夸它的那些字,变成了下一轮输入的一部分, 输入变了,输出当然会变。这和心理学没有关系,和第 03 章那个记事本是同一回事。 如果错,会错在: 如果有实验证明「表扬」这一类内容对输出质量有可复现的正向作用, 而不只是「输入变了输出就变」,那么这条判断就下得太早了。

6. 第四步:一句公司简介,换一张首页配图

这一节走第四棒,顺便交代这本书里画图那一格是怎么用的。

这一步换了一个模型:不是那个写字的,而是一个画图模型—— 读进一句话、输出一张图片的模型(书里用的这个画图模型叫 DALL·E 3, 你在接口文档里撞见的就是这个名字)13

书里给它的那句话是把公司简介拼进去的: 先定义 company_summary = "虽然我们是初创网络鲜花批发电商,但是我们董事长也写IT图书!", 再让它据此创建一张展示成长和前进道路的启发性照片,用于季度销售规划会议13

作者特意解释了为什么要先给一句公司简介:如果没有这条信息, 那么助手在讲故事时就会缺少「抓手」13

拿回来的是一个图片链接,下载存成本地文件,再上传一次备用—— 和第 2 步那张折线图走的是同一条路。

这一步和前三步有个结构上的差别,值得单说: 它不在那个线程里。 前三步是「同一个助手在同一段对话里接力」,而这一步是另起一个调用、换一个模型所以这一步拿不到前面的见解和标题,只能靠你把简介重新写一遍喂给它。

7. 第五步:把四样素材和两段模板一起交出去

这一节走最后一棒,也是最长的一棒。

到这一步,手上有四样东西:折线图、两句见解、一个标题、一张首页配图。 要把它们拼成一个文件,还差一样:排版。

作者的做法是给它两段现成的模板代码:一段是首页模板(黑底、左边放图、 右边放标题和副标题),一段是内页模板(黑底、左边放图、右边放「关键见解:」和一串要点)14

然后把它们连同一段很长的指令一起发过去。 那段指令的骨架是15:

  1. 用这段首页模板做第一张,图用本条消息里附的那张,标题用「花语秘境」,副标题用「2025年销售大会」;
  2. 用这段内页模板做第二张,图用你之前创建的那张折线图,标题用你之前创建的那个标题,要点用你之前创建的那两句见解;
  3. 把这两张输出成一个 pptx 格式的文件。

注意第 2 条里那三个「你之前创建的」。 这就是接力: 第②③步的产出在这里被点名取用,而你从头到尾没有把它们复制粘贴过一次。

轮询照旧,屏幕上打了五遍「您的助手正在努力制作 PPT……」, 然后打出 成功检索到 pptx_id: file-hpHLEPeANzfza6CLhW4Vfccv16。 下载下来打开,书里的评价是:两张从版式到内容几乎不需要任何修改的 PPT17

一趟走查的账:
模型调用 至少 5 次(4 次给写字的助手 + 1 次给画图模型)
等待时间 第①步 3 分钟;第⑤步至少 50 秒(打了 5 遍等待,每遍 10 秒)
你写的指令 5 句话 + 2 段模板代码
人工干预 0 次

图说:「人工干预 0 次」是这一趟的卖点,也是第 9 节那个麻烦的来源 ——
中间四次交接你都没看过,出了偏差你也不知道是哪一棒。

8. 这一趟里出现了三种产物

这一节把原书第 1 章那个「点到为止」的话题在这里落一次地。

回看这五步的产出:第②③步是文字,第①④步是图片,第⑤步是一个文件。

能同时处理不止一种形式的信息,原书第 1 章给过它一个名字:多模态。 但那一节整节都是展望,没有代码18而这一趟是全书唯一一处真的用到它的地方。

用法比想象中朴素,而且值得记住:

这一步谁干的交接的是什么
①画折线图写字的模型写代码 → 代码解释器跑一个文件编号
④画配图画图模型一个下载链接
⑤拼文件写字的模型写代码 → 代码解释器跑一个文件编号

注意中间那一列:第①⑤步其实没有「看图」这回事。 它是写了一段代码、让代码去画——这正是第 05 章第 7 节那个手法: 凡是它不擅长但能描述的事,都改成让它写出来、交给别人执行。

结论:这一趟的「多模态」主要是文件在传,不是模型真的在看图。 唯一真正跨了形式的那一步是第④步,而那一步用的是另一个模型。

9. 五步接力,偏差是逐级放大的

这一节是本章的落点,也是全书三处「不确定」里的第三处。

先把三处分清,免得混:

哪一层不确定讲在哪一句话
同一份输入,输出的字不同第 02 章第 4 节有个旋钮管它,拧到 0 基本压住
同一个问题,转的圈数不同第 03 章第 8 节旋钮管不了,因为每轮的输入本来就在变
多步接力,整趟不可复现本节旋钮更管不了,因为偏差被下一棒继承

为什么第三层最难办? 请看第 1 节那张图的箭头方向:

  1. 第①步画出来的图,坐标轴范围、有没有把季度合并、用不用某个颜色,都可能有细微差别;
  2. 第②步是看着那张图写见解——图变了,见解就跟着变;
  3. 第③步是根据那两句见解起标题——见解变了,标题跟着变;
  4. 第⑤步把标题和见解原样印进文件

所以第 5 节那两个对不上的标题,不是第③步一步的随机, 而是前面两棒的差异在第③步被放大之后的样子。

这直接决定了验收方式:你没法写「结果应该等于某个字符串」这种检查。 两个标题都对,可字面上对不上——同样那几个词换一种组法,就是另一串字符, 而写死的检查只认字符。验收标准得从「等不等于」改成「像不像」。

书对这件事一个字都没说。它甚至连「跑两次得到两个标题」这个现象都只是印出来, 没有讨论它意味着什么。 今天这一格已经有一整套做法了:

补充(不在书里,依据我们的 agent 生态书架): 「像不像」这件事今天被做成了可以混着写的一组检查。 依据: shelf=ai-agent-reference/promptfoo#04-assertions-and-grading.md @127d90534b9c1b1ba4554f007dd4b5fd2c8bf1b4 事实=该工具把 66 种检查全部归一成同一个结果结构(通过与否、分数、理由), 再用一个加权平均器合成一格总分——所以「输出里必须含某个词」这种硬检查, 和「让另一个模型当裁判打分」这种软检查,可以写在同一张清单里19

但这里有一个套娃问题:裁判本身也是一个模型,它也会飘。 办法是标注——由人事先把正确答案填在一部分样本上,拿它去考裁判。 这一点书架上有现成答案:

补充(不在书里,依据我们的前沿框架书架): 裁判靠不靠谱,要用人工标注去反过来考它。 依据: shelf=ai-frontier-reference/openai-evals#03-model-graded.md @8eac7a7de5215c907fbddc30efdaf316913eccdd 事实=该框架有一个专门的模式:如果样本上带了人工标注的正确选项, 就把「裁判选的」和「人标的」比对一次,产出一个分数—— 它评的不是模型,是裁判(classify.py:96-98)。20

两条合起来,就是这一趟今天该有的验收方式:

  1. 能写死的部分照旧写死(比如「文件必须真的生成出来」「必须是两页」);
  2. 判断「像不像」的部分交给一个裁判去打分;
  3. 而那个裁判本身,要拿一组人工标注过的样本去考它——这一步没法省。

第 3 条就是「人工抽检」在今天的准确说法:不是每次产出都人工看, 而是用人工看过的一小组样本,去校准那个替你看的裁判。

10. 可带走的

  1. 这一趟是产东西不是查东西,所以它没有客观答案,只有好坏之分;
  2. 五步接力,每一步吃上一步的产出; 前三步在同一个线程里,所以能说「你之前创建的那个」;
  3. 画图那一步不在线程里,它是另起一个调用、换一个模型,所以拿不到前面的产出,得重新喂;
  4. 它中途失败过两次(读不出文件、日期解析不了),自己换了方法重来——错误信息就是它的下一份输入;
  5. 那三次失败在正常输出里一个字都看不到,是把线程里的消息全倒出来才发现的;
  6. 同一句指令跑两次,给出两个字面对不上的标题(21 个字与 15 个字,共用「产品」「销售」「市场」「趋势」「增长」五个词,组法完全不同)——两个都对;
  7. 画图那一步的耗时是查询类任务的近 20 倍(3 分钟 vs 约 10 秒),因为它要真写代码、真跑一遍;
  8. 这一趟的「多模态」主要是文件在传,写字的模型并没有真的看图,它是写代码让代码去画;
  9. 三层不确定要分开: 输出的字(旋钮能压)、转的圈数(压不住)、多步接力(压不住而且逐级放大);
  10. 验收标准得从「等不等于」改成「像不像」; 今天的做法是硬检查加裁判打分混着写,而裁判本身要用人工标注去校准

11. 原文地图

主题原书章原文位置
六段任务、除数据整理外全交给它4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:11(搜「数据整理」) · text/33-ch04-04-4-4-ppt.txt:25(搜「除了数据整理之外」)
助手的指令与数据文件4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:75(搜「作为一名数据科学助理」)
第一步的指令与 3 分钟4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:113(搜「计算从2022年到2025年每个季度的总销售额」) · text/33-ch04-04-4-4-ppt.txt:187(搜「苦等待了3分钟」)
下载并重新上传图片4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:195(搜「将输出文件转换为PNG格式」)
三次尝试与自适应性4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:227(搜「看来在尝试读取文件时遇到一些问题」) · text/33-ch04-04-4-4-ppt.txt:233(搜「这证明了助手具有自适应性」)
第二步的指令与两句见解4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:281(搜「两个约20字的句子」) · text/33-ch04-04-4-4-ppt.txt:314(搜「呈现出稳步增长的趋势」)
第三步的指令与两个标题4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:332(搜「为PPT想一个非常简短的标题」) · text/33-ch04-04-4-4-ppt.txt:341(搜「优秀科技教育类图书产品销售增长揭秘」)
自我实现预言那一段4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:321(搜「自我实现预言」)
第四步:公司简介与配图4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:353(搜「虽然我们是初创网络鲜花批发电商」) · text/33-ch04-04-4-4-ppt.txt:350(搜「缺少“抓手”」)
第五步:两段模板与最终指令4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:404(搜「初始化首页模板」) · text/33-ch04-04-4-4-ppt.txt:451(搜「初始化内页模板」) · text/33-ch04-04-4-4-ppt.txt:513(搜「通过包含的代码模板创建符合模板格式的PPT」)
文件编号与最终评价4.4 创建一个简短的虚构PPTtext/33-ch04-04-4-4-ppt.txt:528(搜「成功检索到 pptx_id」) · text/33-ch04-04-4-4-ppt.txt:547(搜「几乎不需要任何修改的PPT」)
多模态那一节1.4 Agent的感知力:语言交互能力和多模态能力text/11-ch01-04-1-4-agent.txt:15(搜「多模态能力则是指」)

Footnotes

  1. 出处:「4.4 创建一个简短的虚构PPT」第 11 段起(text/33-ch04-04-4-4-ppt.txt:11,搜「数据整理」)与第 25 段(text/33-ch04-04-4-4-ppt.txt:25,搜「除了数据整理之外」)。作者对工作量的评价是「虽然不大,但是也绝对不小」;并且预告「未来数据的收集和整理也全部由 AI 来完成」。

  2. 出处:「4.4 创建一个简短的虚构PPT」第 75 段(text/33-ch04-04-4-4-ppt.txt:75,搜「作为一名数据科学助理」)。注意书里那段打印结果和创建参数对不上:创建时写的模型是 gpt-4-0125-preview,打印出来却是 gpt-4-turbo-preview——这类小出入在这本书里不止一处。

  3. 出处:「4.4 创建一个简短的虚构PPT」第 113 段(text/33-ch04-04-4-4-ppt.txt:113,搜「计算从2022年到2025年每个季度的总销售额」)。这条消息在创建线程时就一并带上了,数据文件挂在这条消息的附件里。

  4. 出处:「4.4 创建一个简短的虚构PPT」第 187 段(text/33-ch04-04-4-4-ppt.txt:187,搜「苦等待了3分钟」)。那段循环的等待间隔写在第 176 段(text/33-ch04-04-4-4-ppt.txt:176,搜「time.sleep(10)」)。「差了将近 20 倍」是我们拿第 06 章那趟约 10 秒去比的,书里没有做这个对比。

  5. 出处:「4.4 创建一个简短的虚构PPT」第 195 段起(text/33-ch04-04-4-4-ppt.txt:195,搜「将输出文件转换为PNG格式」)。为什么下载完还要再传一次? 因为第⑤步要把它当成一份新素材附在另一条消息上——书没有解释,这是我们从代码顺序读出来的。

  6. 出处:「4.4 创建一个简短的虚构PPT」第 226 段起(text/33-ch04-04-4-4-ppt.txt:226,搜「日期列已成功转换」)与第 227 段(text/33-ch04-04-4-4-ppt.txt:227,搜「看来在尝试读取文件时遇到一些问题」)。书里那串消息是倒序打印的(最新的在最前),本节按发生顺序重排了一遍。

  7. 出处:「4.4 创建一个简短的虚构PPT」第 233 段(text/33-ch04-04-4-4-ppt.txt:233,搜「这证明了助手具有自适应性」)。原文还点明,倒数第二条那段文字「就是助手要传给代码解释器来编码作图的最终提示」——也就是说这一趟里,写字的模型和跑代码的工具之间还隔着一层它自己写的交代。

  8. 出处:「4.4 创建一个简短的虚构PPT」第 281 段(text/33-ch04-04-4-4-ppt.txt:281,搜「两个约20字的句子」)。

  9. 出处:「4.4 创建一个简短的虚构PPT」第 314 段(text/33-ch04-04-4-4-ppt.txt:314,搜「呈现出稳步增长的趋势」)。作者的评语在第 317 段(text/33-ch04-04-4-4-ppt.txt:317,搜「不亚于数据分析师新手」)。

  10. 出处:「4.4 创建一个简短的虚构PPT」第 332 段(text/33-ch04-04-4-4-ppt.txt:332,搜「为PPT想一个非常简短的标题」)。

  11. 出处:「4.4 创建一个简短的虚构PPT」第 341 段(text/33-ch04-04-4-4-ppt.txt:341,搜「优秀科技教育类图书产品销售增长揭秘」)。书自己在两个标题后面用箭头标了「第一次运行的输出结果」「第二次运行的输出结果」——证据是它主动给的,只是它没有讨论这意味着什么。

  12. 出处:「4.4 创建一个简短的虚构PPT」第 321 段(text/33-ch04-04-4-4-ppt.txt:321,搜「自我实现预言」)。原文承认「大模型的核心能力和知识水平是由训练数据、训练过程和算法决定的」,但认为用户的期望和反馈「确实可以影响交互的性质和响应的质量」。

  13. 出处:「4.4 创建一个简短的虚构PPT」第 353 段(text/33-ch04-04-4-4-ppt.txt:353,搜「虽然我们是初创网络鲜花批发电商」)与第 350 段(text/33-ch04-04-4-4-ppt.txt:350,搜「缺少“抓手”」)。这个画图模型的名字写在小节标题里(text/33-ch04-04-4-4-ppt.txt:346,搜「用DALL·E 3模型为PPT首页配图」),代码里也照样写着它。作者对那张图的评价挺得意:「既有鲜花装点,又突出了董事长是一位不折不扣的文学青年」。 2 3

  14. 出处:「4.4 创建一个简短的虚构PPT」第 404 段起(text/33-ch04-04-4-4-ppt.txt:404,搜「初始化首页模板」)与第 451 段起(text/33-ch04-04-4-4-ppt.txt:451,搜「初始化内页模板」)。这两段模板是作者自己写的 Python 代码,不是模型生成的——它们被当成字符串塞进指令里发过去。

  15. 出处:「4.4 创建一个简短的虚构PPT」第 513 段(text/33-ch04-04-4-4-ppt.txt:513,搜「通过包含的代码模板创建符合模板格式的PPT」)。书里那段指令有一处笔误:它两次引用了内页模板的变量名,而首页那一处按上下文应该引用首页模板;照抄跑不通。

  16. 出处:「4.4 创建一个简短的虚构PPT」第 528 段(text/33-ch04-04-4-4-ppt.txt:528,搜「成功检索到 pptx_id」)。等待提示打了五遍(text/33-ch04-04-4-4-ppt.txt:540,搜「您的助手正在努力制作PPT」),间隔 10 秒——所以「至少 50 秒」是我们按这两个数算的。

  17. 出处:「4.4 创建一个简短的虚构PPT」第 547 段(text/33-ch04-04-4-4-ppt.txt:547,搜「几乎不需要任何修改的PPT」)。那两张 PPT 在书里是一张截图,所以本章没有复述它们长什么样。

  18. 出处:「1.4 Agent的感知力:语言交互能力和多模态能力」第 15 段(text/11-ch01-04-1-4-agent.txt:15,搜「多模态能力则是指」)。那一整节没有代码、没有案例,只有展望。

  19. 补充(不在书里,依据我们的 agent 生态书架):把硬检查和裁判打分混在同一张清单里算总分。依据: shelf=ai-agent-reference/promptfoo#04-assertions-and-grading.md @127d90534b9c1b1ba4554f007dd4b5fd2c8bf1b4 事实=该工具把 66 种断言全部归一成同一个结果结构(通过与否、分数、理由),再由一个加权平均器合成一格总分并支持阈值覆盖;所以字符串匹配、让另一个模型当裁判、跨行比较可以写在同一个断言列表里。

  20. 补充(不在书里,依据我们的前沿框架书架):裁判本身要用人工标注去考。依据: shelf=ai-frontier-reference/openai-evals#03-model-graded.md @8eac7a7de5215c907fbddc30efdaf316913eccdd 事实=该框架有一个专门模式,当样本带有人工标注的正确选项时,把裁判选的和人标的比对一次并产出一个分数,用来验证裁判靠不靠谱(classify.py:96-98)。