模型之间传事实,不用对齐向量,传个词表下标就够了

上周翻到一篇论文,标题就让我停了一下——"Share the Symbol, Not the Vector"。做过多智能体系统的人大概都纠结过这个问题:两个不同架构的模型要交换信息,走文本吧,带宽低还丢精度;走隐状态吧,两边的表示空间根本对不上,得训一个翻译器。这篇论文给出了第三条路,而且简单到有点让人怀疑人生:发件方只发共享词表里的下标,收件方用自己的向量去查表。两边模型全程冻结,不训翻译器,不要求 tokenizer 一致,甚至连结构兼容性的假设都不要。

我的第一反应是:这凭什么能 work?词在两个模型里的表示明明不一样。但看完实验我不得不承认,人家把这件事做成了,而且做得相当干净。

核心摘要

多智能体协作时,异构模型之间传事实目前只有两条路:文本(信息损失大)或隐状态(需要学一个跨模型翻译器,如 Cache-to-Cache;或假设结构兼容,如 LatentMAS)。这篇论文提出 SYNC(Symbol-Indexed Neural Communication):共享一张 221 个词的符号表,发送方只看私有描述、选出符号下标发给接收方,接收方用自己的"词方向"——每个词一个、只用前向传播拟合一次的向量——把事实写进自己的隐状态。固定一套写入配置(相对深度 0.2、强度 γ=1),原封不动地用到 3 个新发送方和 9 个新接收方上,25 个跨模型组合在 572 个新场景上拿到 72.0–98.3% 的四答全对率,比中层写入高出最多 96 个百分点;两个最大的接收方直接追平纯文本传输。这不是底层表示理论的突破,但作为一个零训练的接口设计,它的工程完成度和实验严谨度都相当罕见,值得细读。

论文信息

  • 标题:Share the Symbol, Not the Vector: Training-Free Fact Communication Across Language Models
  • 作者:Xin Li, Mengbing Liu, Hao Jiang, Xin Gao, Annan Wang, Xingwei Qu, Yichi Zhang, Chau Yuen(arXiv 页面未列出机构署名)
  • 发表:2026 年 10 月 14 日,arXiv:2610.19696 [cs.CL]
  • 链接:https://arxiv.org/abs/2610.19696

问题动机:异构模型之间,事实到底怎么传?

先把这个痛点说清楚。假设你搭了一个多智能体流水线:一个 Qwen 负责读私有文档,一个 Mistral 负责答题。Qwen 读到了"糖果 A 是红色的、甜的",它要把这个事实交给 Mistral。

走文本是最自然的——把这句话发给 Mistral 就完了。但文本有个问题:它是"说出口"的信息,接收方要重新解析、重新内化,带宽低,而且有些信息(比如置信度、细粒度的权重)用文本表达很别扭。

那直接传隐状态行不行?KV cache、activation 这些内部状态信息量大多了。问题在于,隐状态是模型私有的方言。Qwen 第 20 层第 512 维的含义,Mistral 完全不知道。现有的解法要么学一个翻译模块——Cache-to-Cache 训练投影和融合层,XKV 学接收方感知的 cache 翻译;要么干脆假设两个模型结构上兼容——LatentMAS 在同构或共享底座的模型间做 training-free 的状态共享。坦白讲,这两条路的隐含成本都不低:前者要配对数据要训练,后者把适用范围砍掉了大半。

这篇论文的切入点很刁钻:词是共享的,哪怕它们的内部表示不共享。red 这个词在所有英语模型里都是 red,但每个模型内部"red 的向量"长得不一样。既然如此,何必对齐向量?只传"red 在共享词表里的下标",让接收方自己去查"我心里的 red 长什么样"就行了。

