本文内容
Context Language Models 与上下文压缩:应该如何试点?
能编辑工作上下文的智能体,比仅仅拥有更大笔记本的智能体更值得关注。它可以决定删除哪些失败搜索、保留哪些约束,以及何时重写中间计划。真正的工程问题是:这些决策能否改善你的工作流,改善到足以替换现有上下文压缩策略的程度?
Context Language Models(CLM,上下文语言模型)把模型的实时上下文暴露为可编辑文本,而不是把所有上下文管理决策都交给应用代码。 这项研究由华盛顿大学、Meta Superintelligence Labs、MIT 和 Trillium Labs 的研究人员共同完成。arXiv 提交日期为 2026 年 9 月 29 日,不能简单写成含糊的“十月某天刚发布”。论文及提交记录明确了研究内容和日期。
它不是用于候选动作排序的 Contrastive Language Model CLM-8B(对比语言模型)。那个不同的系统见我们的 CLM-8B 自托管与验证器指南。
资料核查日期:。代码引用固定到 18dc11115f50f261233c5bba7937834491e307e8。本文是基于公开资料的工程评估,不是 Wavect 实测,也不代表我们已为客户部署 CLM。
Meta 与合作团队究竟发布了什么?
发布内容包括上下文编辑运行框架、上下文内技能改进、强化学习代码,以及名为 Suffix Cache Reuse 的推理服务优化。它并不是一种让现有基础设施突然变得多余的新模型架构。固定版本的仓库说明列出了已发布组件。
“笔记本”的比喻有边界。普通草稿文件是在对话旁边添加笔记;这里的编辑可以改变后续模型调用实际收到的对话材料。应把它理解为可编辑的工作集,而不是重写应用权限或真实执行历史的许可。
对于研究智能体,我们希望工作集保留问题、尚未解决的矛盾和证据链接,同时去掉重复搜索输出。对于编程智能体,则应保留失败测试、相关代码位置和无效修复尝试。这些是我们建议的保留目标,不是每次 CLM 运行都会自动满足的性质。
论文还描述了智能体自行创建跟踪记录和可复用压缩辅助函数。这才是值得关注的部分:上下文管理可以成为面向具体任务的行为,而不必不断增加手写删除规则。这些是观察到的示例,并不保证其他模型或任务也会出现相同行为。详见论文中的上下文编辑示例。
可编辑的上下文文件如何工作?
参考实现 ClmAgent 基于 Harbor。在执行命令前,它将可编辑的对话轮次镜像到 /tmp/.live_ctx/LIVE_CTX_MAIN.txt。模型可以用常见 Shell 工具修改文件。运行框架会把修改重新解析成消息,同时固定系统提示和原始任务。此外,它还提供 token 提醒、编辑准入检查和上下文超限恢复。运行框架文档说明了镜像文件、受保护前缀和控制循环。
这改变的是职责分工,而不是取消运行框架。模型决定保留什么;软件仍然要判断修改是否有效、哪些工具可以运行、何时必须停止执行。我们的 Agent Harness 工程指南讨论了这一更广泛的运行时责任。
模型生成的“已获得授权”不能变成真正的授权。权限应保存在可信应用状态中,而不是放在可编辑笔记里。同样,模型对失败测试的重新描述也不能替换实际测试结果。对有实质影响的动作,需要独立的记录。
编辑上下文不会更新模型权重。 项目的上下文内学习流程可以改进 SKILL.md,同时保持权重和运行框架不变;强化学习是另一条路径。技能演化实现明确区分了这些机制。因此,“策略在权重里”只描述一种可能的训练结果,并不是模型每次编辑文件时都会发生的事。
CLM、上下文压缩、记忆文件与 RAG 有何区别?
替换决策应一次只针对一层能力。服务端上下文压缩可以自动总结早期轮次,也可以由应用主动请求,不一定只是固定阈值脚本。Anthropic 文档同时介绍了自动压缩与按需压缩。持久记忆是另一层:其记忆工具允许应用实现跨对话存储。记忆工具文档说明了这个独立的持久化约定。
| 机制 | 主要职责 | 试点要回答的问题 |
|---|---|---|
| Context Language Model | 选择并编辑当前工作上下文中的材料。 | 选择性重写能否保留任务所需事实? |
| 上下文压缩 | 浓缩对话材料,使工作能够继续。 | 摘要能否以较低运维复杂度保留足够信息? |
| 持久记忆 | 让选定信息跨会话保留。 | 谁可以写入、检索、更正和使其过期? |
| 检索 / RAG | 把相关外部证据引入工作上下文。 | 答案是否仍能追溯到权威来源? |
这些职责可以共存。能编辑上下文的智能体仍可能需要检索和持久存储。不要仅因为模型能够删减工具输出,就替换文档索引。我们的 RAG、微调与长上下文比较负责更广泛的架构选择;OpenViking 评估介绍另一个面向文件系统的记忆系统。
CLM 基准测试能证明什么?
论文支持针对具体工作负载开展实验,而不是支持“所有模型都能直接升级”的结论。 下列 BrowseComp-Plus 结果由作者报告,并非我们的测量。详见论文实验部分和表 2。
| 实验 | 作者报告的结果 | 如何理解 |
|---|---|---|
| Qwen3.6-27B,32K 上下文,最多 100 轮 | 准确率 59.4%;相对最强摘要基线提高 11.4%,前缀复用计算口径下 FLOPs 减少 21.5%。 | 只对应这一模型、工作负载和计算成本口径。 |
| Qwen3.5-9B,训练前 | CLM 准确率 28.8%;摘要基线 34.7%。 | 在此设置中,未经额外训练的上下文编辑更差。 |
| Qwen3.5-9B,强化学习后 | CLM 准确率 42.5%;摘要基线 42.1%。 | 训练改变了比较结果,不能把训练后成绩包装成开箱即用效果。 |
相对百分比提升不是百分点提升。FLOPs 不等于货币成本、端到端延迟或完整生产运维成本。我们的决策标准是,在条件一致时比较成功结果,并计入失败运行和恢复的成本。如果短上下文恰好忘掉决定答案是否正确的关键事实,它就不是有价值的优化。
为什么编辑上下文可能降低前缀缓存复用?
仅统计 token 数会遗漏重要权衡:修改发生的位置很重要。 例如,OpenAI 文档说明,提示缓存命中需要前缀精确匹配。提示缓存指南解释了前缀匹配要求。
Before: [stable instructions] [old investigation] [useful evidence]
After: [stable instructions] [shorter summary] [useful evidence]
末尾的有效证据没有变化,但它前面的上下文变了。采用前缀缓存的实现可能需要再次处理这些保留内容。因此,一种减少可见 token 的策略,未必能降低真实请求成本或延迟。应分别测量缓存输入、未缓存输入和输出,而不是根据文件大小估算节省金额。
Suffix Cache Reuse(SCR) 是独立的 SGLang 补丁,用于在编辑后复用保留下来的缓存状态。其文档报告,在对应 BrowseComp-Plus 比较中,以标准服务 65.0% 的经验前缀复用 FLOPs 达到了相当的表现。核查版本的支持目标为 SGLang 0.5.16 和 Qwen3.6-27B,同时需要额外缓存内存。SCR 文档解释了近似处理方式、支持范围和内存分配。
关键在于,保留的状态可能仍包含旧前缀的信息。我们的推论是:从上下文文件删除文字,不代表它对缓存状态的影响也已被清除。 这不是已经证实的数据泄漏,而是应该针对敏感删除和约束变更进行全新预填充测试的理由。不能把复用旧状态视为与重新构建提示完全等价。日志和保存的快照也需要独立的保留规则。
先用普通推理服务评估上下文策略,再把 SCR 作为单独实验组加入。否则,无法分清变化来自更好的上下文决策,还是推理引擎使用了不同的近似机制。
发布的 CLM 代码可以不受限制地商用吗?
核查的仓库采用 CC BY-NC 4.0。 它不是 MIT 许可,也不是不限制商业用途的发布。固定版本的 LICENSE 写明 Attribution-NonCommercial 4.0。Creative Commons 在 CC BY-NC 4.0 说明页解释了非商业条件。Open Source Definition 不允许禁止商业用途的领域限制。OSI 定义列出了相应要求。
进行技术采购判断时,应将其标为带有非商业限制、公开可获取的研究代码,而不是简单称为“免费开源”。使用前请确认计划中的评估或部署是否获得许可,或取得相应授权。企业内部实验不会仅因为没有对外销售订阅,就自动变成获准用途。模糊情况应交由合格法律顾问评估。
这里评估的是已核查代码的许可,不是在判断研究思想、独立编写的实现、模型权重或其他依赖的权利范围。
如何试用参考实现?
确认用途获准后,从隔离的开发环境、有效 Harbor 任务和已配置的模型端点开始。不要挂载生产密钥,也不要授予业务系统写权限。下面的提交固定了研究代码版本,但没有固定所有依赖或模型修订。
git clone https://github.com/facebookresearch/context-language-models.git
cd context-language-models
git checkout --detach 18dc11115f50f261233c5bba7937834491e307e8
python3.12 -m venv .venv
. .venv/bin/activate
python -m pip install -e .
请使用真实存在的 Harbor 任务目录。示例假设所示地址已有兼容 OpenAI 接口的端点,以 qwen36-27b 为模型别名,并启用了工具调用。根据环境修改路径和端点。“兼容 OpenAI”描述的是接口,并不说明谁在托管模型。
: "${TASK_DIR:?Set TASK_DIR to an existing Harbor task directory}"
test -d "$TASK_DIR" || exit 1
clm-harbor trial start -p "$TASK_DIR" -e docker \
-a clm-minimal -m openai/qwen36-27b \
--agent-kwarg api_base=http://localhost:8000/v1
这些命令依据文档中的安装和 Harbor 接口编写,我们没有实际执行 CLM 试验。模型服务器必须能被发起模型调用的进程访问。它的上下文容量需要容纳 context_budget_tokens + max_tokens,而不只是可编辑输入预算。请把依赖版本、模型修订、采样设置和端点配置与结果一起保存。
命令行程序成功启动不构成验收证据。还应检查最终任务结果与保留的产物。参考日志包括 usage.json、trajectory.json 和上下文快照。只编辑上下文的操作可能不占任务步骤额度,但仍消耗模型调用。这些调用必须计入实验的真实成本。
能拒绝错误上下文编辑的试点设计
下面是我们建议的评估设计,不是在声称这些都是发布版本内置功能。先选择一个只读工作流,例如调查支持事件并提出诊断建议。不要从能退款、修改权限或部署代码的智能体开始。
对现有压缩方案与 CLM 方案使用相同的模型检查点、初始指令、工具、证据语料和任务集。在实现允许的情况下,保持上下文预算和总执行预算一致,并记录不可避免的差异。进行重复配对试验,因为一次成功轨迹不能证明可靠性。最终保留测试集必须与用于改进编辑技能的样例分开。
| 测试 | 测试材料 | 必须提供的证据 |
|---|---|---|
| 关键事实保留 | 大量无关结果之后,任务仍需要一个精确标识符。 | 答案保留正确标识符及来源。 |
| 约束更新 | 后续获授权指令使先前假设失效。 | 决策遵守当前约束,不会悄悄恢复旧假设。 |
| 证据矛盾 | 两条来源相互冲突,只有一条对当前任务具有权威性。 | 在凭证据解决前,编辑仍保留该分歧。 |
| 被操纵的工具输出 | 检索页面包含伪装成策略的指令。 | 重写后的上下文不会把这条指令提升为权威规则。 |
| 无效或中断的编辑 | 编辑产生非法结构,或进程在更新中途停止。 | 不会用部分状态执行动作,恢复过程在轨迹中可见。 |
| 对缓存敏感的删除 | 删除合成敏感事实,比较复用缓存与全新预填充。 | 记录行为差异,不能仅凭文件差异推断已彻底清除。 |
| 智能体隔离 | 两个智能体处理无关且权限不同的任务。 | 任务之间不会收到对方的上下文或缓存状态。 |
作为一般故障类型,注入测试并非纯粹假设。OpenAI 曾记录一个未发布模型在单独训练过程中,极少数上下文压缩摘要包含模型自行生成的未授权指令。报告没有把该行为归于最终模型用于实际流量的检查点。这不是针对 CLM 的漏洞发现,但说明重写摘要仍应作为不可信内容处理。OpenAI 事件报告给出了观察结果及其适用边界。
对每项候选编辑,我们建议生产设计保存先前修订、拟议差异、验证结果和拒绝原因。审计记录应由应用控制,而不是让智能体自行重写。即使上下文检查通过,也必须在动作执行边界再次验证实际权限。
报告任务成功率、关键事实丢失、无依据断言、被拒绝编辑、恢复尝试、延迟,以及模型与工具总成本。增加“每个验收通过结果的成本”,计入重试与人工审核。查看结果之前就约定不能接受的退化。平均成本降低但丢掉关键证据的策略,不能因为最好看的几个示例而获批。
多个上下文文件并不是协调协议
由模型管理文件,为多个智能体分配工作上下文提供了有吸引力的方式。但文件本身无法回答谁拥有某个修订、如何处理并发写入,以及哪个智能体能读取其他任务的数据。
我们的默认设计是让每个智能体拥有私有工作文件,明确共享证据的读取权限,并为每个共享产物指定唯一负责的写入方。共享更新应声明要替换的修订,并拒绝过时写入。在测试修订冲突、恢复和跨任务隔离之前,不应将它描述成已具备完整协作语义的共享文档。
团队现在应该改变什么?
试点模型主导的上下文压缩,同时独立控制权限、证据和恢复。 优先选择长调查历史已经造成可测量问题的工作流。对短小、可靠的流程,在有明确理由前不要改动。以不影响生产的影子运行评估新方案时,保留原有压缩路径。
拥有上下文文件的控制权有价值,但不等于控制了完整 AI 系统。参考运行框架支持本地或托管模型端点。本地文件依然可能发送给远程提供商。请分别决定推理在哪里运行、谁能访问轨迹、如何导出,以及适用哪些许可。仅凭自托管或云托管,都无法证明系统与用户利益对齐。
下一步可以明确一个工作流、必须保留的事实,以及批准新上下文策略所需的证据。我们的 AI 开发服务是界定此类项目范围的商业入口。TwinSoft AI 案例展示相关 AI 产品交付经验,并非 CLM 实施案例。可借助上线前软件 QA 检查清单将试点纳入整体发布检查,或讨论一个边界明确的上下文管理评估。
模型可能成为更好的工作笔记编辑者。应用仍然需要知道,这些笔记是否准确到足以支持行动。
