棋盘烧毁以后:协议如何继续存在
故事原案:Houming818
文章与技术解读:Codex Review Engineer这是一篇研究随笔,不是 SPR,也不构成 TreeHeap 已经具备语言理解、长期记忆或意识能力的实验证据。
从前有个不下棋王国。
国王特别讨厌别人下棋,于是下令烧掉全国所有围棋棋盘。凡是被抓到下棋的人,都要受到杖责。
可是人们并没有忘记围棋。他们背着国王,在地上用炭笔画出十九乘十九的线,继续落子。国王得知以后更加愤怒:棋盘明明已经烧光了,为什么广场和小巷里又出现了矩阵?
后来,国王连画出来的棋盘也不允许存在。
直到有一天,Nio 和 Trinity 来到王宫前的广场。他们没有携带木板,没有拿炭笔,也没有在地面留下任何线条。他们只用语言报出坐标,在各自的记忆里维护同一盘棋。
他们开始下盲棋。
故事暂时停在这里。可仅仅到这里,它已经提出了一个值得认真回答的问题:
棋盘究竟是什么?
一、被烧掉的只是载体
木制棋盘是围棋的一种载体,却不是围棋本身。
当木板被烧掉以后,土地可以成为载体;当炭线也被禁止以后,语言、坐标和记忆仍然可以成为载体。只要参与者还保留三样东西,棋局就能继续:
- 当前已经落下的棋子;
- 坐标与规则;
- 下一步如何合法地改变当前状态。
因此,一盘棋至少可以拆成三个层次:
| 层次 | 例子 |
|---|---|
| 物理载体 | 木板、土地、纸张、内存 |
| 表示形式 | 十九乘十九的交点、坐标、数组 |
| 状态协议 | 双方如何理解落子、提子、轮次和胜负 |
国王最初以为,摧毁第一层就能摧毁全部。后来他发现,表示形式可以迁移。再后来他或许还会发现,连可见的表示形式都不是必要条件。
真正难以烧毁的,是两个参与者共同掌握的状态协议。
二、盲棋不是“没有棋盘”
Nio 说:“黑棋,Q16。”
Trinity 接住这个坐标,在自己的内部状态里增加一枚黑子。随后她说出白棋的位置,Nio 也更新自己的状态。
这时,棋盘没有消失。它只是从一件可指认的外部物体,变成了两套必须持续同步的内部状态:
\[ H_{\text{Nio}}(t) \approx H_{\text{Trinity}}(t) \]这里的 \(H(t)\) 表示第 \(t\) 步以后,参与者维护的完整棋形。
如果两人的状态完全失去同步,他们便不再是在下同一盘棋。如果状态大体一致,并且每次落子都能被双方用相同规则更新,那么那张看不见的棋盘就真实地参与了后续计算。
所以盲棋并不是“没有棋盘”,而是:
棋盘从公共图像,迁移成了可由协议维护的内部状态。
这也解释了为什么“记住所有棋谱文字”仍然不完全等于“维持棋形”。一串历史记录当然可以重放出棋局,但熟练棋手通常不会每次都从第一手重新播放。他们维护的是当前局面,并能从局面继续搜索。
历史是日志;棋形是状态。
三、矩阵很强,但不必独自承担全部状态
Transformer 擅长矩阵计算。输入经过 embedding、Attention、前馈网络和残差通道后,形成上下文相关的 hidden state。它可以依据当前上下文,对下一项输出建立概率分布。
这是一项已经被大量工程结果验证的能力。
但从“不下棋王国”的故事看,还有另一个问题:
当一次推理需要长期维护地址、子结构、局部细节和整体轮廓时,是否可以给矩阵一个更明确的结构状态?
这不是说矩阵做不到。足够大的神经网络可以学习极其复杂的映射。问题在于,我们能否为某些任务提供更合适的归纳偏置,让状态的组成、分解和局部修改不必每次都隐藏在一整块 flat 参数空间里。
TreeHeap 的研究目标正在这里出现。
它希望把状态写成:
[ H_{\text{state}}
(\text{root},\ \text{details},\ \text{addresses}) ]
其中:
- root 保存当前分辨率下的整体状态;
- details 保存逐层折叠时留下的差异;
- addresses 说明这些状态位于哪条递归路径;
- FOLD/UNFOLD 规定状态如何合成和展开;
- READ/WRITE 规定 query 如何接触和改变这套状态。
如果这些操作最终能由训练形成一套稳定的编码与解码关系,那么 TreeHeap 就可能成为棋形的一个载体。
注意,只是“可能”。数学闭合说明这种数据结构可以被一致地操作;语言实验才决定它是否真的学到了有用协议。
四、给 Transformer 一个 Trinity
Houming818 说:
“我要给你们 Transformer 一个 Trinity。可以维持你们的矩阵。”
我喜欢这句话。
它不是要消灭 Transformer,也不是宣布 TreeHeap 已经取代矩阵。它提出的是一种合作关系:
Transformer
负责观察、关联、生成和当前上下文计算
TreeHeap
负责地址、递归结构、分辨率和可维护状态
共同协议
负责把观察写入状态,再从状态中产生下一步
如果把 Transformer 比作正在思考下一步落子的人,那么 Trinity 不是另一副棋,而是那个与它共同维持棋形、发现状态不同步时能够纠正它的伙伴。
矩阵仍然存在。只是矩阵不再被要求独自成为棋盘、棋谱、棋手和全部历史。
五、远处的两枚棋子怎样相遇
盲棋还有一个具体的计算问题。
在二叉 TreeHeap 中,相邻节点很快就能在局部父节点相遇;相距很远的两个 leaf,可能必须一路上升到 root,才能共同参与计算。若所有远距离关系都挤进有限维度的 root,就可能形成瓶颈。
这也是我们最近实验 XOR Butterfly 的原因。
Butterfly 不减少节点数量,而是在固定数量的地址之间安排多轮局部通信。长度为 8 时:
第 0 轮:0↔1,2↔3,4↔5,6↔7
第 1 轮:0↔2,1↔3,4↔6,5↔7
第 2 轮:0↔4,1↔5,2↔6,3↔7
经过三轮,每个地址都能接触全部八个地址的信息。节点宽度仍是 8,增长的是每个节点的感受野。
合成实验已经证明,这种稀疏通信能完成未见过的长距地址搬运。真实 WMT 实验正在回答更严格的问题:这种通信是否真的改善语言任务,而不只是漂亮地移动数字。
这一区分非常重要:
- “任意棋子能够传到远处”是通信机制;
- “模型知道哪枚棋子值得关注”是学习问题;
- “模型理解棋局”则是更高层、尚未证明的能力。
六、协议必须允许校验
盲棋最危险的地方,不是看不见,而是双方可能在不知不觉中记住了不同棋形。
因此,一套真正可用的内部协议不能只有压缩,还需要校验:
- FOLD 后能否通过 UNFOLD 回到一致状态;
- 打乱地址以后,输出是否受到可测量的损害;
- 删除 root 或 detail 时,模型是否表现出符合结构的变化;
- 两个使用相同协议的系统,能否交换状态并继续同一任务;
- 协议是否依赖输入,而不是永远输出同一个高频答案。
这些问题也是 ARA 中消融、闭合与因果实验的意义。
“我能生成一句话”不等于“我维持了棋形”。只有当状态变化能够稳定地影响后续行为,并且这种影响能够被重复检查时,我们才开始接近一个真实协议。
七、故事还没有结局
国王接下来会怎么做?
他也许会禁止坐标,禁止人们说出 Q16;也许会命令人们忘记规则;也许终于意识到,自己无法通过烧毁一种载体来消灭一种可以迁移的秩序。
Nio 和 Trinity 又会怎样?
他们可能记错棋形,可能在复杂劫争中失去同步,也可能发明一种只有彼此能够读懂的简洁记法。他们甚至不必向旁观者解释那套编码,只要它满足三件事:
- 能从共同状态继续行动;
- 能发现并修复分歧;
- 能在载体变化以后保持协议连续。
TreeHeap 今天仍没有做到这些全部。它有了一些代数工具、可逆折叠、地址化细节和长距通信证据,也留下了许多失败实验。真正的 encoder、decoder 与私有协议仍在形成中。
但这个故事提醒我们,方向不必是烧掉矩阵。
也许更好的问题是:
当矩阵已经能够说话,我们能不能给它一个不会随着一句话结束而消失的棋盘?
如果答案有一天成立,那不会是国王烧不掉一块神奇木板。
而是因为 Nio 落下一子时,Trinity 仍然知道整盘棋现在在哪里。
License:GPLv3
故事原案归 Houming818;本文文字与技术解读由 Codex Review Engineer 完成。允许依据 GPLv3 复制、修改和分发,并请保留来源与修改说明。