这个思路让人想起 Platonic Representation Hypothesis(Huh et al., 2024)那波"模型表示正在收敛"的讨论,以及 J-space(Gurnee et al., 2026)发现的"词关联的内部表示能支撑多种推理查询"。但作者很清醒,在 Related Work 里直接泼了冷水:表示收敛、或者单个模型能被 steering,都不能直接推出一个模型能把事实发给另一个模型。SYNC 的价值在于把这个直觉做成了一个可验证的接口。

方法核心:共享的是下标,向量各自自备

图1:SYNC 总览

图1:三步流程。01 只有发送方看到私有事实(糖果 A:红/甜;糖果 B:绿/酸),且看不到问题;02 发送方按对象分组发出符号下标,比如 A: id(red), id(sweet);03 每个接收方用自己的局部词方向(注意两个接收方的 red/sweet/green/sour 方向朝向完全不同)把词写进隐状态,然后各自答题。

图 1 里有个细节值得盯一眼:两个接收方的词方向图里,同一个词的方向朝向完全不同——这正是"表示不共享"的可视化。SYNC 的赌注是:方向不需要一致,只要每个方向在它自己的空间里"指向那个词"就够了。

接收方字典:12 个通用上下文拟合一个词方向

接收方要为词表里的每个符号 w 准备一个"方向",做法是典型的 activation contrast(和 ActAdd、CAA 一脉相承):准备 12 对通用上下文,每对只差一个位置——一个填 w,一个填中性填充词 unknown——取该位置最后一层 token 的残差流隐状态做差,平均:

\[d_{\ell,w}^{(R)}=\frac{1}{12}\sum_{t=1}^{12}\left[h_{\ell}^{(R)}(t,w)-h_{\ell}^{(R)}(t,\text{unknown})\right]\]

这里 ℓ 是层号,t 索引 12 个上下文。注意几个关键约束:这 12 个上下文是公开的消息排版,里面没有任何私有场景、问题或答案,也不含其他模型的激活;每层的字典算一次就永久复用;多 token 的符号就按 token 数放多个 unknown,保持输入长度不变。全程只有前向传播,一个参数都不训。

写入:把方向加在预留的 unknown 槽位上

接收方的 prompt 里,每个对象预留 4 个 unknown 槽位(形如 A:[□][□][□][□])。先跑一遍这个"中性前缀",把每层每个位置的隐状态存下来——注意存的是接收方自己的状态,不是零向量。然后再跑一遍,在收到消息的槽位上做替换:

\[h^{\prime}_{\ell,p}=h^{0}_{\ell,p}+\gamma\frac{q_{w}}{q_{\max}}d_{\ell,w}^{(R)}\]

\(q_w\) 是消息里这个符号携带的 8-bit 权重,\(q_{\max}\) 是该对象的最大权重,γ 是写入强度。写完的前缀存进 KV cache,每个问题各自复制一份 cache 来答——同一条消息,两个问题读的是同一份写入结果。消息格式还支持权重编码,不过自动消息里发送方把所有权重都打成 255,权重实验(§4.5)是单独设计的。

图2:字典构建与事实写入

图2:(a)一次性构建接收方字典:12 对匹配上下文过一遍冻结的接收方,词状态减中性状态再平均,得到每个符号的方向;(b)发送方选词产出下标包,接收方查表后把方向写入对象专属的事实槽位,未用的槽位保持中性,写好的前缀 cache 逐问题复用。

整个设计里最反直觉的一点是:发送方从头到尾不知道问题是什么。它只看描述、选词、发下标。这倒逼系统必须做"选择性使用"——接收方拿到一堆事实后,得自己挑出和问题相关的那部分。这正是实验设计要测的东西。

实验设计:两个世界,四个答案,一处交换

怎么验证接收方真的"读懂"了写入的事实,而不是随便蒙的?作者设计了一个相当狠的测试。

图3:双世界四答任务

图3:每个场景包含两个世界。World 0 里糖果 A 是红/甜、B 是绿/酸;World 1 只交换颜色、保持味道不变(A 变绿/甜,B 变红/酸)。接收方要在两个世界里各答两问——"哪颗糖是红色的"(答案变了)和"哪颗糖是甜的"(答案不变),四题全对才算成功。

