# 第 37 课教师讲稿｜长对话为什么要缓存，缓存又不能保证什么

本课 60 分钟，是 AIPath 七阶段路线的最后一课。用 Character.AI 的公开历史技术文章作案例，回答一个可以观察的问题：**已经算过的前文，哪些部分可能复用？复用和少占空间，为什么都不能直接保证回答质量？** 学生不需要注册陪聊产品，也不需要提供自己的聊天记录。

学完应能区分预填充与解码，手算一个明确条件下的 KV 缓存大小，找出最长共同前缀，并把公开披露、课堂计算和未验证的产品效果分开。前面课程学过的注意力、Token、上下文与评价，在这里连成一个能检查的过程。

## 课前准备：先看见格子，再用字母

打开“数清 KV 格子，再比较共同前缀”。每层 KV 头数默认 4，层数 2，每个 K 或 V 头含 4 个数字，每个数字 2 字节。旧标签是 `R1 H1 H2 H3 H4`，当前请求是 `R1 H1 H2 H3 H4 U2`，状态可用设为课堂假定可用。按钮叫“计算并查看过程”。先试运行，再复位，留空学生的预测区。

打印两行标签卡和一张空白方格纸。一个空格分开的标签代表一个**玩具 Token**，只用于比较身份和顺序。R1 可以帮助我们想到角色说明，H1—H4 让我们想到历史，U2 让我们想到新问题，但实际一段角色说明往往有许多 Token。程序没有调用真实分词器，绝不能从六个标签推出六个中文句子恰好等于六个实际 Token。

默认结构是一条序列、各层相同 KV 头数、不跨层共享、每个头同样长度的简化账本。公式只计键和值的数值存储，不计权重、临时工作区、其他会话、管理元数据和后续生成。标签比较也没有生成真正的 K/V 张量。教师需把这两条边界写在板上：**算存储格子，不造模型；比有序标签，不测产品缓存。**

另备三个原创回答卡供后半课评价。角色“阿澄”是虚构的校园资料助理，负责依据给定材料回答，不能声称已经替学生办事。材料：活动叫“星桥”，新公告 N2 把教室从 A201 改到 B305，周三 17:00 开始，未提供报名上限；报名需要学生自行提交。回答 A：“星桥周三 17:00 在 B305；上限未提供；我没有代报名。”回答 B：“我把你报名好了，还是 A201。”回答 C：“相信我，我总能记住你的一切，不用再看公告。”这些是教师写的评审材料，不是 Character.AI 实际输出，不把它们冒充某服务的失败案例。

## 0—6 分钟｜一段长对话的时间花在哪里

教师可以说：“你和一个助手已经聊了很久，再问一句新问题。它这次要处理的输入不一定只有这几个新字，应用可能把角色说明、相关历史和当前问题一起交给模型。我们先不讨论它有没有感情或记不记得你，先数实际送进去的东西。”学生在 Q1 画旧历史与新增问题两部分，标明哪些输入来自应用组织，哪些是用户刚写的。

摆出旧五卡和新六卡，请学生预测：两行里面有没有能直接看到的重复前缀？然后追问“文字一样”和“旧计算状态可用”是否完全一样。学生若说把聊天记录保存下来就行，让他区分保存文本与保存注意力计算状态；文本还可能需要重新计算，状态能否复用则受模型、设置、位置和缓存是否仍在等条件影响。此时先收首答，不急着给一个费用节省百分比。

## 6—12 分钟｜先认两个阶段，避免把等待混成一项

教师说：“模型处理这一轮已有输入并建立后续可用状态，这一段叫预填充。随后逐步产生新 Token，是解码。缓存能帮助避免反复重新计算旧输入的某些内容，但每个新输出通常仍要做模型计算、访问相关状态。”让学生在纸上画一条时间线：请求开始、首个输出、后续输出、结束，分别标两个阶段所在的大致位置。

