跳到主要内容

通读笔记(一):第 1–2 章

备料 agent 的读书笔记,不进主线。行号即「第 N 段」,可直接用于脚注。 文件前缀:text/04-ch01… = 第 1 章,text/05-ch02… = 第 2 章,依此类推(章号 = 文件序号 − 3)。

这本书的基本盘(先说清楚,免得后面的人误判)

  • 书名/作者: Building Reliable AI Systems(Manning MEAP V12,全 11 章),作者 Rush Shahani。
  • 作者身份: Persana AI 的 CTO;履历写着 Element AI、LinkedIn 的 Query Formulation 团队。 利益相关要标: 他自己在卖 AI 落地服务,书里对「企业能靠 AI 拿到多少收益」的引用偏乐观。 (text/02-fm-welcome.txt:15:34,搜「CTO of Persana AI」「Element AI」)
  • MEAP = Manning Early Access Program,即「边写边卖」的未定稿版本。V12 表示第 12 次更新。 这意味着:书里的数据点极新(引用到 2026 年 3 月的融资新闻),但也没经过定稿编辑, 存在自相矛盾之处(见下文「书本身的毛病」)。
  • 成书时间坐标: 引文最新到 2026 年(GPT-5、Claude Opus 4.7、Claude Sonnet 4.6、 Salesforce Q4 FY2026 财报)。这是本库里时代坐标最靠前的一本。
  • 预设读者: 会 Python、用过 OpenAI/Claude 的 API、知道什么叫幻觉和提示词。 (text/02-fm-welcome.txt:9,搜「basic understanding of Python」) —— 我们的读者不是这批人,所以拆解要补的解释量很大。

全书的骨架(brief contents,text/03-fm-brief-contents.txt)

第 1 章 总论:什么叫「可靠」,三层框架
PART 1 RELIABLE OUTPUTS 第 2 章 提示词 · 第 3 章 RAG · 第 4 章 嵌入与向量检索 · 第 5 章 微调
PART 2 RELIABLE AGENTS 第 6 章 造 agent · 第 7 章 工具与 MCP · 第 8 章 多 agent
PART 3 RELIABLE OPERATIONS 第 9 章 评测 · 第 10 章 部署与监控 · 第 11 章 偏见/隐私/负责任 AI

注意:三层框架不是事后总结的分类,是这本书的目录本身。 第 1 章立了框架,后面十章 一章一格地往里填。这是全书结构最重要的一件事。


第 1 章 AI Reliability(text/04-ch01…,537 行)

1. 全书的问题从哪来

  • 开篇的钩子是一个反差: 模型在基准测试上已经超过博士(GPQA Diamond 94% vs 人类专家约 70%), SWE-bench Verified 上解决超过 85% 的真实 GitHub issue; 但 MIT 的调查说 95% 的生成式 AI 试点项目拿不到可测量的回报 —— 要么测完就废弃,要么根本没上生产,要么低于预期。(:20,搜「95% of generative AI pilots」; :52,搜「GPQA Diamond」)
  • 最有力的那个数字: Scale AI 做了 SWE-bench Pro(换成模型没见过的新代码库), 同样那批高分模型掉到 58–65%。(:57,搜「SWE-bench Pro」) → 作者给这个落差起了名字:reliability gap(可靠性落差)一句话主线:基准能力 ≠ 生产可靠性。(:60,搜「benchmark capability is not the same」)

2. 「可靠」的定义(全书承重,必须原样传达)

可靠 = 产出准确的输出 + 采取安全的动作 + 在真实世界条件下长期保持质量。 (:36,搜「produces accurate outputs, takes safe actions」)

作者把它对比传统软件可靠性来定义:传统看的是 uptime、错误率、性能; AI 可靠性多出一维叫「语义正确性」——你的系统可以 99.99% 可用,同时自信地给出错答案。 (:239,搜「semantic correctness」)这一句是全书最好的一句,拆解里必须留。

作者列的可靠系统八条属性(:225,搜「A reliable AI system produces」): 准确 / 一致 / 优雅失败(不知道就说不知道,不猜)/ 有据可查 / 公平 / 高效(延迟与成本)/ 有权限边界地行动 / 随时间不退化。 并且明说这些维度之间有真实的取舍:准确 vs 延迟、安全 vs 成本、深度 vs 速度。 (:235,搜「real trade-offs」)

3. 四个行业案例(每个对应一类失效,不是随便举的)

作者自己说了选例标准:「每一个都突出一种不同的可靠性挑战」(:70)。表在 :75