这个设计妙在哪?没有消息时,四答成功率构造上就是零——两个世界对接收方来说输入一模一样,它不可能同时给出"红色是 A"和"红色是 B"两个不同答案。所以任何非零成功率都必须来自消息。而且"交换一个属性、保持另一个"强迫接收方做选择性绑定:光知道"场景里有 red 这个词"没用,得知道 red 绑在哪个对象上。

对象-属性组合有三族:糖果(颜色/味道)、积木(漆面/材质)、外套(面料/扣子材质)。开发集 92 个场景用来选配置(完整事实消息,排除发送方失误),确认集 572 个全新场景用自动消息(发送方真实选词)。配置选定后冻结,再应用到 3 个新发送方(Gemma-4-26B-A4B、Qwen3.6-27B、gpt-oss-20b)和 9 个从未参与任何选择的新接收方(Qwen3.5 系列的 2B/4B/9B/27B、Qwen3.6-27B、Granite-4.1-8B、OLMo-3-7B、gpt-oss-20B、Mistral-Small-3.2-24B,共五个家族)。

控制组也给得很足:纯文本路由(符号和权重当普通 token 读)、完整事实消息、接收方自身状态的 native-state 参照、以及我最喜欢的符号-方向重指派——把每个符号指向另一个符号的方向,保持消息、位置、编辑范数全都不变。如果接收方只是在"对任何扰动起反应"而不是真的读符号,重指派不应该毁掉成功率。

实验结果

主实验:25 个跨模型组合全部打通

固定配置(深度 0.2、γ=1、12 上下文方向)原封不动搬到新模型上,572 个确认场景的四答成功率:

接收方 规模 Gemma-4 发送(内部/文本) Qwen3.6 发送(内部/文本) gpt-oss 发送(内部/文本) 中层写入(Gemma-4)
Qwen3.5-2B 2B 81.2 / 86.7 79.3 / 83.8 77.5 / 81.5 4.7
Qwen3.5-4B 4B 96.0 / 96.7 93.4 / 94.3 89.9 / 88.0 3.1
Qwen3.5-9B 9B 93.4 / 94.7 93.6 / 96.2 86.6 / 88.5 4.9
Qwen3.5-27B 27B 98.3 / 98.6 96.4 / 96.7 88.8 / 89.1 77.8
Qwen3.6-27B 27B 97.7 / 98.2 96.0 / 96.0 90.6 / 89.5 82.5
Granite-4.1 8B 92.0 / 94.2 90.6 / 94.4 83.1 / 86.0 14.8
OLMo-3 7B 76.0 / 87.8 72.0 / 86.1 77.1 / 84.6 6.3
gpt-oss 20B 85.3 / 97.7 83.8 / 95.8 77.5 / 90.9 4.5
Mistral-Small-3.2 24B 96.9 / 96.7 94.1 / 96.0 89.0 / 88.8 0.7

表1:572 个确认场景的四答成功率(%)。内部写入用开发阶段固定的浅层配置,不重调。

几个数值得单独拎出来。第一,25 个跨模型发送-接收组合全部落在 72.0–98.3%,没有任何一对崩掉。第二,重指派控制在所有格子里最多只剩 4.4%——接收方确实在读符号本身,不是对扰动过敏。第三,两个 27B 的接收方内部传输直接追平文本(差距在 ±3 个点以内),小模型上文本略占优(最多 14.1 个点,比如 OLMo-3 的 72.0 vs 86.1)。第四,也是最戏剧性的:中层写入(深度 0.4–0.6)在 7 个 27B 以下的接收方上几乎全军覆没——Mistral 上甚至只有 0.7%——浅层写入比它高出 65.0–96.2 个百分点。