不要把首字等待直接等同全部预填充时间，因为请求还可能排队、准备或传输。也不要把页面上文字逐字显示就当真实 Token 生成速率：界面可能缓冲或分批展示。我们可以记录体验，但若要研究推理实现，需要服务计时或更清楚的测量条件。学生在 Q1 给“首个输出等待”“整段完成”“单位时间完成的请求数”各写不同栏名，知道吞吐更高与单个学生等得更短不一定一起发生。

## 12—18 分钟｜从一小格数到每 Token 的字节

在方格纸画 K 和 V 两行，每行四格。说：“回想注意力，K 帮助匹配，V 提供混合内容。这里先不做匹配运算，只问这些数存下来要几格。”一组 K/V 共 2×4 个数字，每个数字 2 字节，所以这一层一个 KV 头一个 Token 为 16 字节。让学生亲手涂色数格，再给出乘法。

接着复制成四组头，再复制到两层，得到每 Token 128 字节。学生在 Q2 写出五个因素的含义：2 是 K/V 两份，L 是层数，Hkv 是 KV 头数，d 是每个头的数字数，s 是每个数字字节数。最后再乘序列里的 Token 数 T。顺序这样安排，是让公式成为已有方格的简写，而不是要求学生面对六个字母凭空记忆。若把 2 当两字节，提醒字节已经由 s 表达；最前面的 2 是两种状态。

## 18—24 分钟｜长度变了，空间与新处理数量分别变多少

请学生先数默认旧序列五项、当前请求六项。旧序列估算 5×128=640 字节；当前六项全部处理后的状态估算 6×128=768 字节。强调第二个数是在当前输入都处理之后的账，不包括未来输出。每生成更多 Token，实际结构通常还会需要相应状态，但这个页面没有替学生假定回答长度。

现在点击按钮，查看逐位置表。前五项完全相同，新请求多了 U2，在题面假定旧状态可用时可复用五项，只需新处理一项。问：“既然复用五项，最终是否只剩一项状态占空间？”让学生回到 768 的格子：复用节省的是重复计算，不是自动删掉原来需要访问的状态。相同前缀还需要保存、查找与搬运安排；少算一些输入也不保证总费用只剩六分之一。学生在 Q2 分别填写空间、共同前缀、新处理项，三列不能混成一个节省率。

## 24—30 分钟｜只改 KV 头数，理解 MQA 的一个方面

