外观
第 40 章详细 Outline:成本、延迟与 Token 管理
写作契约
本章要完成的学习目标
读者完成本章后应能:
- 在优化前写出资源预算(Resource Budget),分开不可降级的结果、安全与证据条件、阶段资源上限、重试余量和超限出口。
- 用资源记录(Resource Record)与延迟路径(Latency Path)定位输入、输出、缓存、检索、工具、验证、排队和重试分别消耗在哪里,而不把缺失值当成零。
- 用成本规则快照(Rate Snapshot)把原始用量与动态费率分开,识别何时只能保留用量而不能计算金额。
- 为摘要、缓存、减少请求、并行、批处理或模型路由写出单一优化候选(Optimization Candidate)、失效条件和回退方案。
- 通过质量不降级门(Quality Non-regression Gate)比较同范围候选;拒绝任何以正确性、安全、来源新鲜度或证据完整性换取资源改善的路径。
前置知识与相邻章节边界
- 第 6 章解释一次调用的 Context Packet;本章记录和约束资源,但不重新定义上下文选择协议。
- 第 17 章定义 Evaluation Spec、证据矩阵和质量门;本章复用其判定责任,不把 Token、延迟或金额升级为结果正确性的替代指标。
- 第 18 章定义重试、恢复与重试预算;本章只把重试带来的额外资源和关键路径写入记录,不授予重试许可。
- 第 19 章定义 Compaction Record 与恢复检查;本章把结构化摘要视为优化候选,不以“更短”证明压缩正确。
- 第 39 章负责 Harness 测试策略、固定任务集与 Benchmark 偏差;本章消费可比较的任务/试次与质量证据,不设计新的 Benchmark。
- 第 41 章负责安全、权限和审计;本章不能因缓存、并行或更换路径而放宽权限、敏感数据和审计要求。
- 第 42 章负责版本化、回滚和 A/B 测试;本章只要求候选带版本与回退准备,不实施发布、流量分配或真实回滚。
章节非目标
本章不提供厂商价格表、模型排行、上下文窗口、Token 与字符换算、固定缓存阈值、保留时间、并发数、延迟目标、超时、分位数或服务级别目标;不访问真实账单、模型、缓存、批处理、网络、文件或外部工具;不把教学数据写成 Benchmark、实测性能、合同结算或生产效果。
来源—论证映射
| 计划小节 | 可使用的来源范围 | 正文允许的事实 | 必须标记为本书工程扩展 |
|---|---|---|---|
| 第 1、4、6 节 | CH40-REF-01 | OpenAI 延迟指南在其产品工程语境中区分 Token、输入、请求、依赖并行、用户等待和非 LLM 路径等优化类别。 | Latency Path 的字段、关键路径判断、候选排序和停止状态。 |
| 第 6、7 节 | CH40-REF-02 | OpenAI Prompt Caching 文档说明其缓存复用依赖相同前缀,并建议稳定内容前置、动态内容后置。 | Cache Identity、失效矩阵、命中证据要求和缓存候选状态。 |
| 第 2、3 节 | CH40-REF-03 | Anthropic Token counting 文档将发送前 Token 计数描述为估算,并说明它可能与实际消息使用量略有差异。 | 预算前检查、Resource Record、estimated/observed 状态和超限路由。 |
| 第 4、6 节 | CH40-REF-04 | OpenAI Batch API 在其产品中为不要求即时响应的工作提供异步批处理流程。 | 交互/离线分类、批处理准入问题、批次记录和保守停止条件。 |
| 第 2、7 节 | CH40-REF-05 / REF-068 | Anthropic Context Engineering 文章讨论高信号 Token、按需检索和长任务压缩的取舍。 | Token 分区、摘要身份、失效检查和本章的资源优化顺序。 |
| 第 1、8 节 | CH40-REF-06 / REF-061 | Anthropic Agent 评估文章区分 task、trial、grader、transcript、outcome,并在固定任务上讨论 Token、延迟、成本和错误率跟踪。 | 可比性契约、Quality Non-regression Gate、教学状态和候选晋级规则。 |
| 第 5 节 | CH40-REF-07 | OpenAI API Pricing 页面只作为写作日读取当前产品费率的官方入口。 | Rate Snapshot 的字段、有效性判断、rate_stale 和金额未知处理。 |
正文必须明确主语,例如“OpenAI 的产品文档说明”“Anthropic 的工程文章建议”“本书提出”“虚构教学输入显示”。不得引用来源页面中的价格、折扣、窗口、阈值、延迟经验值、模型列表或性能数字;CH40-REF-01 至 CH40-REF-04、CH40-REF-07 在主线程分配正式引用编号前不得猜测 REF-*。
章节叙事与逐节蓝图
1. 先定义不可降级项:优化不是删掉最贵的步骤
- 要回答的问题: 为什么一次任务变得更快、更短或更便宜,仍可能是一次失败的优化?
- 场景输入: 虚构研究 Agent 重复读取一组官方资料、生成摘要并执行事实核验。团队希望减少重复工作,但不能删除来源新鲜度检查和结论验证。输入是教学记录,不来自真实模型、网页、账单或计时系统。
- 来源边界: CH40-REF-01 只提供多类延迟优化手段的产品工程背景;CH40-REF-06 只说明资源指标可随同固定任务与结果被跟踪。二者都不规定本章的质量底线、预算或候选状态。
- 本书模型: 先建立“不可降级项 / 可优化项 / 未知项”三栏。不可降级项包括任务结果、安全/权限边界、来源新鲜度、必需验证和证据可追溯性;可优化项包括重复输入、可复用检索、非关键路径等待和冗余输出;未知项必须请求测量,不能估成零。
- 最小证据: 对同一虚构任务列出“更少 Token 但缺来源证据”“等待更短但跳过验证”“资源减少且质量门仍通过”三种候选,解释前两者为何不是成功。
- 失败与停止: 任务范围、成功标准、权限边界或必需证据未定义时,输出
needs_spec,不进入预算和优化。 - 过渡: 质量底线确定后,下一节才能把资源限制写成运行前契约,而不是在账单或超时出现后补解释。
2. Resource Budget:把 Token、时间和重试余量写成运行前约束
- 要回答的问题: Token 预算怎样避免变成一个脱离任务、模型和质量要求的孤立数字?
- 来源边界: CH40-REF-03 仅支持“发送前计数是产品提供的估算”这一限定事实;CH40-REF-05 仅支持高信号 Token、按需检索与压缩取舍的工程背景。它们不提供跨模型预算或本章的分区规则。
- 本书工件: Resource Budget 最小字段为任务/试次标识、范围、目标配置、不可降级项、必需契约与证据区、可按需资料区、输出区、工具/验证区、重试余量、超限出口、预算来源、有效时间和未知项。
- Token 分区: 先保留规则、任务、来源身份、未决风险和验证所需信息;再安排可按需加载的资料与候选输出;不得通过删除安全规则、来源指针或停止条件满足预算。
- 预算前检查:
estimated只表示目标接口给出的预检值或教学输入,不能替代当次实际用量;目标模型/接口、工具定义或输入版本变化时必须重新估算。 - 超限路由: 可选择
reduce_optional_context、load_on_demand、needs_measurement、requires_approval或blocked。本章不自动截断、不调用压缩、不更换模型。 - 最小证据: 给出不含具体数值的预算卡,要求读者指出哪些字段可延后加载、哪些必须保留,以及哪个变化会让预估失效。
- 失败与停止: 只有总预算而没有阶段/必需项、把缺失实际用量当作预算剩余、或目标配置不明时,保持
needs_budget_detail。 - 过渡: 预算说明计划消费什么;下一节用 Resource Record 回答实际观察到什么,并保留两者差异。
3. Resource Record:预估、实际用量与未知值必须分开
- 要回答的问题: 一条怎样的记录才能让人判断资源消耗来自模型、检索、工具、验证还是重试,而不是只看到一个总 Token 数?
- 来源边界: CH40-REF-03 只用于区分发送前估算与实际消息使用量可能不一致;产品字段、Tokenizer、计费方式和当前模型范围必须在写作日按官方文档核验。
- 本书工件: Resource Record 包含任务/试次、步骤与尝试标识、父步骤、配置版本、输入/输出/缓存的
estimated或observed值、检索/工具/验证调用计数、开始/结束观察、结果状态、来源、单位和未知项。 - 归属规则: 资源只归入同一任务、试次和配置范围;共享缓存、后台工作或无法关联的账单保持
unattributed,不得平均摊给成功任务。 - 结果分类:
accepted、rejected、needs_evidence、requires_review和失败尝试分别保留;不能只对成功结果计费,也不能用平均值隐藏重试与补证。 - 最小证据: 对比三条教学记录:只有预估、具有实际用量但缺配置版本、以及可关联到同一试次且结果证据完整。让读者判断哪些只能用于预算,哪些可用于候选比较。
- 失败与停止: 单位混杂、配置不明、来源缺失、实际/预估未标记或任务关联冲突时,输出
needs_measurement;不计算金额或改善比例。 - 过渡: Resource Record 告诉我们发生了哪些消费;下一节把开始/结束与依赖关系连起来,识别真正影响等待的路径。
4. Latency Path:总耗时、阶段耗时与用户等待不是同一个量
- 要回答的问题: 为什么把每个步骤耗时相加,既可能高估并行路径,也可能漏掉排队、重试和验证等待?
- 来源边界: CH40-REF-01 仅提供减少请求、并行独立步骤、用户感知等待等产品工程分类;CH40-REF-04 仅提供某产品对非即时工作的异步批处理语境。它们不规定关键路径算法、并行安全或服务目标。
- 本书工件: Latency Path 包含节点标识、依赖、开始/结束观察、排队、模型请求、检索、工具、验证、重试等待、用户可见里程碑和未知区间。关键路径只能由实际依赖与观察推导。
- 依赖检查: 真正独立且只读的步骤可以成为并行候选;共享写入、前序输出、审批、权限或效果验证构成依赖时必须保持顺序。并行候选不等于已经并发运行。
- 交互/离线分类: 用户需要立即决定的步骤留在交互路径;固定任务评估、批量分类或其他非即时工作可以形成异步候选,但必须另有完成、失败、取回和取消记录。
- 最小证据: 用无具体时长的依赖图比较“两个独立来源读取”“事实核验依赖读取结果”“离线回归任务”三类节点,指出哪些可并行、哪些可移出关键路径、哪些不可动。
- 失败与停止: 缺开始/结束观察、依赖不明、取消效果未知或写入步骤被误标为独立时,输出
latency_path_incomplete或requires_approval。 - 过渡: 延迟瓶颈定位后,还需要把原始用量与适用费率分开,避免用过期价格或公开价伪造账单。
5. Rate Snapshot:费率是有范围和日期的输入,不是代码常量
- 要回答的问题: 在价格、计量单位和合同可能变化时,怎样让一次成本换算可追溯、可失效?
- 来源边界: CH40-REF-07 只作为写作日访问当前 OpenAI API 产品价格的入口。本章不摘录页面数字,不假设公开价等于合同结算,也不将其用于其他平台。
- 本书工件: Rate Snapshot 最小字段为供应商/合同范围、产品与版本、计量类别、单位、币种、有效起止、来源 URL、访问/复核时间、折扣/税费/汇率的已知或未知状态,以及适用的 Resource Record 范围。
- 计算门: 只有用量单位、费率单位、币种、有效时间和合同范围一致时才形成派生金额;否则保留原始用量并返回
rate_missing、rate_stale或unit_mismatch。 - 时间语义: 写作日访问日期不等于费率生效日期;页面当前值不能倒推历史账单。候选比较必须使用与试次适用时间相匹配的快照。
- 最小证据: 设计三张不含金额的快照:完整且同范围、缺币种/单位、以及访问日在后但生效范围未知。读者判断只有哪张可参与教学换算。
- 失败与停止: 费率来源不明、公开价/合同价混用、币种或税费状态缺失、快照覆盖错误时间时,不输出总金额或“节省”。
- 过渡: 预算、实际记录、延迟路径和费率快照就绪后,下一节才允许提出一次只改变一个主要变量的 Optimization Candidate。
6. Optimization Candidate:先消除、再复用、再缩短关键路径
- 要回答的问题: 面对减少请求、并行、缓存、批处理、压缩或模型路由等选项,怎样避免一次改太多而无法归因?
- 来源边界: CH40-REF-01 只提供多种延迟优化类别;CH40-REF-04 只提供异步批处理的产品实例。候选顺序、准入字段和状态均为本书模型。
- 本书工件: Optimization Candidate 记录基线任务/试次、单一主要变化、预期影响、不可降级项、依赖、风险、测量计划、失效条件、回退准备和对照任务集。一次候选不同时更换模型、改 Prompt、删验证并启用缓存。
- 优先级: 先判断是否需要 LLM/外部调用;再消除重复请求与无条件重试;再复用版本一致的结果;再缩短真正的关键路径;之后才考虑压缩载荷或切换执行路径。
- 批处理候选: 只有非即时、输入可冻结、结果可关联、失败可逐项识别且不会绕过安全/质量门的工作才进入
batch_candidate;本章不上传文件或创建批次。 - 并行候选: 只有依赖已证明独立、副作用受控、取消与资源放大可观察时才进入
parallel_candidate;否则返回dependency_conflict。 - 最小证据: 为虚构研究任务分别写“合并重复检索”“并行两个独立只读来源”“把离线回归移出交互路径”三张候选卡,但每次只比较一个改变。
- 失败与停止: 基线缺失、候选同时改变多个主要变量、回退不可描述、写入/批准被并行或批处理范围不明时,输出
candidate_not_comparable或requires_approval。 - 过渡: 候选说明准备改什么;下一节深入缓存和摘要,说明“可复用”必须先回答身份、版本和失效问题。
7. 缓存、摘要与按需加载:复用需要身份、证据和失效条件
- 要回答的问题: 为什么两个内容看起来相似,仍不足以证明可安全复用?
- 来源边界: CH40-REF-02 只说明 OpenAI Prompt Caching 的相同前缀与稳定/动态内容安排;CH40-REF-05 只提供高信号 Context、按需检索与压缩取舍。跨供应商缓存语义和本章的 Cache Identity 均不是来源事实。
- 本书模型: Cache Identity/摘要记录至少包含任务用途、稳定对象身份、内容/配置/来源版本、权限范围、新鲜度、生成方式、原始证据指针、命中/未命中证据和失效触发。
- 三类复用分开: Prompt 前缀缓存、检索结果复用和结构化摘要复用具有不同身份与风险;不能因为一个层面命中,就假设来源事实、权限或最终回答仍有效。
- 失效矩阵: 任务范围、引用主张、来源更新时间、权限、配置、工具定义或质量规格变化时,分别判断
reuse_allowed、refresh_required、needs_evidence或blocked。 - 教学案例应用: 稳定来源元数据和带证据指针的结构化摘要可以成为候选;事实核验仍读取当前来源。缓存命中记录只证明复用发生,不证明内容正确。
- 最小证据: 对比同一来源版本/同一任务、来源更新但摘要未刷新、权限范围改变三种注入对象,要求读者指出后两者为何不能复用。
- 失败与停止: 缺对象身份、命中证据、原始证据指针或失效条件,或把摘要当成事实来源时,输出
cache_evidence_missing或refresh_required。 - 过渡: 即使缓存和摘要降低资源,也必须在相同质量要求下证明候选没有退化;下一节完成候选准入。
8. 模型/路径路由与 Quality Non-regression Gate
- 要回答的问题: 如何比较不同模型或执行路径,而不是凭价格、速度宣传或一次成功演示自动路由?
- 来源边界: CH40-REF-06 只提供 task、trial、grader、transcript、outcome 以及资源指标随评估跟踪的工程背景;CH40-REF-03 只说明 Token 预估需绑定目标产品接口。模型选择规则、门槛和状态是本书模型。
- 可比性契约: 基线与候选必须绑定相同任务定义、输入/来源版本、成功标准、权限、安全要求、试次策略和必需证据;配置差异必须明确记录。缺一项时不得比较。
- 质量不降级门: 先检查必需结果、安全/权限、来源新鲜度、证据完整性和允许差异;全部满足后才比较 Resource Record、Latency Path 与 Rate Snapshot。任何硬性项失败直接返回
quality_regression。 - 路由输出:
ready_for_comparison只表示候选可进入受控比较;candidate_accepted只在指定教学规格内成立,不代表已发布、已切流或未来任务表现。 - 不确定性处理: 资源减少但质量证据不足时返回
needs_evidence;资源记录不可归属时返回needs_measurement;费率失效时返回rate_stale;范围扩大时返回requires_approval。 - 最小证据: 用同一虚构研究任务比较“基线”“摘要复用候选”“删去事实核验候选”。前者提供基线,第二个可在证据完整时比较,第三个无论资源多低都被拒绝。
- 失败与停止: 用不同任务、不同来源版本、不同安全要求或单次成功做模型路由,均为
candidate_not_comparable;不能输出“更优模型”。 - 过渡: 规则已定义,下一节用完整案例把预算、记录、失效和质量门串成一个可审查决策包。
9. 完整教学案例:复用研究摘要,但保留事实核验
- 要回答的问题: 怎样在不访问真实网页和模型的教学案例中,展示资源优化没有删除关键证据步骤?
- 教学输入: 注入同一虚构研究任务的基线 Resource Records、一个版本化来源清单、一个带证据指针的结构化摘要、候选记录、Rate Snapshot 状态和质量门。所有用量与时序仅是教学字段,不代表真实 Token、延迟或金额。
- 基线路径: 任务契约 → 读取来源 → 生成摘要 → 事实核验 → 输出;每个节点只展示身份、依赖和记录种类,不填写供应商数据。
- 候选路径: 若来源、主张、权限和配置版本一致,可复用稳定元数据与摘要候选;事实核验仍重新检查来源。任一失效条件触发
refresh_required,不能沿用摘要。 - 候选比较: 先通过 Quality Non-regression Gate,再比较可归属的 Resource Record 与 Latency Path;Rate Snapshot 不完整时只比较原始用量,不输出金额结论。
- 责任断点:
estimated_tokens ≠ observed_usage、cache_candidate ≠ cache_hit、cache_hit ≠ fact_verified、resource_reduction ≠ quality_pass、candidate_accepted ≠ route_deployed。 - 最小证据: 使用“工件 → 已知 → 未知 → 允许下一步 → 禁止结论”表覆盖预算、基线、缓存/摘要、事实核验、候选和质量门。
- 预期验证: 读者能指出为何摘要可以减少重复生成候选,事实核验却不能删除;能识别何时只能记录用量而不能计算金额。
- 过渡: 案例给出数据契约;下一节把停止条件转成纯内存函数和可观察返回值。
10. 最小示例:纯内存资源优化评估器
- 要回答的问题: 怎样验证预算、测量、费率、依赖和质量门的路由,而不模拟真实计费、缓存或性能?
- 示例边界: Example Implementation 阶段才创建文件、测试和 npm 入口。计划函数名为
assessResourceOptimization(input);只读取注入的budget、baselineRecords、candidateRecords、latencyPath、rateSnapshot、optimizationCandidate与qualityGate。 - 计划输出:
ready_for_comparison、needs_budget_detail、needs_measurement、rate_stale、dependency_conflict、refresh_required、quality_regression、candidate_not_comparable或requires_approval。函数不输出真实金额、速度提升、缓存命中或“最佳模型”。 - 计划测试: 覆盖只有预估无实际记录、费率单位/时间不匹配、缓存无命中证据、依赖冲突、重试超预算、资源改善但质量失败、范围扩大,以及同任务同规格候选可比较。
- 断言边界: 测试只检查公开返回状态、原因与未决字段;示例中的任何数值都是注入数据,不得复述为产品定价或实测延迟。
- 预期验证: 本阶段不运行 Node、模型、网络、文件、计费、缓存、批处理、并发、时钟或外部工具。后续只有实际执行命令的输出才能写为测试结果。
- 过渡: 纯函数展示判断出口;下一节的图要同时表达资源瀑布、关键路径和质量门的断点。
11. 图示:一次任务的资源瀑布与质量门
- 要回答的问题: 怎样用一张图指出资源落在哪些阶段,同时避免把图画成真实监控或账单?
- 主链:
Task Contract → Model / Retrieval → Tool → Verification → Retry Candidate → Outcome;Resource Record 在每个阶段旁记录用量和未知项,Latency Path 连接实际依赖,Rate Snapshot 只在用量可归属后参与派生计算。 - 优化分支:
Eliminate → Reuse / Cache → Parallel / Batch Candidate → Compact → Route Candidate只作为候选入口,全部回到 Quality Non-regression Gate;不得从候选直接连到“已节省”或“已发布”。 - 关键断点: 图中显式标注“预估 ≠ 实际用量”“缓存候选 ≠ 已命中”“资源减少 ≠ 质量通过”“候选接受 ≠ 已部署”。并行箭头只表示依赖允许,不表示真实并发已执行。
- 工件与验收: 后续 Mermaid 源暂定
diagrams/mermaid/chapter-40-resource-cost-latency-waterfall.mmd。正文图块、源文件、SVG/PNG、替代文字与视觉检查只能在 Diagram Review 阶段创建并核对。 - 最小证据: 图后逐节点列出输入、观察、未知项、允许结论和禁止推论,要求读者找出质量门前不能出现“节省成功”的原因。
- 预期验证: 本阶段不声称 Mermaid、导出图、性能追踪、账单或监控已存在;图只计划表达本书模型。
- 过渡: 图完成当前最小闭环;最后一节说明走向真实运行时还需补什么,以及哪些优化反模式必须拒绝。
12. 渐进增强、反模式、总结与后续连接
- 要回答的问题: 从纯内存数据契约走向真实资源治理,需要补哪些控制?哪些看似高效的捷径会破坏证据和责任边界?
- 渐进表:
| 新需求 | 必须新增的控制 | 升级触发 | 本章为何不实现 |
|---|---|---|---|
| 读取真实模型用量或账单 | 账户/项目范围、接口契约、凭证、权限、脱敏、计量单位、费率版本和账单核对。 | 必须访问供应商 API、控制台或合同。 | Resource Record 与 Rate Snapshot 只是教学数据契约。 |
| 创建真实缓存或摘要服务 | 对象身份、租户/权限隔离、来源版本、新鲜度、失效、删除、隐私与命中观察。 | 复用将跨请求、用户或任务。 | Cache Identity 不创建存储,也不证明缓存安全。 |
| 真实并发或异步批处理 | 依赖图、副作用隔离、容量、限流、取消、幂等、部分失败和结果关联。 | 任务将并行调用或进入后台。 | Latency Path 只描述候选依赖。 |
| 模型路由、A/B 或发布 | 固定评估集、试次策略、版本、流量/范围控制、监控、批准、回滚和长期漂移检查。 | 候选将影响真实请求。 | 第 39、41、42 章负责测试、安全和发布控制。 |
- 反模式: 用总 Token 数代替完整成本;将预估写成实际用量;把公开价硬编码为历史账单;相加并行步骤得到用户等待;把缓存命中当成事实正确;无条件并发或批处理写入;同时更换模型、Prompt、验证和缓存;以低成本覆盖质量门失败;只报告平均值而隐藏失败与补证。
- 总结回收: 成本、延迟和 Token 不是最后才看的运维统计,而是带范围、版本和未知项的架构输入。可靠顺序是:先锁定不可降级项,再预算,再记录实际资源与依赖,定位关键路径,提出单一可回退候选,最后通过同范围质量门。任何缺失证据都应保留为未知,而不是为了漂亮的改善结论填零。
- 练习:
- 为一个带检索和验证的虚构任务写 Resource Budget,指出两类不得因超预算而删除的内容。
- 将一条只含“总 Token”和“总耗时”的日志补成 Resource Record 与 Latency Path,列出仍不能计算的结论。
- 为结构化摘要写 Cache Identity 与三条失效条件,说明缓存命中为何不能替代事实核验。
- 比较两个资源候选,设计一个会因
quality_regression被拒绝的路径和一个rate_stale路径。
- 后续连接: 第 41 章将把权限、敏感数据和审计要求加入资源优化边界;第 42 章将把候选版本化、发布、A/B 与回滚分开;第 43 至 45 章会把预算、研究复用和接力记录用于技术书工厂。后续章节不得把本章教学记录倒写为真实账单、缓存、批处理、路由、发布或性能证据。
后续阶段的交付与验证契约
| 阶段 | 计划产物 | 本阶段不应提前声称的事实 |
|---|---|---|
| First Draft | 原创正文、六类本书工件、优化优先级、虚构研究案例、反模式和跨章过渡。 | 任何价格、上下文窗口、延迟数字、缓存、批次、模型路由或实际账单已核验/运行。 |
| Technical Review | 写作日重读 CH40-REF-01 至 CH40-REF-07,核查来源限定、术语、计算边界和第 17/18/19/39/41/42 章责任。 | 产品页面提供本书工件、统一计量、固定阈值或跨供应商保证。 |
| Example Implementation | 纯内存 assessResourceOptimization、最小测试、演示计划和无外部 I/O 边界。 | Node 测试、真实用量、计费、缓存、批处理、并发、时钟或模型已经运行。 |
| Diagram Review | Mermaid 源、导出图、替代文字、图文断点核对和视觉审查。 | 图中节点代表真实监控、账单、性能或部署状态。 |
| Fact Check / Language / Final Review | 动态来源重读、事实表、术语与时态检查、真实验证记录和状态收口。 | 动态价格、字段、产品行为、示例数据或测试结果无需当日核验即可发布。 |
Outline 完成检查
- [x] 覆盖 Resource Budget、Resource Record、Latency Path、Rate Snapshot、Optimization Candidate 与 Quality Non-regression Gate 六类工件。
- [x] 将预估/实际用量、总耗时/关键路径、缓存候选/命中、资源改善/质量通过、候选接受/部署分开。
- [x] 每个主要小节均说明来源范围、本书模型、最小证据、停止条件、未运行边界和与下一节的过渡。
- [x] 完整案例保留事实核验,并把摘要与缓存限定为带版本、证据指针和失效条件的候选。
- [x] 明确第 6、17、18、19、39、41、42 章的责任边界,未重复 Benchmark、安全、发布或回滚实现。
- [x] 未记录价格、上下文窗口、缓存阈值、保留时间、延迟数字、分位数、模型排行或性能结论。
- [x] 已定义后续正文、纯内存示例、图示和审查的交付契约;本 Outline 阶段未创建或运行这些工件。