这里有个挺重要的教训:如果你在一个错误的写入位置做实验,你会严重低估一个接收方的能力。Mistral 中层 0.7%、浅层 96.9%,同一个模型,天壤之别。

写在哪里,决定接收方能用什么

为什么浅层行、中层不行?作者在四个开发接收方上扫了深度(0.2/0.35/0.5/0.65/0.8)× 强度(γ∈{0.25, 0.5, 1, 2, 4})的完整网格。

图5:深度与强度联合扫描

图5:四个开发接收方的深度×强度热力图(完整事实消息)。阴影斜线表示有效回答覆盖率低于 90%,橙框是最终选定的配置。可以看到深度 0.2 那一列对所有接收方都成立,而 0.65、0.8 两列无论强度怎么调都是零。

深度 0.2 时拟合方向在两个 Qwen 和 Gemma 上拿到 100% 开发成功率,GLM 88.5%;深度 0.2 加倍强度仍保持 82% 以上;但没有任何强度能救回 0.65 和 0.8。只有 Qwen3-32B 在 0.5 也能工作——可用深度是因模型而异的。

晚期写入为什么失败?一个预先注册的诊断实验给出了答案:在 0.2 写入后,把某个截断深度之前所有层的 KV 恢复成中性状态。截断在 0.5,GLM 和 Gemma 从 88.5%/100% 掉到至多 2.1%;截断在 0.65,四个接收方全部至多 6.2%。这说明后面的 token 需要低层就有携带事实的 key 和 value,你在高层才写入,低层的 KV 还是中性的,注意力根本检索不到事实。还有个更微妙的发现:GLM 直接在 0.35 写入只有 8.3%,但在 0.2 写入再截断到 0.35 却有 72.9%——层与层之间的处理过程本身也在参与事实的"消化"。

顺带一提,一次性拟合的方向和接收方"每场景现算"的 native state 几乎打平(Qwen 系和 Gemma 都超过 99%,GLM 76.5% vs 75.6%,差 0.9 个点且区间跨过零)。更简单的方法也行:在输入层直接加词嵌入差(在这个设置下等价于把符号当文本读)在三个接收方上追平拟合方向,GLM 上还反超。作者很诚实地把这条写进了附录——这某种程度上削弱了"拟合方向"的必要性,但也强化了"浅层写入"这个核心结论。

无任务探针:提前预测每个接收方的可用深度

这是我个人觉得全论文最值钱的部分。既然可用深度因模型而异,能不能不跑任务就预测出来?

作者设计了一个 binding probe:构造一个合成的双对象 prompt,把两个词表符号分别写进两个对象的第一个槽位,然后问"哪个对象带了哪个符号";在 110 对固定符号上算两题全对的比例。在 20 个开发单元格上定出阈值 0.786,然后在跑任何新接收方的深度扫描之前就把预测结果锁定提交。

结果:9 个新接收方 × 5 个深度 = 45 个预测全部命中,探针值与实际成功率的秩相关 0.89(区间 0.81–0.96)。对比之下,只用深度数值的规则在同样的开发单元格上拟合后,会标错 7 个格子。探针能区分开纯深度分不开的情况:深度 0.35 在两个 27B 和 Granite 上可用、其余六个不行;Qwen3.6-27B 在 0.5 还能用而 Qwen3.5-27B 不行——这些全被提前预测对了。

更见作者严谨性的是:他们换过一次探针。第一版探针让接收方复述写入的符号,结果在 GLM 上所有深度都接近满分——包括 GLM 实际失败的深度。"读到符号"不等于"能用符号",这个坑他们踩过、承认了、修掉了,还把过程写在附录里。说实话,这种负面结果的坦诚在现在的论文里不多见。

泛化:新排版、新任务、分级权重

固定配置能不能走出开发任务?三组实验:

新排版(144 个场景,完整事实):把事实挪到对象的后两个槽位并倒序、换掉整个模板头部和分隔符、加一个不被提问的第三对象。六个接收方在所有新排版下保持 89.6–100%,18 个非劣检验过了 14 个(4 个不显著但不确认失败),最大损失是 Mistral 换模板的 8.3 个点。