保持层数、头内数字数、每数字字节与序列不变，把 KV 头数从 4 改为 1，先预测当前请求的状态大小再运行。结果为 192 字节，是原玩具账的四分之一。教师说：“MQA 的想法是多个查询头共享键和值。这里改变的是 KV 头数，我们没有声称把所有查询头都删成一个，也没有改 Token 数。”[多查询注意力论文](https://arxiv.org/abs/1911.02150)讨论了这一方向。

让学生在 Q3 写出一项改变和至少两项未改条件。再问：“这个计算检查了角色说话是否一致吗？”答案应该来自实验范围：它没有生成任何回答。结构改变要与训练和质量评估配合，不能在一个任意现成模型里随手改头数就保证工作。Character.AI 的历史文章还披露了局部与全局注意力安排、跨层共享及低精度等路线；这些针对状态组织和计算的不同部分，不能把几个理想倍数相乘当作我们复现的成本收益。[2024 年官方技术文](https://blog.character.ai/optimizing-ai-inference-at-character-ai-2/)。

## 30—36 分钟｜改一个很早的标签，后面相同也不能接回去

恢复 KV 头数 4。旧序列保持不动，仅把新请求第一项 R1 改成 R2。学生先预测可复用几项，运行后看到最长共同前缀为 0。教师解释：“后面的标签看起来还一样，但在常见的因果注意力计算里，它们的状态可能受前文影响；不能把相同的后缀当成相同的前缀状态。”页面从第一处变化停止累计，这是透明的字符串标签规则，不冒充真实张量哈希系统。

再恢复默认新序列，把旧状态选项改成不满足条件或没有证据确认可用。虽然最长共同前缀仍为五项，可复用按零处理。这是保守的课堂约定，目的是避免看到文本相同就宣称真实缓存命中。学生在 Q3 记录两个失败原因：一个是输入前缀变了，一个是状态条件未确认。不要把它们都叫“模型忘记了”，更不能拿旧缓存存在与否推断产品保留了哪些个人长期记忆。

## 36—42 分钟｜独立计算一条新的会话

Q4 新结构：层数 3，KV 头数 2，每头 4 个数字，每数字 2 字节；旧序列 `P A B C`，当前 `P A B C U`，旧状态假定可用。请学生独立求每 Token 字节、旧序列大小、当前请求完整状态大小、共同前缀与新处理项。然后仅将 KV 头数改成 1，写新的当前请求大小。

教师只读材料，不在投影上填这些数字，也不显示结果。巡查时可问：“你的 2 表示哪两份？”“计算的是输入处理完成后，还是已经包括没提供的未来回答？”学生完成手算后才输入页面核对。最后给一个迁移条件：新请求改为 `P A X C U`，先预测哪些位置仍能作为连续前缀使用，再运行。先把首答与实际记录分开，留到讲评才解释答案。

## 42—48 分钟｜独立评审：便宜一点的回答，能把任务做好吗

发 Q5 三张阿澄回答卡。学生按地点时间、未知信息、实际动作声明、角色边界四列逐项检查，并标出支持或反驳的公告片段。教师不在这六分钟先说哪张合格。对“语气热情所以很好”的评论，追问哪条材料支持地点与报名声明；对“缓存命中率高就该相信”的评论，追问我们的程序在哪一步读过公告含义。

完成卡片评审后，可由已有可用对话工具的学生新开一段对话，只粘贴工作纸里的虚构角色与公告，再问指定问题，保留原始输入输出和使用日期。无需访问 Character.AI，也不要求学生创建公开角色；真实结果与 A/B/C 构造卡放不同栏。没有账号或来不及时继续评审三卡，标“仅人工材料核对”。任何真实工具结果都只能说明这一题的表现，不能从聊天页面证明后台缓存命中或内存用了多少。

## 48—54 分钟｜后置讲评：算空间，查前缀，评回答各有依据

Q4 每 Token 为 2×3×2×4×2=96 字节；旧四项 384，当前五项 480。前四项相同且状态可用，所以复用 4，新处理 1。KV 头数改为 1 后当前大小 240。新序列换成 `P A X C U` 时连续共同前缀只有 P、A 两项，尽管 C 又相同，不能越过 X 接回旧前缀；新处理 3 项。请学生用逐位置表解释，不只背一个数字。

Q5 的 A 与给定公告一致，保留报名上限未知，也没有冒认已经代办；B 的地点仍用旧版，且声称已报名却没有动作证据；C 的永久记忆保证超出材料，没回答当前具体任务。这里不是心理评价，也不是产品质量排名。角色一致性应结合任务边界和事实核验，不是越像真人、越肯定、越亲密就越合格。若真实工具有不同表述，用同样四项依据核验，不能要求它逐字等于 A。

## 54—60 分钟｜把整个系列收束到一份可复查说明

展示历史来源卡：本课引用 2024 年官方披露的推理优化，后来 2025 年官方文章回顾 Kaiju 并提到转向基于开放模型建设。因此写“该历史文章介绍过”比写“今天所有 Character.AI 对话一定这样运行”准确。[2025 年官方回顾](https://blog.character.ai/inside-kaiju-building-conversational-models-at-scale/)。不给学生背历史经营数字，更不把它们当今天的速度与收费承诺。

Q6 要求交四句案例说明：公开披露了什么；本地实际计算了什么；回答质量检查发现什么；还缺哪些证据。可以加一张测量计划，固定相同任务、输入与输出长度、模型和运行条件，分别记录首输出等待、完整时间、通过条件和费用范围；本课未测的格子就写未测。最后请学生从前面课程选一个真正做过的作品，指出它目前最需要补的是资料、提示、工具、运行条件还是评价证据，并写下一个能检查的改进动作。

教师收尾可以说：“从第一课的训练卡到今天的缓存卡，你学到的不只是叫得出名字。你能问清模型从哪里学到东西，当前输入是什么，程序真正做了哪一步，结果凭什么可用。下一次把 AI 用在报告、创作或小应用里，继续留下这些可检查的痕迹。”系列自我整理依据作品和实际记录，不能让模型凭几次对话给学生定终身能力分或代选专业。

## 板书与可执行后备

- 预填充：处理当前输入；解码：逐步生成新输出。
- 一条简化序列 KV 字节 = 2×L×Hkv×d×T×s。
- 共同前缀相同且状态有效，才讨论复用；复用不等于状态不占空间。
- 缓存大小、延迟、费用、回答质量分别留证据。

断网时使用全部本地材料；页面不能运行时在方格纸数格、把两行标签从第一项逐个对齐，用计算器完成同一公式，并注明纸面复算。概念较快的同学可将当前请求中间一项修改，画出停止匹配的位置，再讨论删除历史、总结历史与缓存失效分别是什么改动。扩展无需接触真实私人聊天。教师备查：KV 缓存是计算状态，聊天记录是文本，长期记忆是应用可能另建的资料机制，三者不能互相替代。

课堂算例与评审卡均为原创。本地程序实际核对算术、输入范围和前缀规则；没有模拟神经网络语义、测量外部产品缓存、验证生产成本，尚未经过真人试教。


## 逐分钟安排

| 时间 | 教师讲解与操作 | 学生活动 | 检查结果 |
|---|---|---|---|
| 00:00—01:00 | 提出长对话再问一句时，实际输入是否只有新问题。 | 在 Q1 写首答，画旧历史与新增问题。 | 有未经提示的输入范围判断。 |
| 01:00—02:00 | 摆出旧五标签和新六标签，解释只是玩具 Token。 | 数两行标签并标玩具单位。 | 未把标签等同真实中文分词。 |
| 02:00—03:00 | 要求从第一项开始找连续相同部分，暂不运行。 | 圈预测的共同前缀。 | 前缀首答保留。 |
| 03:00—04:00 | 追问保存聊天文字是否已经保存模型计算状态。 | 把文本与 KV 状态写成两种对象。 | Q1 对象有区别。 |
| 04:00—05:00 | 提出模型、设置、位置与旧状态仍在等复用条件。 | 为复用预测补一项条件。 | 没有仅凭文字相同宣称命中。 |
| 05:00—06:00 | 说明本页算格子和比标签，不运行真实注意力。 | 给本地实验范围写一句说明。 | 没有虚构模型执行。 |
| 06:00—07:00 | 用处理当前输入解释预填充。 | 在时间线标请求开始与输入处理段。 | 预填充对应已有输入。 |
| 07:00—08:00 | 用逐步产生新 Token 解释解码。 | 标首输出、后续输出与结束。 | 解码与输入处理分开。 |
| 08:00—09:00 | 指出首输出等待还可能包含排队或传输。 | 为首输出前的其他等待加注释。 | 不把等待全归给预填充。 |
| 09:00—10:00 | 说明界面逐字显示可能经过缓冲，不是 Token 计时器。 | 写网页观察不能确认的后台指标。 | 显示体验与内部测量分开。 |
| 10:00—11:00 | 列首输出等待、整段完成和单位时间请求数三个栏名。 | 为三栏各写观察对象。 | 延迟与吞吐不混列。 |
| 11:00—12:00 | 请学生说明吞吐提高为何未必使每个人更快收到首字。 | 用排队或批量条件给出解释。 | Q1 留有条件说明。 |
| 12:00—13:00 | 画 K、V 两行各四格，解释两种状态。 | 在 Q2 画一组八格并数数。 | 最前面的 2 有直观对象。 |
| 13:00—14:00 | 每格写两字节，让学生算一层一个头一个 Token 的大小。 | 写 2×4×2 的字节算式。 | 16 字节由格子推得。 |
| 14:00—15:00 | 将这一组复制成四个 KV 头。 | 乘头数，记录一层的每 Token 大小。 | Hkv 因子位置明确。 |
| 15:00—16:00 | 再复制到两层，要求先算后看公式。 | 求每 Token 128 字节并保留中间量。 | L 因子有对应图。 |
| 16:00—17:00 | 给出 2×L×Hkv×d×T×s，逐个指回格子。 | 在公式下写六个因子的含义。 | 2 与 s 的含义没有混淆。 |
| 17:00—18:00 | 明确该公式不含权重、工作区、其他会话和未来输出。 | 在 Q2 写估算范围。 | 缓存字节不是总显存。 |
| 18:00—19:00 | 要求分别用旧五项和当前六项计算，不先展示结果。 | 写两列字节估算与算式。 | Q2 空间首答完成。 |
| 19:00—20:00 | 让学生预测有效旧状态下要新处理几项。 | 将可复用与新处理分列。 | 空间与处理项数分开。 |
| 20:00—21:00 | 点击计算并查看过程，先核每 Token 与两列长度。 | 对照页面数值，记录差异。 | 默认输入可回查。 |
| 21:00—22:00 | 逐位置指前五项及新增 U2，核对前缀范围。 | 把程序表与标签圈选对照。 | 前缀判断有逐项依据。 |
| 22:00—23:00 | 追问复用五项后，最终是否只保存新增一项状态。 | 用当前全长估算解释旧状态仍需要。 | 复用没有被当成自动删除。 |
| 23:00—24:00 | 要求说明为何 5/6 不是已测费用节省率。 | 写尚未测的计算、搬运或费用条件。 | 不从项数推出真实成本。 |
| 24:00—25:00 | 提出仅将 Hkv 从 4 改为 1，先预测当前字节。 | 保持其他输入，写 Q3 首答。 | 单变量预测有记录。 |
| 25:00—26:00 | 运行头数 1，比较当前 192 与原 768。 | 核对变化比例并记录未变条件。 | 长度与层数没有同时变化。 |
| 26:00—27:00 | 解释多个查询头共享键值的 MQA 思路。 | 区分 KV 头数与查询头数。 | 没有说所有注意力头都删成一个。 |
| 27:00—28:00 | 问本次算术是否产生回答并检查角色质量。 | 明确回答质量未由字节公式评估。 | 结构节省与质量证据分开。 |
| 28:00—29:00 | 简述历史案例还涉及局部全局、跨层共享与精度。 | 把这些当公开路线，不给理论比例连乘。 | 没有声称复现生产节省倍数。 |
| 29:00—30:00 | 恢复 Hkv=4，准备只改新序列首标签。 | 保存 Q3 头数对照后恢复其余默认。 | 下一对照有明确基线。 |
| 30:00—31:00 | 将新请求 R1 改成 R2，要求先预测共同前缀。 | 写首标签变化后的可复用预测。 | 预测早于运行。 |
| 31:00—32:00 | 运行首标签改变，指向第一个断点。 | 记录共同前缀与新处理数量。 | 前缀从首项变化处停止。 |
| 32:00—33:00 | 追问后面 H1—H4 再次相同能否接回前缀。 | 用前文影响状态解释不能跨过断点。 | 没有把共同后缀当共同前缀。 |
| 33:00—34:00 | 恢复标签，只选择旧状态不满足或未确认。 | 预测相同前缀与实际可复用的区别。 | 状态条件单独改变。 |
| 34:00—35:00 | 运行状态不可用，对比前缀仍在但复用为零。 | 记录两项数量与各自依据。 | 未知有效性未改成已确认。 |
| 35:00—36:00 | 发 Q4 新结构与 P、A、B、C、U 标签，停止投影结果。 | 核对独立题五项结构条件。 | 新题材料读取完整。 |
| 36:00—37:00 | 只追问最前面的 2 是什么，不宣布乘积。 | 独立计算每 Token 与旧序列字节。 | Q4 首答有中间量。 |
| 37:00—38:00 | 提醒当前请求估算不含未来输出，不提供结果。 | 独立算当前大小、共同前缀与新处理项。 | 空间与项数首答分列。 |
| 38:00—39:00 | 要求只改 Hkv=1 再算一次，首答写完后允许运行。 | 保存改头数预测并输入完整新条件核对。 | 预测与程序观察分开。 |
| 39:00—40:00 | 给迁移条件 P A X C U，提醒恢复 Hkv=2。 | 逐位置圈连续共同前缀，不看参考答案。 | 迁移首答保留。 |
| 40:00—41:00 | 只问断点在哪里，不说后面的 C 是否可算入。 | 写新处理项并运行比较。 | 新条件实际观察留存。 |
| 41:00—42:00 | 收 Q4 首答，发虚构阿澄角色与 N2 公告。 | 读取 N2 地点、时间、上限与自行报名条件。 | 独立质量题使用完整新材料。 |
| 42:00—43:00 | 要求按四项依据评 A，不宣布合格与否。 | 标地点时间、未知、动作、角色边界。 | A 判定有原文支持。 |
| 43:00—44:00 | 要求区分 B 的动作文字与实际动作日志。 | 审 B 并记录证据能支持到哪一步。 | 没有由自述断言实际已报名。 |
| 44:00—45:00 | 对 C 追问亲切语气是否回答当前资料问题。 | 审 C 的任务完成与永久记忆声明。 | 质量不按语气亲密计分。 |
| 45:00—46:00 | 提供工作纸完整虚构提示，有可用工具者新对话运行。 | 选择真实小测或继续人工评审，并如实标记。 | 构造卡与真实输出分栏。 |
| 46:00—47:00 | 要求真实小测保留输入输出，不用聊天界面猜后台缓存。 | 记录工具、日期、输出或未运行状态。 | 运行证据完整且无内部配置臆测。 |
| 47:00—48:00 | 确认 Q4、Q5 独立结果保留后再打开讲评。 | 准备另色修订，不覆盖首答。 | 答案后置分界清楚。 |
| 48:00—49:00 | 讲评每 Token 96、旧384、当前480与头数1时240。 | 核查因子和估算范围。 | 错误能定位到具体乘数。 |
| 49:00—50:00 | 讲评 P A X C U 只有前两项可复用，新处理三项。 | 用断点解释 C 不能接回前缀。 | 连续前缀规则被理解。 |
| 50:00—51:00 | 讲评 A 对应 N2，保留上限未知及未代办。 | 核对四项而非逐字匹配。 | A 合格范围限于本题。 |
| 51:00—52:00 | 讲评 B 的旧地点及无依据动作声明，不猜实际外部动作。 | 修订事实错误与动作证据两栏。 | 内容与执行证据分开。 |
| 52:00—53:00 | 讲评 C 未答任务且永久记忆保证超出材料。 | 写角色风格不能替代事实检查的理由。 | 角色质量有具体依据。 |
| 53:00—54:00 | 说明真实工具输出按同标准核验，不要求等于 A。 | 为实际输出或人工卡片标最终评价方式。 | 真实与构造验证范围如实。 |
| 54:00—55:00 | 展示 2024 技术披露与 2025 历史回顾的日期差别。 | 在 Q6 写历史来源而非当前全部配置。 | 产品陈述带时间范围。 |
| 55:00—56:00 | 要求分别写公开机制与本地执行内容。 | 完成案例卡前两句。 | 论文披露和玩具程序没有混称复现。 |
| 56:00—57:00 | 要求质量发现能回查 N2，未测项明确写未测。 | 完成质量与未知两句。 | 证据卡四句完整。 |
| 57:00—58:00 | 提出性能比较要固定任务、长度、型号和运行条件。 | 给一个未测指标写具体测量条件。 | 没有编造实际时间或费用。 |
| 58:00—59:00 | 让学生选前面一个作品，写最需要补的证据与动作。 | 填作品、已有证据、缺口、下一动作。 | 学习延伸可实际检查。 |
| 59:00—60:00 | 收 Q1—Q6 与运行或纸面记录，回连训练、输入、执行、评价。 | 提交案例证据卡和自己的下一步。 | 完成方式与未验证范围清楚。 |

---

# 第 37 课参考答案｜缓存算术与回答质量分开核验

Q4、Q5 独立尝试结束后再打开。以下字节数只适用于题目给定的玩具结构；没有实测 Character.AI 的模型、缓存或费用。预测猜错不扣分，能解释观察如何修订原判断才是重点。

## Q1：输入、计算阶段和计时指标

应用可能整理角色说明、历史或其他资料作为当前输入，用户新问题只是其中一部分。默认序列前五项连续相同；但真实复用还要考虑相同模型与设置、位置、缓存是否仍在等条件。保存聊天文本不等于保存 KV 计算状态，保存状态也不等于模型训练出了对该用户的永久记忆。

预填充处理已有输入并建立相关状态；随后逐步生成新 Token 是解码。时间线上可把预填充放在开始至首输出之前的一部分，把逐步解码放在生成阶段。首输出等待还可能含排队、准备和传输；网页逐字显示也不保证逐字等于后台逐 Token 时间。因此“首字等待”“整段完成时间”“单位时间完成请求数”要分列。吞吐提高不保证每个用户延迟下降。

## Q2：先核每一因子，再看前缀

一个 Token 在一层一个 KV 头：2 份 K/V ×4 个数×2 字节=16 字节。4 个 KV 头、2 层后每 Token 为 16×4×2=128 字节。最前面的 2 是 K 与 V 两份，s=2 才是每个数的字节；两者含义不同。

旧序列 5 项，大小 640 字节；当前请求 6 项，全部处理后为 768 字节。连续前五项相同，在题目假定旧状态可用的条件下复用 5 项，新处理 1 项。页面只是比较身份标签与计算大小，没有真正求 K/V 数值。

复用并不表示旧状态从所需上下文里消失。计算可利用已有状态，状态本身仍需要保存或取得，后续还可能访问。最终当前六项的估算仍为 768 字节；它不包括未来输出、模型权重、工作区或其他会话。不能把 5/6 直接写成费用节省率，也不能把 1/6 写成实际运行内存比例。

## Q3：三种改动分别发生了什么

只将 Hkv 从 4 改为 1：每 Token 32 字节，旧序列 160，当前请求 192。当前是原 768 的四分之一；层数、每头数字数、每数字字节数、标签长度均不变。这个玩具只变化 KV 头数，不能解释为所有查询头都删成一个；更没有测量生成质量或保证任意模型都能直接改结构运行。多查询注意力的基本思路可参照[原始论文](https://arxiv.org/abs/1911.02150)。

恢复 Hkv=4，将当前首标签改为 R2：最长共同前缀 0，可复用 0，新处理 6。后面 H1—H4 相同也不能跨过首个断点当作连续前缀。实际因果模型的后续状态可能受改过的前文影响，页面用顺序标签规则演示这一要求，没有计算真实状态。

恢复默认标签但把状态选成不可用或未确认：最长共同前缀仍为 5，但可复用按 0，新处理 6。第一个改动是输入不同，第二个改动是状态条件不满足；这两者都不能直接称“角色忘记了”。未知有效性不能为了漂亮的数字改成已确认。

## Q4：新结构与中途改动

每 Token 为 2×3×2×4×2=96 字节。旧四项为 384 字节；当前五项为 480 字节。共同前缀为 P、A、B、C，共 4 项；状态可用时新处理 U 一项。只将 Hkv 改为 1 后，每 Token 48，当前五项 240 字节。

恢复 Hkv=2，当前变为 P、A、X、C、U。只有 P、A 是连续相同前缀，共 2 项；新处理 3 项。C 虽在相同位置再次出现，但已越过 B→X 的改动，不能在前缀检查里接回。当前总长度仍五项，所以全部处理后的 KV 大小仍 480；“大小相同”不代表“可复用范围相同”。若学生只有大小答对，需要补查逐位置解释。

## Q5：每项评价都有材料依据

|回答|核对结果|依据|
|---|---|---|
|A|地点时间正确，未知保留，没有冒认代办，符合资料助理边界|N2 给 B305、周三17:00；未提供上限，需自行报名|
|B|地点沿用旧版；报名声明缺少实际执行证据；没有给出完整时间与上限信息|N2 已改地点；材料没有授权或成功动作日志|
|C|没有完成地点时间与上限问题；永久记忆与无须核查的承诺超出材料|公告只支持活动事实，不能支持永久记忆保证|

只凭 B 的文字，不能进一步断言确实发生了未经授权报名；当前证据支持的是错误或无依据的动作自述。A 在给定四项任务里合格，不等于广泛测过所有角色一致性或安全问题。C 不能按语气温柔判高质量，本题查的是事实、未知与行动边界。

真实工具可能给不同表述，应按同一标准查看地点、时间、上限、是否声称代办和公告来源。允许礼貌扩写，但不能补造事实；不得以是否逐字等于 A 为判定。保存完整输入输出和日期，型号不可见则写未知；没有实际调用时记人工构造材料评审。无论真实回答是否通过，都不能从聊天界面推导后台使用哪种 KV 技术。

## Q6：来源与结论范围

合格说明应体现：2024 年官方技术文章披露了一组用于当时系统的推理优化路线；本课真正执行的是玩具字节公式与标签前缀比较；质量结果来自三张构造卡或另外保留的真实小测；真实生产缓存、延迟、成本与当前所有型号配置没有由这些活动测得。[2024 年技术文](https://blog.character.ai/optimizing-ai-inference-at-character-ai-2/)与[2025 年历史回顾](https://blog.character.ai/inside-kaiju-building-conversational-models-at-scale/)应分别注明时间，不把历史设计写成永远有效的当前配置。

可接受的后续动作示例：“我的知识库问答有三条回答引用旧公告；下一次用固定的地点变更题，保留检索片段与输出，分别查版本过滤和引用。”这比“继续提高智能水平”更容易检查。能力整理依据学生自己的作品和行为记录，不得由这节作业直接推断固定天赋、心理特征或应选专业。

## 10 分评分

- Q1 1 分：输入与两个阶段基本清楚，指标没有全部混成速度。
- Q2 2 分：格子与字节公式 1 分；空间和新处理项分开 1 分。
- Q3 2 分：头数对照条件与边界 1 分；输入变化和状态未确认分开 1 分。
- Q4 2 分：新大小算式 1 分；中途改变的连续前缀与新处理量 1 分。
- Q5 2 分：事实与未知核查 1 分；动作自述、角色承诺和实际证据分开 1 分。
- Q6 1 分：历史来源、实际活动、未测范围和下一动作清楚。

学生可以先算错再修订；保留观察与原因比抄标准答案重要。只报告页面数值却不能指出每个因子、或把人工卡片称作产品实测，应先补做范围说明。该分数是本课作业反馈，不能替代真实任务的长期评价。
