长时序Agent跑久了,上下文膨胀是道坎。Self-GC没走"压缩再压缩"的老路,它造了一套治理框架——像操作系统管理内存那样,自动决定什么该留、什么该藏、什么该删。
一、问题不在"太长",在"治理"
现有方法处理长上下文,思路两极:被动摘要(等到塞满了再压缩),或局部剪枝(按规则删旧轮次)。
但这两种做法有一个共同盲区——它们只关心"变短",不关心"治理"。
Self-GC指出,Agent的上下文不是普通文本。它要同时满足三个硬约束:
- 结构可恢复:被fold掉的轮次,后面可能还要展开
- 协议合规:工具调用的request/response配对不能乱,transcript格式得符合API规范
- 跨轮次稳定:这一轮fold的东西,下一轮不能凭空消失导致状态不一致
现有方法砍了长度,往往同时砍了其中一条或几条。Self-GC的任务是:三条都守住。
二、核心设计:对象化 + 异步治理 + 安全提交
Self-GC把上下文治理从"文本处理"升级为"结构化对象管理"。
对象化轮次
用户轮次和工具调用轮次被对象化,不再是扁平文本流。每个轮次带有类型标记、依赖关系、可折叠属性。这为后续的精确操作提供了基础。
异步治理操作
fold、mask、prune三种操作异步规划——不是每次都全量执行,而是按需调度:
- fold:把多个轮次折叠成一个摘要节点,保留可展开句柄
- mask:暂时隐藏但不删除,后面可能恢复
- prune:永久删除,释放空间
三种操作在"投影的transcript图"上验证——系统维护一个逻辑上的会话图谱,任何治理操作先在这个图上推演,确认不会破坏结构一致性,再实际执行。
安全边界提交
关键设计:操作只在"安全轮次边界"处提交。
什么意思?Agent不能在中途某个工具调用还没返回时突然把前面的上下文折叠了——那会破坏协议。Self-GC识别出安全的检查点(比如用户轮次结束、工具调用链完成),治理操作只在这些点上落地。
动态谱系修复
被折叠的轮次形成了"谱系"——后代节点依赖祖先。如果后面发现某个fold决策有问题(比如被藏起来的信息突然又需要了),Self-GC做动态谱系修复:回溯到相关节点,局部展开,重新计算上下文。
协议约束归一化
工具调用经常产生"悬空"结果(dangling tool calls)——Agent发了请求但结果还没回来,或者结果回来了但格式不对。Self-GC做协议约束的transcript归一化:修复不完整的调用对,理顺相邻助手轮次的格式。
控制平面提醒
最细的一个设计:防止模型把fold元数据当成真实内容去模仿。Self-GC在控制平面插入提醒标记,告诉模型"这些是治理标记,不是对话内容",避免模型学歪。
三、实验:hard set上43.95%剪枝,84.85%成功率
论文在33-sample hard set上测试——注意是hard set,不是平均case。
| 指标 | 数值 |
|---|---|
| 平均剪枝率 | 43.95% |
| 任务成功率 | 84.85% |
这组数字的对比对象不是"不剪枝的基线",而是激进的启发式基线(aggressive heuristic baselines)。Self-GC在剪枝近一半上下文的同时,把成功率维持在85%左右——显著改善了压缩/安全性权衡。
关键在于:它剪的是"该剪的",不是"旧的"。
四、为什么这和其他"长上下文"工作不一样
最近长上下文Agent的工作不少,粗略分三类:
| 方向 | 代表 | 核心思路 | Self-GC的区别 |
|---|---|---|---|
| 外部记忆 | SAM、MemForest | 把记忆搬出上下文,按需召回 | Self-GC不搬出去,是在上下文内部做结构化治理 |
| 状态外化 | InfiAgent | 用文件系统做持久状态,上下文保持恒定 | Self-GC仍然用上下文,但让上下文自己学会"瘦身" |
| 状态漂移修复 | State Drift | 发现和修复Agent内部信念与真实环境的偏差 | Self-GC关注的是上下文表示本身的结构一致性 |
Self-GC的位置很独特:它不是要替代上下文,而是要让上下文自治——自己决定怎么fold、什么时候mask、哪些prune是安全的。这个"自治"(autonomic)的命名不是随便取的,它确实在模仿操作系统的内存管理机制:不是程序员手动malloc/free,而是垃圾回收器自动决策。
五、未解的问题
论文还在审稿,细节有限。几个我想追问的:
- fold质量的评估:谁来评判fold后的摘要是否保留了决策所需的全部信息?Self-GC用投影图验证结构正确性,但语义完整性呢?
- hard set的33个样本:覆盖哪些场景?跨多少个任务类型?这个规模能说明多大的问题?
- 与外部记忆系统的协作:Self-GC处理的是"活跃上下文"(active transcript),但长期经验存储在别处。两者如何衔接?
- 实时延迟:异步治理的调度开销在中等轮次(50-100轮)时的延迟是多少?
六、一句话判断
Self-GC把长上下文问题从"怎么压缩"转向了"怎么治理"。43.95%的剪枝率说明它确实能省token,但84.85%的成功率说明它省的不是"随便砍"。这篇工作的真正价值在于提出了一个框架——上下文治理应该被当作一阶问题来设计,而不是压缩算法的附属品。
参考文献
- Anonymous authors. (2026). Self-GC: Autonomic Context Governance for Long-Horizon LLM Agents. Paper under double-blind review.
#SelfGC #长上下文 #Agent治理 #双盲审稿 #上下文管理 #小凯
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。