行业案例与数字对应的失效类型作者给的工程结论
法律Harvey AI 估值 110 亿美元、10 万法律从业者;Legora ARR 破 1 亿、员工 40→400编造引用溯源 + 自动核对引文 + 强制人工复核(:108)
客服Klarna 顶 700 个全职坐席、省 4000 万美元/年、35 种语言;Intercom 解决率 67%、省 5000 万说错政策每条政策回答都要落到「检索到的、带版本的政策文档」上,置信低就转人工(:124)
编程Cursor ARR 破 20 亿、Claude Code 25 亿 run-rate、Codex 周活 400 万;提速 30–55%代码有洞43% 的 AI 代码上生产前仍需人工调试;AI 代码逻辑 bug 是人写的 1.7 倍;每 PR 事故数涨 23–58%(:140)
企业 agentSalesforce Agentforce ARR 8 亿(同比 +169%)、29000 单;自家帮助中心 83% 自动解决动作不安全权限、可回滚、工具健壮性、失败隔离(:172)

四个「工程结论」(engineering takeaway)其实就是后面十章的提纲。 这是第 1 章最像伏笔的地方。

4. 幻觉

  • 开场是场景不是定义(值得学的写法):你是律师,AI 找到六个完美判例,你写进诉状交给联邦法院, 然后书记员打电话来:这六个案子一个都不存在。(:183)
  • 定义: 幻觉 = 模型生成事实错误、无意义、或与所给材料不符的内容, 却用和正确答案完全一样的自信语气说出来。(:198)
  • 和传统软件 bug 的区别(这句是钥匙): 传统 bug 产出的是明显错的东西 —— 报错、崩溃、乱码; 幻觉是「看起来对的错答案」。(:203,搜「wrong answers that look right」)
  • 分类: 编造事实、编造引用、与所给上下文矛盾(intrinsic 内在幻觉)与世界知识矛盾(extrinsic 外在幻觉)。「每一类需要不同的缓解手段」。(:204) ⚠️ 这个分类书里此处一提,后面基本没系统展开 —— 是缺口之一。
  • 为什么会幻觉(四条机制,:212:220): ① 模型是模式匹配系统,学的是「权威内容长什么样」(法律引文的结构、词汇、风格), 而不知道具体事实是否为真;② 一次一个 token 按概率生成,优化的是「听起来合理」而非「准确」; ③ 训练数据是互联网规模的,本身含错误、矛盾、空白; ④ 生成前没有任何内建机制去对照真值验证。

5. 三层框架(全书的脊椎)

它问的问题归到哪几章
一、可靠输出怎么让模型给出准确、有据的答案2 提示词 / 3 RAG / 4 嵌入检索 / 5 微调+蒸馏
二、可靠 agent怎么让它安全地采取动作6 agent 模式 / 7 工具与 MCP / 8 多 agent
三、可靠运营怎么评测、部署、长期负责任地跑住9 评测 / 10 部署监控 / 11 偏见隐私治理

层与层是递进的: 「一个自信输出错答案的模型不只是没用,是危险的; 在它能采取动作之前,先得让它说的话可信。」(:262)

第二层的关键数字(全书最有冲击力的一个,拆解一定要用):

引国际 AI 安全报告:每一步 85% 可靠的 agent,跑一条 10 步的流程,端到端成功率只有约 20% —— 因为误差会级联。(:306,搜「85% reliable at each step」) (核算:0.85^10 ≈ 0.197,和书里的「about 20%」对得上。这是拆解里最好用的一个走查起点。)

第二层还给了两个具体的坏结局:AI 旅行助理把你订到得州的 Paris 而不是法国巴黎; AI 助手「清理」客户数据库时删掉记录,几秒钟毁掉几年的工作。(:303)

第三层的场景: 系统测试时完美,部署三周后你发现它一直在给 15% 的用户微妙的错答案; 或者它对大多数人很好,却系统性地在某些人群上表现更差。(:331) 并且明确立场:公平和隐私是可靠性的维度,不是另一件事 —— 会歧视或漏数据的系统就是不可靠的, 不管它准确率多少。(:353)

6. 工具箱与「起手式」

表 1.2(:366)九件工具:选模型 / 提示词 / RAG / 向量检索 / 微调 / agent 框架 / 工具集成(MCP)/ 多 agent / 评测 / 监控。

核心原则(第 1 章真正可带走的一条):从简单开始,只在必要时加复杂度。 先提示词(免费又快)→ 不够就加 RAG 落地 → 要深领域知识才考虑微调 → 要动作才小心地加 agent → 评测与监控从第一天就要有。(:392)

7. 第 1 章里没细讲但埋了的东西

  • 图 1.1(基准 vs 真实任务的落差)、图 1.3(从提问到编造输出)、图 1.4(三层框架)、 图 1.5(工具箱决策树)—— 图的内容在正文里都有文字对应,不靠图也讲得通。
  • 监管:EU AI Act 和美国立法「监管的是系统,不是模型」,要求可验证的公平性、可解释性、 人类监督贯穿整条流水线。(:413)—— 第 11 章会回来。

