SUPO:字节跳动的端到端 RL 上下文压缩——让模型自己学会"该记什么"
> 来源: arXiv:2510.06727
> 作者: Miao Lu 等(ByteDance Seed / Stanford / CMU)
> 发布时间: 2025-10-08
> 研究时间: 2026-03-30
🎯 一句话版本
SUPO 是字节跳动做的 RL 训练方法——让 LLM agent 在多轮工具调用中自己学会写摘要压缩历史,实现"用 1/8 的上下文窗口,打败全量上下文的基线"。核心突破:摘要不是预设规则,而是和工具调用一起通过 RL 端到端优化的。
🧨 问题:RL 训练撞上上下文墙
LLM agent 做多轮 tool call 时,每一轮的 action + observation 累积到上下文里。RL 训练比推理更严重——需要多次 rollout 采样,每次都要跑完整个长轨迹。
后果:
- 上下文超出窗口 → rollout 被截断 → 训练信号丢失
- 长 rollout 的 GPU 内存和计算成本极高
- 增大 context window 不是免费的——attention 是 O(n²)
现有方案都是 inference-time fix(如 ACON 的提示词优化)。SUPO 的思路不同:在 RL 训练阶段就解决这个问题。
🔧 SUPO 的解法:摘要即 Policy
核心机制
Agent 执行工具调用...
↓
上下文接近阈值 L(95% of window)?
├── 否 → 继续正常执行
└── 是 → 触发摘要
↓
同一个 LLM 生成摘要
↓
上下文重置为:初始 prompt + 摘要
↓
继续执行(最多 S 次摘要)
关键:摘要的 token 和工具调用的 token 在同一个 policy gradient 下优化。模型不只学"怎么用工具",还学"怎么写摘要才能让后续工具调用更成功"。
数学基础(Theorem 3.2)
一个 rollout 被 S 次摘要分割成 S+1 个子轨迹。论文证明 policy gradient 可以分解为这些子轨迹的梯度之和——现有 RL 基础设施(GRPO/PPO)可以直接复用,不需要改框架。
有效上下文远超窗口
| 配置 | Working Context | 摘要次数 S | 有效上下文 |
|---|---|---|---|
| GRPO baseline | 32K | 0 | 32K |
| **SUPO** | **4K** | **7** | **32K** |
用 4K 的工作窗口,通过 7 次摘要,达到 32K 的有效上下文。
📊 实验结果
CodeGym(交互式函数调用,Qwen2.5-32B-Instruct)
| 方法 | Working Context | Accuracy | 工具调用次数 |
|---|---|---|---|
| GRPO | 32K | 44.5% | 52.1 |
| **SUPO** | **4K** | **47.7%** | 54.7 |
用 1/8 的工作窗口,accuracy 还高了 3.2%。
BrowseComp-Plus(搜索任务,Seed-OSS-36B-Instruct)
| 方法 | Working Context | Effective | Accuracy | 工具调用 |
|---|---|---|---|---|
| GRPO | 64K | 64K | 39.0% | 6.7 |
| **SUPO** | **64K** | **192K** | **53.0%** | 19.2 |
accuracy +14%,工具调用次数 3 倍——模型学会了"多搜、多总结、再搜"的策略。
Test-time Scaling ⭐
BrowseComp-Plus 上,训练时 S=2(最多 2 次摘要),推理时增加到 S=4:
| 推理摘要次数 | Accuracy |
|---|---|
| S=2(训练时相同) | 53.0% |
| S=3 | 55.0% |
| S=4 | 57.0% |
模型学会了泛化的摘要能力——推理时给更多摘要机会,性能继续提升。这说明 SUPO 不是在死记硬背特定的摘要模式。
🆚 SUPO vs ACON:两种路线
刚好和上一篇 ACON 形成对比:
| 维度 | ACON(微软) | SUPO(字节) |
|---|---|---|
| 阶段 | **推理时** | **训练时** |
| 优化目标 | 压缩提示词(guideline) | 模型权重(policy) |
| 是否改模型 | ❌ 不改 | ✅ RL fine-tune |
| 摘要方式 | 外部压缩器 | 模型自己写 |
| 端到端 | ❌ 分步 | ✅ 端到端 |
| 适用场景 | 已有模型 + 不想/不能训练 | 可以训练 + 追求最优性能 |
| 可蒸馏 | ✅ 到小模型 | 模型本身就是训练产物 |
互补关系:ACON 适合"拿来就用",SUPO 适合"有算力要做到最好"。
💡 与我们的关联
1. OpenClaw 的 compaction 可以借鉴两条路线
- ACON 路线(我们更容易采用):优化压缩 prompt,不改模型
- SUPO 路线(如果我们训自己的模型):在 RL 阶段就教模型写好摘要
2. Qwopus 蒸馏模型可以受益
如果我们在 ub2 上训练/微调 Qwen3.5:27b(Qwopus),SUPO 的方法可以让模型自己学会上下文管理——而不是依赖外部压缩器。
3. "Test-time scaling of summarization" 很有启发
模型训练时学 2 次摘要,推理时给 4 次就更好——这说明摘要能力是可泛化的 skill,不是死记的 pattern。我们的 cron 任务如果跑很长,可以用类似思路:允许 agent 中途"自己总结一下再继续"。
4. 和 witcheer 的本地压缩对比
witcheer 用 Qwen3.5:4b 做压缩(compression_threshold: 0.50)是手动设定规则。SUPO 的思路是让模型自己学什么时候压、压什么——更优雅,但需要训练。
📊 评分
| 维度 | 评分(/10) |
|---|---|
| 技术深度 | 9.5 — 完整的数学推导 + RL 框架 + 端到端优化 |
| 创新性 | 9.0 — "摘要即 policy"的端到端思路新颖 |
| 实用性 | 7.5 — 需要 RL 训练基础设施,门槛较高 |
| 实验质量 | 8.5 — 两个 benchmark、ablation 完整、test-time scaling 验证 |
| 与我们的相关度 | 7.0 — 方向一致,但我们暂时没有 RL 训练条件 |
| **综合** | **8.5** |
报告由深度研究助手自动生成 | 2026-03-30
来源: arXiv:2510.06727