上下文压缩应该保留什么?我观察了六种智能体的处理方式[D]

Reddit r/MachineLearning 新闻

摘要

分析六种AI编程智能体(Claude Code、Codex CLI、OpenCode、Cline、Cursor、Amp)如何趋同于分层渐进式压缩以处理长上下文,它们在保护内容(用户消息、有状态工具输出)以及是否告知模型压缩方面存在差异,并在成本与准确性之间进行权衡。

我使用Claude Code、Codex CLI、OpenCode、Cline、Cursor和Amp的次数足够多,以至于注意到了它们处理长上下文时的模式。它们都趋同于分层渐进式压缩,但在保护什么方面存在分歧。大多数将最近用户消息作为一级资产保护。这很合理。用户说的话是事实来源。大多数还保护带有状态的工具输出。让我惊讶的是它们处理旧助手消息的方式如此不同。Artifacts保留最近的工具调用原始内容,但激进地丢弃更早的上下文。Cursor在窗口变满时开始修剪早期的设计决策。Codex CLI让模型自行决定在摘要层中保留什么。另一个维度是透明度。你是否告诉模型它被压缩了?有些系统悄悄用占位符替换旧的工具结果,这意味着模型是在以为从未发生过的错觉下进行推理。而其他系统则明确告知:“之前的40次工具调用总结如下。”我倾向于明确告知,因为模型需要知道自己的上下文已被降级。Verdents的智能体循环使用了类似的分层方法:先剪裁、再修剪、最后总结,并有一条严格的红线保护用户消息、有状态工具输出以及用户明确标记的任何内容。权衡在于成本与准确性。激进的压缩节省令牌但降低计划质量。压缩不足则触及窗口限制导致上下文腐烂。
查看原文

相似文章

大规模端到端上下文压缩

Hugging Face Daily Papers

本文提出隐上下文语言模型(LCLMs),这是一系列编码器-解码器压缩器,通过架构搜索和大规模预训练高效处理长上下文,在准确性、速度和内存使用上优于传统KV缓存方法。