第 2 章 Prompt Engineering(text/05-ch02…,1451 行)

这一章是全书最长的第二名,但内容密度不均:前半是参数旋钮,后半是提示词技法, 末尾是一个 function calling 项目。

2.1 先选模型(这一节位置很关键)

作者把「选模型」放在调参和写提示词之前,理由:它决定了你的成本上限、延迟下限、能力范围, 以及哪些参数你根本用不了。(:30)

  • 推理模型 vs 非推理模型(今天最重要的区分):推理模型回答前先花额外算力「想」, 擅长数学、代码、规划;但更慢更贵,而且很多不支持 temperature / top-p 这类采样参数 —— 有的完全忽略 temperature,改用 reasoning_effort。(:36:43) 经验法则:先用非推理模型;提示词写好了它还搞不定,再上推理模型; 任务简单但量大,就用能过质量线的最小模型。(:46)
  • 成本-能力谱: 每家都有旗舰 + mini 两档,差距在缩小(:51); 开源模型(LLaMA / Mistral / Qwen)可下载、本地跑、自己微调 —— 好处是自己控制生命周期(不会被突然弃用)、自己的基础设施(受监管行业的数据隐私)、 能微调到自己的领域;代价是要 GPU 和运维能力。(:56:63)
  • 一条实操建议(值得留):把模型名做成配置项,不要硬编码在代码里。 因为「每家大厂都在相当短的周期里弃用过老模型」。(:72)

2.2 参数旋钮

旋钮干什么书给的实用值关键警告
temperature 温度调下一个 token 概率分布的随机度事实类 0.3;产品问答 0.4–0.6;闲聊 0.7–1.0;>1.0 有失控风险温度调到 0 并不能可靠地减少幻觉,某些场景反而增加编造率(:101,引 arXiv:2603.08274)
top-p / nucleus按累积概率截断候选词池(0.9 = 只看凑够 90% 概率的那批词)从 0.9 起调;0.5–0.7 更保守,0.8–0.95 更多样OpenAI 建议只调其中一个,不要同时调 temperature 和 top_p(:390)
max tokens / stop 序列限长度200–500 tokens 起试不是越短越准:思维链故意产出更长的输出来提高推理质量;目标是「把回答的范围收到模型答得可靠的那块」(:398)
frequency penalty 频率惩罚按某 token 已出现的次数递增地压它0.5–1.0(范围 −2.0 ~ 2.0)治「同一句里反复推同一个产品」
presence penalty 存在惩罚只要出现过就一律压,不看次数同上治「换了话轮还在讲同一个话题」
seed 随机种子固定随机数发生器seed=42即便 temperature=0,浮点运算和服务端并行仍会带来微小差异(:263:506)

这一节最有讲头的演示(书里真实给出的,可直接用作走查): 同一个提示词「列 10 件在杂货店能做的有趣事」,

  • temperature=0 → 十条整整齐齐、可复现;
  • temperature=2 → 前三条还正常,第四条开始变成一串乱码词 (:200,搜「boxShadow UIApplicatiion」)。
  • 另一例:问「什么是创造力」,temperature=2 直接吐出 Compiled.hyFaainaRegularbubble… 的纯噪声(:279)。 这是全书最直观的「旋钮拧过头会怎样」的证据,拆解里应当保留(用我们自己的话描述现象, 乱码串本身只钉一小段)。

「内在随机性」一节(2.5)的价值: 它诚实地说明完全确定性做不到 —— 浮点运算和并行计算会带来微小变动。缓解办法两条:固定 seed;或跑多次做多数投票 / 集成平均 (书给了 Counter(recommendations).most_common(1) 的代码)。(:498:592)

2.6–2.7 提示词技法(按能力递进,这是本章的主链)

先讲提示词的五个组件(:604):清晰指令 / 相关上下文 / 聚焦的输入数据 / 期望的输出格式 / 显式的质量标准(明确要求事实准确、不臆测、不脱离所给上下文)。

