这一卷在四卷中的位置
《互联网产品的 AI 架构》计划四卷:
| 卷 | 主题 | 核心问题 |
|---|---|---|
| 卷一 | 模型接入与能力边界 | 能力承诺什么,失败时怎么办 |
| 卷二 | 推理性能与成本工程 | 同样边界下,怎样更快更省 |
| 卷三 | 模型组合与编排 | 多个能力如何协同完成复杂任务 |
| 卷四 | 平台化与治理 | 多团队、多租户下如何长期运营 |
卷一建立契约、网关、观测与降级;卷二在这些部件之上做测量与优化。两卷共用「回声」案例与 ai-lab 实验工程。
全书结构
13 章 39 节,按“度量 → 杠杆 → 归因 → 实验 → 治理 → 收口”组织:
| 章 | 标题 | 解决的问题 |
|---|---|---|
| 1 | 推理性能的度量口径 | 先把延迟、吞吐与 goodput 算对 |
| 2 | 请求调度与并发控制 | 请求怎么排队,并发开多大 |
| 3 | 上下文与 token 经济 | 输入花在哪,怎么复用与压缩 |
| 4 | 输出控制与生成长度 | 生成多长,何时停止 |
| 5 | 缓存体系与复用 | 什么值得缓存,放在哪一层 |
| 6 | 模型压缩与替代 | 量化、蒸馏、级联各自省多少 |
| 7 | 离线批处理 | 哪些任务不该挤占在线预算 |
| 8 | 容量规划 | 业务量如何翻译成 token 与机器 |
| 9 | 成本归因与计量 | 钱花在哪个能力与提示版本上 |
| 10 | 成本优化实验 | 如何做可信的对照实验 |
| 11 | 质量与成本的联合优化 | 三个目标如何一起验收 |
| 12 | 规模化下的稳定性 | 限流、分流与成本事故 |
| 13 | 卷二收口 | 交付一套可复用的成本基线 |
第 1 章 推理性能的度量口径
这一章回答:为什么“平均延迟 800ms”可能同时意味着体验很好和体验很差。
- 1.1 首字、单 token 与整体延迟 :TTFT、TPOT、端到端分解,冷启动与排队的影响。
- 1.2 吞吐、并发与 goodput :并发提高后 p95 先降后升,有效吞吐才是有意义的产能。
- 1.3 压测基线与负载模型 :三种确定性负载与可复现的基线报告。
产出:一套团队共用的延迟与吞吐口径,以及可重复的负载模型。
第 2 章 请求调度与并发控制
这一章回答:请求该排队还是该拒绝,并发上限由什么决定。
- 2.1 队列、优先级与准入 :有界队列、优先级反转、预算不足时直接拒绝。
- 2.2 并发上限与背压 :上限推导、信号量与向上游传播的背压。
- 2.3 多租户公平调度 :加权公平、饥饿防护与突发额度。
产出:一份调度策略,说明排队、拒绝与租户额度的边界。
第 3 章 上下文与 token 经济
这一章回答:一次请求的输入 token 里,有多少是真正需要的。
- 3.1 上下文窗口的成本结构 :系统提示、历史、检索片段与工具结果的占比。
- 3.2 前缀缓存与提示结构 :稳定前缀、可变后缀与缓存命中条件。
- 3.3 上下文压缩与检索裁剪 :摘要、去重、相关性裁剪与丢失信息验收。
产出:一张上下文预算表,标明每类内容的 token 上限与裁剪顺序。
第 4 章 输出控制与生成长度
这一章回答:为什么输出比输入更容易失控。
- 4.1 输出上限与停止条件
:
max_tokens、stop 序列与截断分类。 - 4.2 流式输出的提前终止 :取消、置信度足够即停与首帧后不重试。
- 4.3 生成长度的非线性成本 :长度分布、长尾输出与按能力设定目标。
产出:每个能力的输出长度目标与截断处理策略。
第 5 章 缓存体系与复用
这一章回答:缓存命中率上升,成本为什么可能没降。
- 5.1 结果缓存的经济性判据 :命中率、失效率与净收益。
- 5.2 缓存分层与容量 :本地、共享与语义缓存的分层。
- 5.3 缓存失效与一致性 :键设计、版本联动与误命中评估。
产出:一张缓存键与失效规则表,以及净收益的计算口径。
第 6 章 模型压缩与替代
这一章回答:换小模型之前,应该先做什么。
- 6.1 量化的精度与延迟权衡 :量化收益、精度损失与适用边界。
- 6.2 蒸馏与小模型替代 :验收集、替代判据与回退条件。
- 6.3 模型级联与成本收益 :先小后大的收益与误判成本。
产出:一份替代方案 ADR,写清收益、损失与回退条件。
第 7 章 离线批处理
这一章回答:哪些任务根本不该走在线路径。
- 7.1 在线与离线的边界 :时效要求、失败容忍与成本结构。
- 7.2 分片、重试与幂等 :批任务的分片键、重试预算与幂等。
- 7.3 批处理调度与成本模型 :窗口、并发与单位成本。
产出:一张在线/离线任务分类表与批处理调度参数。
第 8 章 容量规划
这一章回答:日活 100 万,需要多少并发与多少 token 预算。
- 8.1 从业务量到 token 需求 :日活、人均请求、长度分布与峰值系数。
- 8.2 峰值、余量与弹性 :峰值估算、余量比例与弹性策略。
- 8.3 配额与预算的容量映射 :租户配额如何映射到实际容量。
产出:一份容量模型,输入业务指标,输出并发、token 与成本区间。
第 9 章 成本归因与计量
这一章回答:账单涨了 40%,怎么在一小时内找到原因。
- 9.1 成本模型与隐形成本 :重试、缓存未命中、空闲与失败的计入。
- 9.2 多维归因方法 :按租户、能力、模型与提示版本拆分。
- 9.3 账单对账与差异分析 :计量口径、对账流程与差异解释。
产出:一张成本归因报表与对账差异清单。
第 10 章 成本优化实验
这一章回答:怎么证明优化真的有效,而不是碰巧。
- 10.1 基线、假设与实验设计 :单变量、对照与样本量。
- 10.2 四组对照实验 :提示压缩、缓存、小模型与批处理。
- 10.3 结果解读与回归风险 :显著性与质量回退。
产出:一份实验报告模板与四组对照结果。
第 11 章 质量与成本的联合优化
这一章回答:成本降了,质量掉了,这算优化吗。
- 11.1 质量-成本-延迟的权衡面 :三个目标的可视化与不可兼得区域。
- 11.2 评测集与回归门禁 :评测集构建、阈值与自动回归。
- 11.3 灰度发布与自动回滚 :灰度比例、观测指标与回滚条件。
产出:一套联合门禁与灰度回滚规则。
第 12 章 规模化下的稳定性
这一章回答:流量涨十倍,先坏的是哪里。
- 12.1 供应商限流与分流 :限流响应、多供应商分流与配额池。
- 12.2 降级链的成本约束 :降级不能无限重试,也不能越降越贵。
- 12.3 一次成本失控的复盘 :从告警到归因到修复的完整过程。
产出:一份规模化稳定性清单与事故复盘模板。
第 13 章 卷二收口
这一章回答:把前面所有判断合成一套可交付的基线。
- 13.1 推理成本基线 :指标、样本与报告结构。
- 13.2 优化方案与 ADR :方案、备选、后果与退出条件。
- 13.3 进入卷三 :单能力优化之后,多能力如何编排。
产出:一份成本基线报告与一份优化 ADR。
三条阅读路径
排障路径
1.1 → 1.2 → 9.1 → 9.2 → 12.3
先统一度量,再学会归因,最后看事故复盘。适合正在被账单或延迟困扰的团队。
优化路径
3.1 → 3.2 → 4.3 → 5.1 → 6.3 → 10.2
按“上下文 → 输出 → 缓存 → 替代”的顺序做实验,每一步都能独立验收。
容量路径
2.2 → 8.1 → 8.2 → 8.3 → 11.3
从并发与背压走到容量模型与灰度,适合做规划与平台的同学。
读完应能回答的十二个问题
- TTFT、TPOT 与端到端延迟分别在什么场景下决定体验?
- 为什么并发提高后 p95 可能先降后升?goodput 怎么算?
- 请求应该排队还是拒绝?准入判据是什么?
- 多租户下如何避免一个大租户饿死其他租户?
- 一次请求的输入 token 由哪几部分组成?哪部分最值得压缩?
- 前缀缓存命中的条件是什么?提示改版为什么会破坏命中?
- 输出长度为什么是非线性成本?截断与重试如何互相放大?
- 结果缓存的键应该包含什么?命中率高为什么不等于成本低?
- 量化、蒸馏与级联分别适合什么场景?各自损失什么?
- 从日请求量到并发数,中间缺哪几个参数?
- 成本上涨时,如何在一小时内定位到能力与提示版本?
- 质量-成本-延迟的联合门禁应该卡在哪一步?
十二个问题对应十三章。能回答,说明方法已经建立;答不上来,回到对应章节。
实验工程与验证
ai-lab 延续卷一,新增 src/perf/ 十三个模块,每个模块配 node --test 用例。代码块用 // file: / // tier: / // verify: 标注,正文与源文件逐字节一致。
验证分三级:
| 级别 | 内容 | 本书承诺 |
|---|---|---|
| L1 | 纯逻辑与模拟 | 全部章节 |
| L2 | 进程内端到端 | 第 1、2、10、13 章 |
| L3 | 真实模型或推理服务 | 不承诺 |
每章的产出物
| 章 | 交付物 |
|---|---|
| 1 | 性能口径与负载模型 |
| 2 | 调度策略 |
| 3 | 上下文预算表 |
| 4 | 输出长度目标 |
| 5 | 缓存键与失效规则 |
| 6 | 替代方案 ADR |
| 7 | 在线/离线分类表 |
| 8 | 容量模型 |
| 9 | 成本归因报表 |
| 10 | 实验报告模板 |
| 11 | 联合门禁规则 |
| 12 | 稳定性清单 |
| 13 | 成本基线与优化 ADR |
与站内其他内容的分工
- 卷一《模型接入与能力边界》讲契约、网关与失败语义;卷二不重复。
- 站内《后端架构设计》讲通用性能与容量方法;卷二只讲 AI 推理特有的部分:token、上下文、批处理与供应商配额。
- 站内分布式与可观测专题讲通用链路追踪与指标;卷二讲 AI 请求的成本归因字段。
版本与数字口径
- Node 26.5.0,TypeScript 类型由 Node 原生剥离,零第三方依赖。
- 延迟毫秒、吞吐请求/秒、成本整数微元。
- 所有模拟数字标注“示例样本上的运行结果”,不冒充生产数据。
- 模型价格不写死,只用相对倍数与统一口径。
怎么用这套书
- 先读第 1 章,把团队的度量口径统一。
- 用第 9 章建立成本归因,找到最贵的三个能力。
- 从第 3、4、5 章挑一个杠杆做单变量实验。
- 用第 10、11 章验收,确认质量没有回退。
- 用第 8、12 章把结论写进容量与稳定性方案。
- 用第 13 章形成基线,作为卷三编排的输入。
常见问题
没有生产数据能做这些实验吗?
能。卷二的方法建立在确定性模拟上,目的是建立口径与对照方法。真实数据会改变数值,不改变判据。
必须按顺序读吗?
不必。但第 1 章与第 9 章建议先读,否则后面的对照实验缺少共同口径。
代码能直接用于生产吗?
不能。实验工程用于验证判断,生产实现需要接入真实供应商、持久化与监控。
为什么没有具体的推理引擎调优参数?
参数与硬件、版本强相关,写死会迅速过期。本书给判据,不给魔法数字。
小结
卷二的主线是:度量 → 找杠杆 → 归因 → 对照实验 → 联合验收 → 容量与稳定性 → 收口。
每一章都回到同一个问题:这项优化让谁更快、让谁更省、让谁承担了什么代价。答不清代价的优化,不该上线。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。