《互联网产品的 AI 架构·推理性能与成本工程》前言
前言交代卷二的结构与用法:13 章如何从度量走到优化与收口,ai-lab 的 src/perf 模块地图,三级可运行性与代码块约定,数字口径与版本边界,章间依赖与三条阅读路径,以及每章留给团队的练习和自检清单,并说明哪些结论不能直接搬到生产。
tag
前言交代卷二的结构与用法:13 章如何从度量走到优化与收口,ai-lab 的 src/perf 模块地图,三级可运行性与代码块约定,数字口径与版本边界,章间依赖与三条阅读路径,以及每章留给团队的练习和自检清单,并说明哪些结论不能直接搬到生产。
卷一回答了 AI 能力的边界在哪,卷二回答同样边界下怎样更便宜更快。这篇序从一次账单超支讲起,说明为什么性能与成本必须一起设计,拆解成本失控的五个放大器与三份预算,交代两卷的分工、实验工程 ai-lab 的延续方式、数字来源,以及卷二明确不承诺的事情。
双写不是把同一份数据写两遍就结束,真正决定成败的是写入顺序、次写失败后的降级、双读比对口径,以及兼容窗口何时关闭。本节把顺序、差异率、窗口状态与到期决策写成纯函数,用可复现的样本回答两个问题:数据到底差多少,旧路径什么时候可以删,以及删除之前还需要哪些证据。
绞杀者替换的关键不是一次删掉旧代码,而是让新旧路径同时存在,并按用户、端与功能分桶逐步放量。本节把路由比例、白名单与 holdback、确定性哈希、接管进度和回退写成可测试的纯函数,让每一次请求都能解释自己为什么走新路径或旧路径,也说明如何判断迁移是否真正完成。
从一份永远排不上期的技术债清单出发,把债务治理拆成条目字段、严重度与影响面、偿还排期、逾期标记与季度节奏五部分,给出可运行的 TypeScript 模块与测试。文中说明优先级分数、容量约束、逾期判据与季度摘要,并解释为什么台账不能变成许愿池。
把卷一十三轮的判断压缩成一份可打印的评审清单:能力与契约、网关职责、路由与模型组合、流式、提示与上下文、结构化输出、预算与成本、缓存、降级、安全边界、观测计量、演进入口共十二组六十问,每组附通过判据、常见驳回理由与整改建议,末页给出三十分钟评审流程与结论模板。
从一次合并后三周无人认领的线上问题出发,把代码所有权拆成路径规则、owner 映射、覆盖度、评审路由与无人负责路径识别五部分,给出可运行的 TypeScript 模块与测试。文中说明优先级覆盖、通配规则边界、兜底 owner 的取舍,以及所有权规则为什么会悄悄失效。
把卷一反复使用的两类产物压缩成可直接抄用的速查:能力契约模板(六面承诺、请求响应形状、预算与降级字段)与错误模型速查(九类错误、可重试判定、HTTP 映射、用户可见文案、记录字段);另附五种能力的契约对照、流式事件与结构化输出失败表,以及预算算式与契约评审检查点。
从一次没人记得的架构决策出发,把 ADR 拆成九个必填字段、四态生命周期、集合级完整性校验与契约变更登记,并给出可运行的 TypeScript 模块与测试。文中说明哪些决策该接受、哪些该取代、契约变更如何绑定决策,以及校验失败时应该回退到哪一层。
把卷一的核心术语与判据压缩成速查表:能力契约、网关、路由、流式、提示、结构化输出、预算、缓存、降级、安全、观测与治理十二组,每组给出定义、判断条件、常见误用与对应章节;另附一页纸十二问与中英对照,可作为评审前的对齐材料,也适合新人快速上手。
发布前扫描器报告零错误,上线后仍收到「弹窗关不掉」「读屏走不通」的投诉:自动规则测不到焦点陷阱,也没有严重级别来决定先修什么。本节把规则集、严重级别、加权覆盖度、验收门槛与人工走查清单写成一套可执行的审计模型,并说明为什么覆盖度与门槛必须一起看。
下单失败时错误条只在视觉上出现,读屏用户什么也没听到;优惠券排序只能拖动,键盘用户无法完成;系统开了「减少动效」,页面仍在自动轮播。本节把播报内容、键盘绑定与减少动效、放大字体、高对比三类偏好映射写成可测试的纯函数,并说明去重与里程碑为什么必须进入模型。
用 60 条确定性样本跑完基线,得到成功率、P95 延迟、单次成本、缓存命中率与降级率,再按影响乘概率生成风险清单,并给出进入卷二的七项条件。文中数字来自 ai-lab 的示例样本运行结果,不是生产实测;同时说明样本量、阈值与风险分档为什么必须一起写清楚。
读屏用户听到一连串「按钮」,键盘用户按 Tab 从页头直接跳到页脚,弹窗打开后焦点再也出不去。本节把角色、名称、状态与语义节点树写成可校验模型,用 tabIndex 与 DOM 顺序计算焦点顺序,并把跳过、陷阱、丢失三类异常变成可执行的检测函数。
同一版本在德国能刷卡、在巴西只能货到付款、在阿联酋没有在线客服。区域能力不是布尔开关,而是有优先级的矩阵与降级链。本节把支付、物流、地图、客服四类能力、缺失时的降级路径与区域判定优先级写成可测试模块,避免同一区域在不同页面表现不一致,并给出判据与反例。
前十二章的部件都写好了,却没有一条流水线把它们按正确顺序串起来。本节把认证与配额、缓存、路由、调用、校验和降级组合成基线:说明缓存为什么在路由之前、预算如何逐段扣减、命中与降级各记录哪些字段,以及失败时由哪一层负责,并给出可运行实现与九个确定性测试。
阿拉伯语用户打开同一张订单页,返回箭头仍指向左边,订单号在双向文本里跳到句子另一端。本节把方向传播、逻辑属性映射、双向文本隔离与图标镜像规则写成可测试的 TypeScript 模块,并说明哪一层负责决定方向、哪些元素该镜像、哪些必须保持原样。
同一笔订单在圣保罗下单、在莫斯科退款时,文案复数、时区换算和货币最小单位会同时出错,三类故障常常互相掩盖。本节把参数化文案、UTC 存储与区域展示、按币种舍入写成可测试的 TypeScript 模块,并给出金额与时间在国际化场景下的判据与反例。
「回声」的五个 AI 能力散落在五份文档里,评审时才发现摘要没有降级路径、审核却声明了模板兜底。本节把能力契约收敛成一张六面矩阵:输入、输出、质量、延迟、成本与失败姿态逐项填值,区分契约字段与租户配置,按风险分数排序,并给出可运行的 TypeScript 矩阵视图与缺失面门禁。
同意不是一个布尔值,而是一台有状态、有版本、可撤回的机器。本节实现未询问、已同意、已拒绝、已撤回四态状态机,演示采集前闸门、目的绑定、版本过期重问与撤回后的分目的清理,并给出可审计的判据与常见错误边界。同意管理不是弹窗文案问题,而是采集链路上的硬闸门。