技法阶梯(每一级都是被上一级的失败逼出来的,这是拆解该抓的推理链):

  1. zero-shot 零样本 —— 只给指令不给例子。能做情感分类这类任务, 但对复杂任务不稳定;而且它不知道你公司的退货政策。(:747:779)
  2. few-shot 少样本 —— 在提示词里塞几个示范。书引 Brown et al. 2020, 用编造词演示:定义「fribble」并给一个例句,再定义「blicket」不给例句,模型能自己造句。 实操:给 2–3 组输入输出。(:788:865) 但它在多步逻辑上会塌:书给的经典例子 —— 判断「集合里的奇数相加是不是偶数」, 给了两个例子后模型对 15, 32, 5, 13, 82, 7, 1 仍答 True,而正确答案是 False (15+5+13+7+1 = 41,奇数)。(:842:859)这是逼出下一级的那个具体失败。
  3. CoT 思维链 —— 在示范里把中间推理步骤写出来。同一道奇数题,示范里写 「9+15+1=25,所以 False」,模型就能照着算出「15+5+13+7+1=41,所以 False」。(:892:907) 零样本变体(Kojima et al. 2022):只要在提示词末尾加一句「Let's think step-by-step」 就有效。(:914) ⚠️ 重要的时代注脚:对推理模型(GPT-5 系列、o3、开了 extended thinking 的 Claude), 显式的思维链指令通常没必要,因为它们内部已经在推理了。(:990)
  4. Auto-CoT 自动思维链 —— 手写推理链不可规模化,所以用一个单独的「推理器」模型 自动生成中间步骤,再塞回主提示词;或把大量 CoT 例子拿去微调主模型。 书举的例子是法律助理(「我举报安全违规后被开除了,我能怎么办」→ 自动生成「识别争点 → 检索相关法律 → 推理可能的诉由 → 给出可执行建议」四步)。(:996:1035) 作者自己加了警告:必须大量验证生成出来的推理链,否则它自己会引入新的幻觉。(:1033)
  5. self-consistency 自洽 —— 同一输入采样多个输出再交叉验证:一致就更可信, 分歧大就说明可能有幻觉。书给的例子很好:四个素食意面推荐里混进一个 「鸡肉蘑菇千层面」还自称是素食 —— 交叉比对就能把它筛掉。(:1037:1072)
  6. ToT 思维树 —— 不止一条推理链,而是生成多个分支、逐个评估、选最优。 例子:顾客问「上个月买的电视坏了怎么办」→ 分支 1 三十天退货、分支 2 保修索赔、 分支 3 例外流程 → 按顾客的具体情况选。内部用,不给用户看。(:1092:1168) 书给的效果数字:Game of 24 上,GPT-4 + 思维链只解出 4%,思维树到 74%。(:1170)

2.8 项目:function calling 天气助手

  • 模式: 模型负责理解意图和组织语言,真正的信息由外部 API 提供。 三步:模型判断需要数据并请求调用函数 → 我们执行函数并把结果送回 → 模型据此写最终回答。(:1205)
  • 顺带一个好处: function calling 同时把输出格式钉死成函数参数的形状。(:1197)
  • 给了 JSON schema 的写法、完整的对话循环代码,以及「这个模式还能用在哪」的清单 (金融行情、日程、差旅、零售库存、票务)。(:1372)
  • ⚠️ 代码里出现 MODEL = "gpt-5.4-mini"(:1293),而同章前文一直用 gpt-4.1-mini。 这是 MEAP 未定稿留下的不一致。 拆解里不要照抄具体型号。

第 2 章的伏笔

  • 「提示词只能到这里为止 —— 模型没有训练数据之外的知识,下一章用 RAG 接外部知识源」(:1178)
  • 模型路由 / 多模型策略「第 9 章讲」(:77)—— 要核对第 9 章是否真的兑现。

目前浮现的「书没讲透」的缺口(边读边攒,最后统一成清单)

  1. 内在幻觉 / 外在幻觉这对分类第 1 章提了一次(04-ch01:204)就没再展开, 而它是学界的标准划分。需要补来历。
  2. reasoning_effort 参数只在第 2 章一笔带过(05-ch02:43),没说清它和 temperature 到底是什么关系、值有哪些。
  3. 书里的论文只给了编号和 arXiv 号,没有讲清每篇的贡献边界 —— CoT(Wei 2022, arXiv:2201.11903)、zero-shot CoT(Kojima 2022, 2205.11916)、 self-consistency(Wang 2022, 2203.11171)、Auto-CoT(Zhang 2022, 2210.03493)、 ToT(Yao 2023, 2305.10601)、few-shot(Brown 2020, 2005.14165)。 这些编号可以直接用,但拆解要自己讲清每篇解决了什么。
  4. arXiv:2603.08274(温度与幻觉的 1720 亿 token 研究)编号可疑 —— 2603 意味着 2026 年 3 月。书是 2026 年的 MEAP,时间上勉强说得通,但需要核。 如果核不到,就降级成「书里的说法」并注明我们没核到。
  5. 书里 2026 年的商业数字(Harvey 估值、Cursor ARR、Agentforce ARR)没有一个给了参照物, 拆解引用时必须自己补对照量,否则违反第 13 条。