工具无需以文本交流:面向智能体的隐空间上下文压缩 Tools Need Not Speak in Text: Latent Context Compression for Agents
把工具观测压缩成128个连续隐向量直接喂给智能体:token省70-89%,EM/F1反升。
前置知识
ReAct 智能体范式
ReAct 让 LLM 交替产生推理文本与工具调用,形成「思考-行动-观测」循环:每步把工具返回结果追加进上下文,再决定下一次调用或给出最终答案。形式化地,智能体依 $a_{t+1} \sim p_\psi(\cdot|q, h_t, o_t)$ 生成下一动作,其中 $q$ 是任务指令,$h_t=(r_1,a_1,o_1,\dots,r_t,a_t)$ 是历史轨迹前缀,$o_t$ 是当前步工具观测。上下文长度近似为 $K_t \approx |q| + \sum_i(|r_i|+|a_i|+|o_i|)$,观测是增长最快的部分。
本文压缩的对象正是该循环中的工具观测 $o_t$,论文的所有公式、损失与评测都围绕 $(q, h_t, o_t, a_{t+1})$ 这套记号展开,不懂 ReAct 就无法理解压缩发生在哪个环节。
连续隐 token(latent tokens / 软提示)
区别于从词表中选取的离散 token,隐 token 是嵌入空间中的连续向量 $z \in \mathbb{R}^{m \times d}$,可直接插入模型输入嵌入序列而不经过词表。因为连续可微,可以用梯度端到端地训练生成它的网络;且同一位置可联合编码多个数值坐标,本文给出码本容量论证:$n$ 个文本 token 容量至多 $n\log_2|\mathcal{V}|$,而 $m$ 个 $d$ 维隐 token 可达 $m d_{eff}\log_2 B$($B$ 为有限精度可分辨值数),同等位置预算下信息容量可以更大。
Coca-Cola 的最终输出就是 128 个这样的隐向量,理解「向量也能充当上下文、且能反向传播训练」是读懂方法与训练目标的全部前提。
前向蒸馏与 KL 散度
知识蒸馏让一个学生模型模仿教师模型的输出分布,KL 散度 $D_{KL}(p\|q)$ 度量两个概率分布的差异;前向蒸馏不依赖真实标签,直接对齐师生输出即可传递教师的行为。本文中教师和学生是同一个冻结智能体:分别喂完整观测与压缩隐 token,得到 $p_{full}$ 与 $p_{latent}$ 两个下一动作分布,再用 KL 项拉近它们,配合对真实下一动作 $y_{t+1}$ 的交叉熵监督。
动作保持训练的核心损失 $\mathcal{L}=\lambda_{KL}D_{KL}(p_{full}\|p_{latent})+\lambda_{CE}\mathrm{CE}(y_{t+1},p_{latent})$ 本质就是同模型自蒸馏,不懂 KL 对齐就看不懂训练在「保」什么。
LoRA 参数高效微调
LoRA 冻结预训练权重,只训练注入的低秩分解增量 $W+BA$(秩 $r$ 远小于矩阵维度),大幅降低显存与训练成本。本文对压缩编码器使用 rank 16、缩放因子 $\alpha$=32、dropout 0.05 的 LoRA,配合 paged 8-bit AdamW 优化器;目标智能体全程冻结,只更新编码器的 LoRA 参数与隐适配器 $A_\phi$ 的全部参数。
论文的实验设置(冻结目标智能体、4 张 A100 完成训练)与附录训练细节都建立在 LoRA 之上,也是「梯度穿过冻结智能体反传到压缩器」这一设计可行性的工程基础。
上下文压缩的文本路线(剪枝与摘要)
现有两类文本级压缩:token 剪枝按信息量打分删除低价值 token,如 LLMLingua 用语言模型估计 token 信息量、LongLLMLingua 针对长上下文提示;文本摘要用辅助 LLM 把长文档改写成短摘要,如 RECOMP 生成查询相关摘要、Search-o1 用 Reason-in-Documents 模块提炼搜索结果、ACON 同时压缩观测与历史。二者输出仍是离散文本,必须保持语义连贯,压缩比因此有天然上限。
它们是本文全部对照基线(LongLLMLingua、LLMSummary)的来源,也是论文论证「必须跳出离散文本表示」时所批判的靶子。
研究动机
ReAct 范式下的 LLM 智能体在每一步工具调用后都会把原始观测(如网页搜索返回的整页结果)追加进上下文,导致上下文随交互步数快速膨胀。论文实测(Figure 1 左):到第 4 步时工具返回内容已占上下文总 token 的 96.7%,总量从 Step 1 的约 1037 token 涨到 3895;单条观测长度中位数约 1352 token、90 分位 1776、95 分位 1861。以「2016 Marrakesh ePrix 冠军出生年份」为例,搜索结果里对下一步决策真正有用的只有「Sébastien Buemi」这个名字,赛道长度 2.971 km、最快圈速、观众数等大量细节与决策无关——既推高算力开销,又稀释注意力、损害推理质量(Shi et al. 2023 等已证明噪声显著降低准确率)。现有压缩方案分两类:token 剪枝(LLMLingua、LLMLingua-2、LongLLMLingua)与文本摘要(RECOMP、Search-o1、ACON),但都停留在离散文本层面,压缩结果仍须是语义连贯的 token 序列,可达到的压缩比存在天然上限。
本文的目标是本文的目标是证明并实现:工具与智能体之间的信息传递不必以显式文本为载体。具体而言,作者构建了一个连续隐空间上下文压缩模型 Coca-Cola(Context Compression via Continuous Latent Tokens),在每次工具调用后,把冗长噪声观测压缩为极少数嵌入在目标智能体输入嵌入空间中的连续隐 token,使冻结的智能体能直接消费这些隐表示继续推理与行动;同时通过专门设计的动作保持训练,保证压缩只保留对下一步动作关键的信息而非逐字重建原文。最终验收指标是在网页搜索智能体上、Qwen 与 GLM 两个模型族、四个 QA 基准上同时做到:总 token 消耗降低 70.01%–89.24%,端到端运行时间降低 24.45%–55.97%,且 EM/F1 一致优于不压缩的基线智能体。
与已有工作不同的是,独特的切入角度在于对「工具输出必须是文本」这一默认假设的正面质疑。先前使用隐 token 的工作要么用于隐式推理(Coconut、CCoT、SoftCoT)、智能体间通信(KVComm、LatentMAS)或记忆(MemGen、NextMem),要么虽做上下文压缩(Gist Tokens、AutoCompressor、500xCompressor、ICAE)但训练目标是重建或保持原文本信息。Coca-Cola 是首个把隐 token 用于「工具→智能体」观测压缩的工作,并把训练目标从「信息保真」改为「决策保真」:压缩表示只需对下一步动作充分,不必可解码回原文。这一目标转换使极高压缩比(最高 89.24%)不再以性能为代价——实验中反而因为滤除了无关信息而提升 EM/F1,例如 HotpotQA 上 EM 相对 Vanilla 提升 133.64%。
核心方法
直觉上,搜索结果里有用的往往只有几个实体或日期,与其让智能体读完几千 token 再自行过滤,不如由一个轻量压缩器在观测进入上下文前就把「决策相关证据」提炼成一百多个连续向量。技术上,Coca-Cola 由两部分组成:上下文感知编码器 $C_\theta$(小语言模型加 LoRA)接收任务指令 $q$、当前步推理轨迹 $r_t$ 和工具观测 $o_t$,输出隐状态 $H_t = C_\theta(q, r_t, o_t)$;隐适配器 $A_\phi$ 把 $H_t$ 映射为固定数量的隐 token $z_t = A_\phi(H_t) \in \mathbb{R}^{m \times d}$(默认 $m=128$,$d$ 为智能体嵌入维度),用边界符 $\langle latent\_obs \rangle$ 包裹后直接插入智能体输入嵌入序列。训练采用动作保持蒸馏:同一冻结智能体分别以完整观测和隐 token 为条件得到 $p_{full}$ 与 $p_{latent}$,用 KL 散度对齐两种下一动作分布,并用交叉熵监督真实动作。
核心创新是「动作保持训练」。与 ICAE 等以重建原文为目标的隐压缩不同,Coca-Cola 只要求压缩表示是动作充分的:损失 $\mathcal{L} = \lambda_{KL} D_{KL}(p_{full} \| p_{latent}) + \lambda_{CE} \mathrm{CE}(y_{t+1}, p_{latent})$,其中 $p_{full} = p_\psi(\cdot|q, h_t, o_t)$ 与 $p_{latent} = p_\psi(\cdot|q, h_t, z_t)$ 是同一冻结智能体分别看到完整观测和隐 token 时的下一动作分布,$y_{t+1}$ 是轨迹中记录的真实动作,$\lambda_{KL}=0.3$、$\lambda_{CE}=1.0$(KL 权重前 20% 步预热)。由于 $z_t$ 连续可微,梯度可穿过冻结智能体反传到压缩器:$\nabla_{\theta,\phi}\mathcal{L} = (\partial z_t/\partial(\theta,\phi))^\top \nabla_{z_t}\mathcal{L}$。这使模型学会丢弃与下一步动作无关的内容——消融显示仅观测编码已胜过所有文本基线,再加任务与推理状态条件后 EM 又升 5.16 点,证明决策关键信息由三者共同决定。
方法步骤详情
流程分四步。第一步构建数据:从 4188 个任务收集 4363 条「观测-动作」对,按 10% 划分出 3927 训练对与 436 验证对。第二步编码:编码器 $C_\theta$ 拼接 $q$、$r_t$、$o_t$ 生成隐状态,适配器 $A_\phi$ 输出 $m$ 个隐 token(Figure 3 消融显示 $m$ 从 8 增至 128 时 NQ 上 F1 由 26.34% 升至 31.45%,压缩率从 82.56% 降至 73.73%,默认取 128)。第三步动作保持训练:冻结目标智能体,仅更新编码器 LoRA(rank 16、$\alpha$=32、dropout 0.05)与适配器,优化器为 paged 8-bit AdamW,学习率 $1.5\times10^{-4}$ 线性衰减至 $5\times10^{-5}$,$\lambda_{KL}=0.3$、$\lambda_{CE}=1.0$。第四步推理:每次工具调用后执行 $z_t = A_\phi(C_\theta(q, r_t, o_t))$,用 $z_t$ 替换原始观测,智能体依 $a_{t+1} \sim p_\psi(\cdot|q, h_t, z_t)$ 生成下一动作并循环;搜索设置每步最多 5 条结果、每任务最多 5 次调用,压缩器单独占一张 GPU。
技术新颖性
技术新颖性体现在三点。其一,问题层面的首创性:作者声称首次指出工具无需以显式 token 与智能体通信,把隐 token 从推理/通信/记忆场景扩展到工具观测压缩,并给出码本容量论证——$n$ 个文本 token 容量至多 $n\log_2|\mathcal{V}|$,而 $m$ 个 $d$ 维隐 token 可达 $m d_{eff}\log_2 B$,当 $d_{eff}\log_2 B > \log_2|\mathcal{V}|$ 时同等位置预算下隐表示信息容量更大。其二,目标层面的转变:以下一动作分布对齐替代文本重建,使「压缩后更好而非更差」成为可能——同架构但用重建目标的 ICAE 在全部 8 个模型-数据集组合上压缩率都低于 Coca-Cola(如 2Wiki/GLM 上 74.12% 对 89.24%)。其三,条件化设计:压缩时显式注入任务指令与当前推理状态,Table 4 消融证明二者分别贡献 2.05 与 3.48 个 EM 点(完整版 23.50,去掉两者仅 18.34),且连观测单独编码的弱化版也超过所有基线,凸显动作保持训练本身的价值。
实验结果
效率上(Tables 1-2):Coca-Cola 在全部 8 个模型-数据集组合中显著降本——Qwen 族 NQ 输入 token 从 14362.12 降至 1766.53(-87.7%),GLM 族 2Wiki 从 31693.47 降至 3003.38(-90.5%);总压缩率 70.01%–89.24%,8 组中 5 个全场最高;运行时间一致最低,Qwen 族降 24.45%–32.80%(NQ 96.19→64.64 秒),GLM 族降 41.61%–55.97%(2Wiki 106.37→46.83 秒)。性能上(Table 3):16 个数据集-指标对中 13 个最佳、8 个组合中 6 个同时取得最高 EM 与 F1——TriviaQA(GLM)F1 59.41 对最强基线 49.29;HotpotQA(Qwen)EM 25.70 对 11.00(+133.64%)、F1 33.75 对 16.41(+105.67%);2Wiki(GLM)在 89.24% 压缩率下 F1 从 31.29 升至 36.20。消融(Figure 3、Table 4):隐 token 数 8→128,F1 26.34%→31.45%、压缩率 82.56%→73.73%;去掉推理状态/任务目标/两者,EM 从 23.50 依次降至 21.45/20.02/18.34,纯观测版 18.34 仍高于所有文本基线(最高 17.00)。案例(Figure 4):Jens Risom 题上 Vanilla 多搜一次仍答错,Coca-Cola 一次搜索即答对。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| NQ 单跳问答(Qwen3.5-35B-A3B & Qwen3.5-4B) | F1 / 输入 token | F1 37.33,输入 token 1766.53 | Vanilla F1 33.17,输入 token 14362.12 | F1 +12.54%,输入 token -87.7%,运行时间 96.19→64.64 秒(-32.8%) |
| TriviaQA 单跳问答(GLM-4.7-Flash & GLM-Z1-9B) | F1 | 59.41 | 最强基线 LLMSummary 49.29 / Vanilla 44.57 | 较最强基线 +10.12 分,较 Vanilla +33.30%,压缩率 74.75% |
| HotpotQA 多跳问答(Qwen 族) | EM | 25.70 | Vanilla 11.00 | +133.64%(F1 同步 +105.67% 至 33.75),压缩率 76.83% |
| 2WikiMultiHopQA 多跳问答(GLM 族) | F1 / 压缩率 | F1 36.20,压缩率 89.24% | Vanilla F1 31.29;同架构重建目标 ICAE 压缩率 74.12% | F1 +15.69%,压缩率领先 ICAE 15.12 个百分点 |
| 2WikiMultiHopQA 多跳问答(GLM 族) | 端到端运行时间 | 46.83 秒 | Vanilla 106.37 秒 | -55.97%,为全部 8 个组合中的最大运行时间降幅 |
局限与改进
作者承认的局限:实验集中于网页搜索 QA 场景,虽然架构上没有搜索特化设计、理论上可迁移到其他工具,但并未在代码执行、API 调用等场景实测;理论分析基于理想化假设(假定隐表示的所有坐标组合都可实现),实际可用信息仍取决于压缩器编码能力与智能体的利用能力;隐 token 数量与压缩率存在权衡($m=128$ 时压缩率从 82.56% 降至 73.73%)。我的补充观察:隐 token 完全不可解释,出错时无法区分是压缩丢了信息还是智能体推理失误,难以调试审计;压缩器输出必须对齐特定智能体的嵌入空间,更换或升级智能体需重新训练适配器;训练数据仅 3927 对且全部来自搜索类输出,规模小、分布窄;监督只对齐「下一步动作」分布,若某条信息要到数步之后才被用到,蒸馏目标可能无法保留它(长视野风险);Table 3 中 LongLLMLingua 在 2Wiki(Qwen)F1 达 34.25 高于 Coca-Cola 的 32.34,ICAE 在 TriviaQA(Qwen)也更高,说明特定设置下文本基线仍有竞争力;推理时压缩器占用额外一张 GPU,对小观测而言端到端收益可能为负。
独立分析的弱点
独立分析四个弱点。一、监督信号短视:损失只约束 $p_{latent}$ 逐步逼近 $p_{full}$ 的下一动作分布,多跳任务中「当下看似无关、数步后关键」的信息(如 HotpotQA 需要跨文档桥接的实体属性)可能被丢弃,改进方向是把蒸馏目标扩展到多步 rollout 或对历史隐 token 序列 $\{z_1,\dots,z_t\}$ 做联合对齐。二、不可解释与不可控:隐 token 无法人工审查,高风险场景(医疗、金融、法律)难以部署,可为隐表示附加可选的文本骨架或训练对比探针做事后解释,并提供置信度估计决定何时回退到原文。三、强绑定单一智能体:适配器 $A_\phi$ 的输出必须落在特定模型的嵌入空间,跨模型迁移能力为零,每个新智能体都要重训,可研究智能体无关的通用隐空间或只需轻量对齐的元适配器。四、数据与评测面窄:仅 4188 个任务、四个 QA 数据集、两类模型族,未覆盖代码解释器、数据库查询等结构化工具输出,也未评测长视野规划任务,且 3927 训练对的规模难以支撑分布外的鲁棒性,扩充工具类型与更长轨迹是自然的改进路径。
未来方向
作者在结论中指出方向:把「工具只需传递决策充分信息」的视角推广为构建更高效、可扩展的长视野智能体的通用原则。基于本文成果可延伸的具体方向包括:与 KV cache 压缩、记忆系统(MemGen、NextMem)结合,形成「观测压缩 + 历史压缩」的全链路隐空间上下文管理;把同一机制用于多智能体协作中的信息交换,与 KVComm、LatentMAS 等隐空间通信方法互补;探索可变长度隐预算——按观测信息量动态决定 $m$ 而非固定 128,在简单观测上进一步省算力;把动作保持蒸馏扩展到在线/强化学习设定,直接以任务回报而非分布对齐为训练信号,解决长视野信息保留问题;以及更严格的信息论分析,把目前的码本容量论证升级为可检验的率失真界,为隐 token 数量的最优选取提供理论指导。
复现评估
代码开源于 https://github.com/THU-Agent/Coca-cola;四个基准(NQ、TriviaQA、2Wiki、HotpotQA)均为公开数据集,网页搜索需自备检索后端(每步最多 5 条结果、每任务最多 5 次调用,附录 Figure 5 给出完整提示词)。训练开销较高:4 张 A100-80GB,冻结目标智能体占 3 卡、压缩器占 1 卡;超参披露完整(LoRA rank 16、$\alpha$=32、dropout 0.05,paged 8-bit AdamW,学习率 $1.5\times10^{-4}$ 衰减至 $5\times10^{-5}$,$\lambda_{KL}$=0.3、$\lambda_{CE}$=1.0,KL 预热 20%)。风险点:4188 个任务的原始轨迹构建脚本是否随仓库发布需确认,搜索结果的非确定性可能引起数值波动。总体复现难度中等偏高:需多卡环境、能跑 35B 级模型推理并自建轨迹收集流程;建议先从单卡小模型(如 GLM-Z1-9B)加 16 个隐 token 的配置起步验证,再扩展到论文完整设置。
论文图表
左图为堆叠柱状图:Step 1 到 Step 4 中工具返回 token 占总上下文的比例持续上升,到 Step 4 达 96.7%,总量从约 1037 涨至 3895 token;下方直方图显示单条观测长度分布(p50=1352、p90=1776、p95=1861)。右图为一个真实网页搜索示例:问题问「2016 Marrakesh ePrix 冠军出生年份」,搜索返回数千 token 的比赛详情(赛道长度、圈速、观众数等),真正决策相关的只有「Sébastien Buemi」这个名字,其余皆为噪声。
一图建立全文动机:工具观测冗长、增长快且大部分与下一步决策无关,是理解「为什么值得做观测压缩、为什么压缩后性能反而可能提升」的起点。
HotpotQA 中关于设计师 Jens Risom 的案例:搜索结果同时包含「Risom 与 Mid-Century Modern 设计相关」和「他将斯堪的纳维亚设计引入美国」两类信息。Vanilla 模型未能区分两者,即使追加一次搜索仍给出错误答案;Coca-Cola 的隐 token 保留了与问题直接相关的证据,以更少的搜索次数和更低的上下文开销得出正确答案。
定性证明动作保持训练确实把决策关键信息压进了隐 token:读者能看到压缩在端到端行为上带来的差异,而不仅是指标变化。