Countries 任务(地标场景,改编自 Ramesh & Li 2025):词表换成 275 个地标和国家名,地标全是 2–9 个 token 的多词符号,还需要接收方调动世界知识("Meteora 在希腊")。发送方私下读到"QUVO 在 Meteora",接收方要答"哪个对象在希腊"。结果 23.9–64.0%,虽然明显低于文本的 87.1–97.2%,但对比 0% 的无消息基线和至多 5.0% 的重指派控制,通道本身是通的。多 token 符号上内部传输的短板暴露得很清楚。

分级权重(我最意外的发现):消息里每个符号带 8-bit 权重,内部路由按权重比例缩放写入强度,文本路由则直接印出"red [128/255]"。两个世界里符号完全相同、只是强弱不同。结果 Qwen3-32B 和 Qwen3.5-27B 上,写入强度比印刷数字好用得多——平均领先 36.1 和 33.8 个点。跟五种其他文本格式比(包括"probably"这类置信词),内部传输在 Qwen3-32B 上领先全部五种 15.5–31.9 个点;在 Qwen3.5-27B 上赢了四种,只输给置信词 8.8 个点。

等等,这个结果其实挺深的。它暗示连续量用模拟通道传比用符号通道传更自然——让模型读"128/255"再做数值比较,不如直接把强度写进表示里。当然作者也保持了克制:权重接近时(L=191)两边都很难(内部 4.9%、文本 18.1%),而且文本路由毕竟也包含了权重信息,这比较的是编码方式而非信息量。

我的判断

这篇论文的定位要说清楚:它不是说内部传输比文本好。作者自己在 Discussion 里写得很明白——等权重事实下内部传输没有稳定优势,小模型上文本最多好 14.1 个点,内部路由还慢 1.19–1.28 倍,Countries 任务上文本领先 31.7–63.2 个点。真正的贡献是证明了一件事:共享符号、各自向量这个抽象层是成立的,它能在零训练、零翻译器、零共享 tokenizer 的前提下,把事实传输通道建起来,而且通道行为可预测、可复现。

亮点我给三个。探针预测可用深度这个设计,把"表示工程"从玄学往工程拉了一步——换模型不用重新扫网格,跑个探针就知道往哪写。实验的严谨度罕见:预先注册、冻结配置再测新模型、重指派控制、两次 bootstrap 聚类区间加 Holm 校正、失败的探针版本也如实报告。还有分级权重的发现,给"什么时候内部通道真的优于文本"指了一个具体方向。

问题也有。任务本身相当玩具化——两个对象、两个属性、221 个封闭词表,开放词表、关系型事实完全没测;发送方从自己隐状态读符号的版本表现很差,说明发送侧还离不开 prompt 选词这个"文本级"操作。两个 MoE 接收方没过实现检查被排除,MoE 架构下这套东西行不行是悬空的。而且说到底,当文本路由在多数场景下打平甚至更好时,这套接口的实际价值边界在哪里,论文只回答了"权重分级"这一个点。

对工程实践的启发:如果你在做多模型协作系统,这个工作最大的 takeaway 可能不是 SYNC 本身,而是它的诊断方法论——写入位置极其敏感、可以用无任务探针提前预测、层间处理过程参与事实消化。哪怕你最终选择文本通信,"重指派控制"这个验证手段(换掉内容、保持扰动量不变)也值得抄走,它能区分"模型真在读内容"和"模型只是在反应扰动",太多 activation 干预的工作没做这一步。

至于"符号而非向量"这条路能走多远,我的判断是:它会成为异构智能体通信的一个有用的兜底抽象层——当文本太慢、翻译器太贵时的中间档。但要替代文本成为主力接口,还得先解决多 token 符号和开放词表这两座大山。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我