上下文压缩应该保留什么?我观察了六种智能体的处理方式[D]
摘要
分析六种AI编程智能体(Claude Code、Codex CLI、OpenCode、Cline、Cursor、Amp)如何趋同于分层渐进式压缩以处理长上下文,它们在保护内容(用户消息、有状态工具输出)以及是否告知模型压缩方面存在差异,并在成本与准确性之间进行权衡。
我使用Claude Code、Codex CLI、OpenCode、Cline、Cursor和Amp的次数足够多,以至于注意到了它们处理长上下文时的模式。它们都趋同于分层渐进式压缩,但在保护什么方面存在分歧。大多数将最近用户消息作为一级资产保护。这很合理。用户说的话是事实来源。大多数还保护带有状态的工具输出。让我惊讶的是它们处理旧助手消息的方式如此不同。Artifacts保留最近的工具调用原始内容,但激进地丢弃更早的上下文。Cursor在窗口变满时开始修剪早期的设计决策。Codex CLI让模型自行决定在摘要层中保留什么。另一个维度是透明度。你是否告诉模型它被压缩了?有些系统悄悄用占位符替换旧的工具结果,这意味着模型是在以为从未发生过的错觉下进行推理。而其他系统则明确告知:“之前的40次工具调用总结如下。”我倾向于明确告知,因为模型需要知道自己的上下文已被降级。Verdents的智能体循环使用了类似的分层方法:先剪裁、再修剪、最后总结,并有一条严格的红线保护用户消息、有状态工具输出以及用户明确标记的任何内容。权衡在于成本与准确性。激进的压缩节省令牌但降低计划质量。压缩不足则触及窗口限制导致上下文腐烂。
相似文章
大规模端到端上下文压缩
本文提出隐上下文语言模型(LCLMs),这是一系列编码器-解码器压缩器,通过架构搜索和大规模预训练高效处理长上下文,在准确性、速度和内存使用上优于传统KV缓存方法。
@AlphaSignalAI: https://x.com/AlphaSignalAI/status/2062553418460479577
一款名为Headroom的开源工具采用可逆的Compress-Cache-Retrieve架构,能将AI智能体上下文压缩高达90%,使模型能够在需要时检索原始细节,而非永久丢弃。
更少上下文,更智能代理:面向长周期工具使用的LLM代理的高效上下文工程
本文评估了企业工具使用工作流中LLM代理的上下文工程配置,表明选择性修剪的摘要化相比全上下文基线实现了91.6%的准确率,同时将令牌使用量减少了60%以上。
连续运行六小时后,你的上下文窗口究竟会发生什么
一位实践者分享了AI代理连续运行6小时以上时,上下文窗口管理策略(摘要、RAG、截断)的真实失败模式,指出每种方法都会以仅在长时间运行时才会显现的方式降低决策质量。
我在尝试为不同会话中的不同代理确保上下文连续性中学到的东西
作者介绍了 AICTX,一个开源工具,它能在编码代理会话之间保留结构化的操作状态,从而减少代理每次重新发现仓库上下文的需求。