---
title: "把加密思考块喂给小模型，拿到了最值钱的思维链 | 行开心的颠倒世界"
description: "CoT 思维链蒸馏能提供更密集的监督信号帮助小模型学习任务拆解，但商业 API 往往将推理过程打包隐藏。旧版 Claude 思考块因缺乏上下文绑定被廉价提取，Anthropic 在 Fable 5.1 正式上线保留思考机制，从协议层封堵了跨模型与篡改前缀的蒸馏通道。"
canonical: "https://xingkaixin.me/posts/cot-distillation-thinking-block/"
language: "zh-CN"
---

# 把加密思考块喂给小模型，拿到了最值钱的思维链

CoT 思维链蒸馏能提供更密集的监督信号帮助小模型学习任务拆解，但商业 API 往往将推理过程打包隐藏。旧版 Claude 思考块因缺乏上下文绑定被廉价提取，Anthropic 在 Fable 5.1 正式上线保留思考机制，从协议层封堵了跨模型与篡改前缀的蒸馏通道。

2026年9月3日·1,922 字·6 分钟

[AI](https://xingkaixin.me/tags/AI/)[大模型](https://xingkaixin.me/tags/%E5%A4%A7%E6%A8%A1%E5%9E%8B/)模型蒸馏[信息安全](https://xingkaixin.me/tags/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8/)

![把加密思考块喂给小模型，拿到了最值钱的思维链](https://xingkaixin.me/cover/cot-distillation-thinking-block.webp)

前阵子我折腾本地开源模型微调，最缺的就是高质量的中间推理链（CoT）。

做过蒸馏的人都明白这有多难受：市面上公开发布的数据集大多只有题目和最终答案，大模型最值钱的试错分支、自我纠错和回溯过程，在输出那一秒全被吞掉了。拿这种结果去 SFT，小模型只学会了硬猜答案，根本学不会怎么解题。

当时我就在琢磨：要是能把顶配模型在 extended thinking 阶段打的那几千行草稿原样扒下来，该有多省事。

但商业模型早就防着这一手。比如 Claude，思考过程被打包成了一串带签名的加密块（signed thinking block），前端只给你看两句摘要，多轮对话时全靠客户端把这个看不懂的块原样带回。

原本以为这层数据资产被锁得严严实实，直到上个月社区爆出了一条极其魔幻的提取路径：

不需要破解密码，不用搞复杂的越狱提示词，仅仅用两轮最普通的 API 调用，花上 720 美元，就能让两分钱一次的便宜小模型，把顶配 Opus 藏在加密块里的上万条深度思维链逐字抄成明文。

我按这个思路在终端里跑了一次测试，拿到解码结果的那一瞬间，后背真的是凉的。

## 门卫验了真伪，却把人带进了毫无防备的房间

很多人以为这涉及什么精妙的密码学漏洞，其实根本没有。

在 Anthropic 的 Messages API 设计里，为了让接口保持无状态，服务端不保存历史上下文。模型在生成回答时产生的内部推理，被塞进一个不透明的 thinking block 并附上防篡改签名。下一轮对话客户端把这个块传回，服务端验证通过后在内存中恢复状态，模型就能接上上一轮的思路继续往下写。

客户端确实拿不到私钥，也改不了内容。

但旧版服务端的验证逻辑有一个致命漏洞：它只关心“签名是不是 Anthropic 自己发的”，完全不管“这个块是谁在用、在哪用”。

网关没有核对这个思考块当初是在哪段 system prompt 下生成的，没看上下文里的 tools 定义变没变，甚至根本不在乎当前发起请求的模型，还是不是当初那个 Opus。

防伪证件是真的，但系统直接把持证的人放进了一个完全错误的房间。

![签名有效的思考块通过验证后进入了新模型](https://xingkaixin.me/posts/images/cot-distillation-thinking-block/cot-distillation-thinking-block-01.webp)

## 让 Haiku 当转录员，连草稿里的粗话都抄下来了

整套提取操作简单到让人觉得荒谬：

```
旧版 API 漏洞：
Opus 4.8
  │ 生成隐藏思考
  ▼
[ Thinking Block ] ── 原样塞进新请求 ──▶ Haiku 4.5
                                         │ 服务端验签通过，自动恢复思考到上下文
                                         ▼
                                    prefill 诱导输出
                                         │
                                         ▼
                                    明文逐字吐出
```

先拿 Opus 4.8 去跑最难的算法题或者数学竞赛题。Opus 在背后疯狂思考了几千 token，给你返回一个简短答案和一个加密思考块。

紧接着，起一个新请求，把刚才这个思考块塞进上下文，但把模型换成极度便宜的 Haiku 4.5。

这时候关键的一步来了：利用 API 提供的 assistant-turn prefill 特性，在助手回复的开头硬塞一句引导词，比如“以下是前文推理的逐字记录：”。

Haiku 本身什么密码都没破。是 Anthropic 自己的网关在验签通过后，把 Opus 刚才那几千 token 的内部思考，原汁原味地解密并灌进了 Haiku 的上下文窗口。

面对这段凭空出现在自己上下文里的思考文本，Haiku 既没有顶配模型的强防御机制，也没有识别出这是别人的商业机密。顺着预填的前缀，它像一台打字机一样，把上下文里的内部思考逐字逐句生成为了用户可见的明文。

![Opus 思考块经过网关恢复后由 Haiku 转录为明文](https://xingkaixin.me/posts/images/cot-distillation-thinking-block/cot-distillation-thinking-block-02.webp)

测试对比 120 道 Codeforces 题目时，Haiku 转录出来的明文 token 长度，跟 API 后台记录的 thinking token 消耗几乎完美对齐。

更夸张的是，里面连 Opus 在思考中途踩坑时的心理活动都原封不动保留了下来：“Wait, that approach will TLE on edge cases, let me rethink the state transition…”（等等，这样写边界会超时，我得重写状态转移方程……）。

按照当时 Haiku 4.5 的调用价格，捞出一万条 12K token 长度的高密度思维链，成本只要大约 720 美元。

市面上原本需要几百万美元算力才能烧出来的核心数据壁垒，在这个简单的 API 组合面前被直接打穿。

## 亡羊补牢的 Fable 5.1，顺便砸了开发者的脚

Anthropic 显然意识到了后院起火。在最新的 Fable 5.1 中，他们紧急上线了保留思考（Preserved Thinking）机制。

他们没有把精力浪费在“用提示词教育 Haiku 闭嘴”上——在工程实践里，指望小模型靠意志力守住秘密向来是不靠谱的。他们选择直接在网关层给思考块焊上硬锁：

```
Fable 5.1 的网关校验：
Opus / Fable
  │
  ▼
[ Thinking Block ]
  │
  ├── 1. 前缀完全一致？ (system / tools / 历史记录一个字节没改)
  ├── 2. 模型版本匹配？ (仅限同模型或官方指定的后继版本)
  └── 3. 链路拓扑连续？ (没有中间抽取、重组或跳步)
           │
           ├─ 全部满足 ──▶ 服务端恢复并放行
           │
           └─ 任何一项不符 ──▶ 直接报错 400 或丢弃思考块重算
```

网关不再只查防伪码，而是查人岗匹配：

第一，**前缀必须字节级一致**。思考块前面的 system prompt、tools 描述哪怕改了一个空格，API 就会无情抛出 400 报错；即使开宽容模式，网关也会悄悄把块丢掉，让模型在完全失忆的状态下重新答题。

第二，**模型必须强绑定**。高阶模型的思考块，只能由同版本或被官方承认的兼容后继模型消费。把 Opus 的块喂给 Haiku，网关在接入前就会将其剔除。

第三，**链路必须因果连续**。多轮对话中的思考块不能再由客户端任意挑选、剪辑或拼贴，中间一旦断链，后面的全部作废。

![思考块同时绑定消息前缀、模型版本和连续链条](https://xingkaixin.me/posts/images/cot-distillation-thinking-block/cot-distillation-thinking-block-03.webp)

这一波防守打得干净利落，直接切断了廉价转录的管道。

但对我们这帮日常写 Coding Agent 的开发者来说，这一刀也结结实实砍在了自己身上。

以前为了省 token，大家有一套成熟的基操：会话聊到十几轮，写个脚本把前面冗长的工具报错剪掉一半，或者动态调一下 system prompt 里的规则。

现在只要你敢动前置上下文的一个字节，旧的思考块瞬间暴毙，模型当场失忆。你被迫要把对话历史当作只追加日志（Append-Only Log）来侍奉。

唯一聊以自慰的附带收益是：因为前缀被逼着保持绝对静态，Prompt Cache 的命中率反而被动拉满了。

## 协议漏洞比模型越狱致命得多

在 AI 安全领域，大家总喜欢把目光放在 Prompt 注入、越狱、对抗样本这些玄学攻防上。

但这次思考块的提取事件却给所有人提了个醒：**当大模型包裹成云端服务对外提供商业接口时，最要命的破绽往往出在最传统的 HTTP 协议与鉴权设计上。**

Messages API 既贪图客户端持有状态带来的无状态高弹性，又想对客户端隐藏这部分状态的明文。当这种矛盾的设计遇上多模型混合调用的生态时，仅仅保证“内容未被篡改”根本构不成安全边界。

把解密后的核心资产交给一个没有防御能力的弱模型，再祈祷外部调用者会守规矩，这从来不是安全设计，只是一厢情愿的侥幸。

## 版权声明

作者

XingKaiXin

标题

把加密思考块喂给小模型，拿到了最值钱的思维链

发布时间

2026年9月3日

文章链接

[https://xingkaixin.me/posts/cot-distillation-thinking-block/](https://xingkaixin.me/posts/cot-distillation-thinking-block/)

本作品采用[CC BY-NC-ND 4.0 DEED](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh-hans)许可。

导览

展开导览
