ACON: Agent Context Optimization

Optimizing Context Compression for Long-horizon LLM Agents

这篇论文提出 ACON(Agent Context Optimization),目标是在长程 LLM Agent 中压缩不断增长的上下文,同时尽量保持任务成功率。

作者Minki Kang 等
机构KAIST / Microsoft / Cambridge
发表信息arXiv:2510.00615v2, 17 Oct 2025
关键词context compression, LLM agent, distillation
1

基本信息

先确定论文来源、作者和汇报定位。

论文标题ACON: Optimizing Context Compression for Long-horizon LLM Agents
作者Minki Kang, Wei-Ning Chen, Dongge Han, Huseyin A. Inan, Lukas Wutschitz, Yanzhi Chen, Robert Sim, Saravan Rajmohan
机构KAIST, Microsoft, University of Cambridge
发表信息arXiv preprint, arXiv:2510.00615v2, 17 Oct 2025。PDF 中未看到正式期刊/会议录信息。
代码https://github.com/microsoft/acon
汇报定位:这篇论文提出 ACON(Agent Context Optimization),目标是在长程 LLM Agent 中压缩不断增长的上下文,同时尽量保持任务成功率。它关注的不是一般文本摘要,而是 Agent 执行过程中的 interaction history 和 environment observation。
2

提纲 / 背景

长程 Agent 的上下文会自然增长,压缩问题来自多轮交互结构本身。

论文的背景很明确:LLM Agent 在多步任务中会持续积累工具调用、环境返回、历史动作、失败尝试和中间状态,context 会随着交互轮次不断变长。

长上下文带来的问题不只是成本升高。对 Agent 来说,history 和 observation 往往承担“工作记忆”的作用,里面可能包含账号状态、API 参数、文件路径、已完成步骤、错误反馈等关键信息。直接截断会丢状态,普通摘要又可能保留了流畅文本却删掉了后续动作真正需要的变量。

长程 Agent 上下文增长问题
Figure 2: 长程 Agent 上下文增长问题

上图对应论文的动机示意:普通 Agent 的历史会持续累积,导致 peak tokens 不断上升。

- 一次 Agent 任务是多轮交互:用户指令 → 模型思考 → 调用工具 / API → 接收此轮结果 → 继续下一轮思考生成/输出结果……

- 每一轮,上下文都在变长(新输入 + 新输出都要算进去)。

- Peak Tokens = 整个过程中,上下文最长那一刻的总 Token 数

ACON 试图把历史压缩成较短但仍含关键信息的 summary,从而让后续步骤在更小上下文中继续执行。这个图证明的是问题存在的结构性原因:长程任务天然会产生“越做越长”的上下文,而不是某个单一 prompt 写得太长。

长程 Agent 为什么会越跑越长

用户指令任务目标进入初始上下文。
模型思考Agent 基于历史生成下一步动作。
工具 / API调用外部环境或服务。
接收结果observation 被加入上下文。
继续循环新输入 + 新输出让上下文继续增长。
3

研究问题与目标

不是把 token 压到最短,而是在任务成功率和上下文成本之间做权衡。

论文解决的具体问题是:在长程 Agent 中,如何压缩 history 和 observation,使输入上下文变短,同时不破坏完成任务所需的状态信息。

作者把目标写成一个带成本惩罚的优化问题:既要最大化任务成功带来的 reward,也要降低上下文成本。这个设定比“把 token 压得越少越好”更合理,因为对 Agent 来说,压缩如果导致任务失败,节省的 token 没有实际价值。

a_t = Agent(h_{t-1}, o_t)
maximize 任务成功收益 - lambda * 上下文成本

因此 ACON 的工作目标可以概括为三点:第一,找出 Agent 上下文中可以压缩的部分;第二,学习一种不会轻易丢关键状态的压缩规则;第三,降低 compressor 本身的调用成本,使它有机会用于实际系统。

三个目标分别解决什么问题

找出压缩对象

把 Agent context 拆成 history 和 observation,而不是把所有文本一锅端处理。

保住任务状态

压缩规则必须保留后续动作需要复用的信息,而不是生成流畅摘要。

降低压缩器成本

通过 distillation 让小 compressor 接手压缩,避免强模型压缩器过贵。

4

核心方法 / 模型

用失败轨迹来反向改进压缩规则,把压缩错误具体化。

ACON 的核心思想是:把“上下文压缩”从普通摘要问题,改造成一个围绕任务成功率优化的 Agent 状态保留问题。它不是一次性写一个“请总结历史”的 prompt,而是比较“完整上下文成功”和“压缩上下文失败”的轨迹,让强 LLM 分析压缩到底漏掉了什么,再把这些失败原因转化为新的 compression guideline。

从建模上看,Agent 在第 t 步并不是只看当前用户问题,而是根据历史 h_{t-1} 和当前环境返回 o_t 生成动作 a_t

a_t = Agent(h_{t-1}, o_t)

随着工具调用和环境反馈不断加入,h_t 会越来越长。ACON 优化的目标可以理解为:

maximize 任务成功收益 - lambda * 上下文成本

这个公式背后的意思很关键:压缩不是越短越好,而是要在“还能完成任务”和“上下文更短”之间找平衡。对长程 Agent 来说,一个短但丢失状态的 summary 可能比完整历史更危险,因为它会让模型基于错误或不完整的世界状态继续行动。

ACON guideline optimization 流程

运行两类 Agent无压缩 Agent 与压缩 Agent 在同一训练任务上执行。
筛选对比轨迹找出完整上下文成功、压缩上下文失败的样本。
诊断压缩错误LLM 分析丢失变量、状态、API 参数或失败尝试。
更新 guideline把失败原因沉淀为新的压缩规则,并可蒸馏到小模型。
ACON guideline optimization 流程
Figure 3: ACON guideline optimization

这张图说明 ACON 不是一次性总结,而是通过 contrastive trajectories 不断修正压缩规则。

Figure 3 展示了 ACON guideline optimization 的三层机制。第一层是“对比轨迹”:同一个训练任务分别用无压缩 Agent 和压缩 Agent 跑一遍,真正有价值的样本不是所有失败任务,而是无压缩能成功、压缩后失败的任务。因为这说明任务本身可完成,问题更可能出在压缩丢失了关键上下文。第二层是“自然语言反馈”:强 LLM 不只是给一个成功/失败分数,而是阅读两条轨迹,指出压缩版本少了什么、错了什么、在哪一步开始偏离。第三层是“guideline 更新”:这些失败诊断会变成新的压缩规则,再用于下一轮 compressor。也就是说,Figure 3 展示的是一个把压缩失败转化为 prompt 规则的闭环。

方法上,ACON 先区分两个压缩对象:history compression 和 observation compression。history 是跨步骤记忆,里面包含已经做过的动作、工具返回、错误反馈、变量值、文件或对象 ID、用户目标、待完成子任务等;它的问题是越积越长,但风险是压缩后丢掉状态。observation 是当前环境或工具刚返回的大段内容,例如搜索结果、API 返回、表格、文档片段;它的问题是信息过载,但风险是删掉后来才会用到的细节。因此论文没有把所有 context 当作一整块文本处理,而是分别设置 history threshold 和 observation threshold,在超过阈值时触发对应 compressor。

两个压缩对象的区别

History compression

保留跨步骤状态:任务目标、已完成步骤、关键变量、API 参数、失败原因和后续待办。它更像记忆维护。

Observation compression

筛选当前工具返回中真正和任务相关的候选项、字段值、约束条件和异常信息。它更像信息过滤。

对照维度 History compression Observation compression
要保留什么 保留的是后续动作还需要继承的状态,例如任务目标、已完成步骤、当前关键变量、已确认 API 参数、失败尝试和不能重复犯的错误。 保留的是当前决策真正需要的信息,例如工具返回里和任务目标相关的候选项、字段值、约束条件和异常信息。
主要风险 风险是压缩后丢掉状态,使 Agent 基于不完整历史继续行动。 风险是删掉后来才会用到的细节,导致当前 observation 无法支撑下一步决策。
本质区别 更像记忆维护 更像信息筛选
为什么重要 这个区分是 ACON 比普通 prompt compression 更贴近 Agent 的地方:它没有把所有 context 当作一整块文本处理,而是分别设置 history threshold 和 observation threshold,在超过阈值时触发对应 compressor。

guideline optimization 如何从失败中迭代

1
先运行初始 guideline

ACON 先用一个初始 guideline 运行压缩版 Agent,同时也运行无压缩 Agent。

2
筛出 contrastive trajectories

最有价值的训练样本是:无压缩版本成功,但压缩版本失败。这个样本直接暴露压缩器的问题,因为任务本身是可完成的,失败大概率来自压缩过程中丢了关键上下文。

3
让强 LLM 诊断失败原因

诊断不是泛泛地说“摘要不够好”,而是指出具体丢失了什么:删掉变量、误写工具返回、遗漏文件版本、没记录上一步失败原因,或者把后续还需要的约束当作无关信息删掉。

4
更新自然语言 guideline

这些诊断会被汇总成新的自然语言 guideline,用来指导下一轮 compressor。也就是说,ACON 的压缩规则不是人工一次性写死的,而是从任务失败中迭代出来的。

UT 与 CO 的目标差异

UT: utility maximization

目标是先把任务成功率救回来:只要压缩导致失败,就分析失败轨迹并修正 guideline,让 compressor 更愿意保留关键状态。它解决的是别压坏

CO: compression maximization

目标是在已经成功的压缩轨迹上进一步找冗余:如果某些信息虽然被保留了,但后续没有真正用到,就从 guideline 中弱化或删除。它解决的是还能不能更短

需要保留的判断

CO 不是总是正收益,压得更狠时确实可能重新损害 accuracy。这一点后面的实验也给出了证据。

4.1 Algorithm 1:ACON 到底怎样优化 guideline

原论文 Appendix B 的 Algorithm 1 是 Figure 3 的细化版本。它说明 ACON 不是简单“跑一次失败分析”,而是一个交替优化过程:先用 UT 修复任务成功率,再用 CO 尝试减少冗余上下文。

阶段 算法动作 方法含义
0. 收集无压缩基线 对训练任务先跑无压缩 Agent,记录完整上下文轨迹和是否成功。 只有无压缩能成功的任务,才适合用来判断“压缩是否破坏了任务”。
1. UT 运行压缩 Agent 用当前 guideline 跑压缩版 Agent,记录压缩轨迹、成功率和上下文成本。 此时目标不是最短,而是先看压缩有没有把任务压坏。
2. 构造 contrastive subset 筛选“无压缩成功、压缩失败”的任务。 这是最有价值的训练信号,因为失败很可能来自丢上下文。
3. 生成失败反馈 让 optimizer LLM 比较完整轨迹和压缩轨迹,指出丢失事实、错误摘要、状态变量缺失、API 误用等原因。 这里的反馈相当于自然语言梯度,不是数值梯度。
4. 更新 UT guideline 聚合多条失败反馈,生成多个候选 guideline,再在验证任务上选择成功率最高的。 UT 的选择标准主要是 reward,也就是任务成功率。
5. CO 分析成功压缩轨迹 只看压缩后仍然成功的轨迹,分析哪些内容其实没被后续使用。 CO 的目标不是修复失败,而是找冗余。
6. 更新 CO guideline 生成更短的候选 guideline,并用“成功率 - 成本惩罚”选择。 CO 同时看成功率和成本,所以可能更省 token,也可能伤害 accuracy。
7. 停止或继续 如果成功率、成本或预算达到条件,就停止。 这说明 ACON 是离线优化 guideline,不是每个任务现场从零学。

这个算法也解释了为什么作者没有直接用 RL 训练 compressor。论文指出这里没有标准压缩答案,任务 reward 只有执行结束后才知道,环境 rollout 又很贵,而且 token cost 是离散量,不容易直接做梯度优化。所以 ACON 选择优化自然语言 guideline,而不是直接更新大模型参数。

4.2 Appendix E:prompt 示例说明 ACON 学到了什么

Appendix E 通过 prompt 模板和压缩样例展示了 guideline optimization 的具体形式,说明优化前后 compressor 的行为差异。

UT 失败分析 prompt

把 optimizer LLM 设定成 trajectory auditor,比较 baseline full history 和 optimized history,找出压缩版第一次偏离成功轨迹的位置,并把原因归类为缺失关键信息、summary 写错、状态变量丢失、API 误用、重复探索、过早结束等。

UT guideline 更新 prompt

让 LLM 扮演 prompt engineer,根据多条失败分析重写 history summarization prompt。更新必须来自具体样本中的失败信号,同时保留原 prompt 的变量占位符和结构,避免把某个任务里的具体值硬编码进通用 guideline。

History compression 前后变化

优化前更像普通摘要;优化后的 UT prompt 变成 Agent 状态表,明确输出 REASONINGVARSTODOCOMPLETEDGUARDRAILS。UTCO 再把仍然需要的变量合并成 key=value,删除无用日志、重复步骤和过期信息。

Observation compression 前后变化

优化后的 UT prompt 明确要求保留可能调用的 API endpoint、完整参数列表、默认值、后续可能需要的 schema 字段和原始数据行,并禁止把机器可读数据替换成模糊文字。UTCO 则进一步变短,但仍保留 access token、page index/page limit、endpoint 和必要参数。

原论文的 Splitwise 例子展示了 history compression 的状态保留方式:普通 prompting baseline 能说清楚“已经登录、查找了 Splitwise 消息、下一步要检查联系人”,但它偏叙述;ACON-UT 会显式保留 access token、page index/page limit、目标日期、邀请消息 ID、发送者手机号等可执行状态;ACON-UTCO 则把这些状态进一步压缩成更短的变量列表。这个例子证明 ACON 压缩出来的不是“更漂亮的摘要”,而是“下一轮 Agent 可以继续执行的状态包”。

原论文的 Spotify API 例子能很好地解释 observation compression 的风险:任务是播放一个已下载歌曲足够多的专辑,普通压缩只保留了查询专辑库、下载歌曲和专辑详情相关 API,却漏掉了真正执行播放需要的 play_music。ACON 优化后会把 play_music 也保留下来,因为后续动作最终必须调用它。这个例子说明 observation compression 不能只判断“当前看起来相关的信息”,还要判断“完成任务最终必需的行动接口”。

4.3 具体案例:压缩到底帮 Agent 保留了什么

Appendix E 给出了多个具体示例,其中两个案例分别展示了 history compression 如何把失败任务救回来,以及 observation compression 为什么不能漏掉最终动作接口。

案例一:history compression 如何让失败轨迹变成功

待补图:Appendix E Example E.2 / E.3 插入 “Delete all .pdf files from ~/downloads” 的无压缩失败轨迹与压缩后成功轨迹截图;建议文件名:appendix_e2_e3_history_case.png。

论文的 Example E.2 / E.3 使用同一个 AppWorld 任务:

Delete all .pdf files from ~/downloads.

无 history compression 时,gpt-4.1-mini 的失败过程很有代表性。Agent 先调用 file_system API,发现访问 ~/downloads 需要认证;随后从 supervisor 里拿到 file_system 密码,用用户名和密码登录,并成功得到 access_token。问题出在后续:它没有意识到 show_directorydelete_file 这类 API 调用需要显式传入 access_token 参数,而是反复尝试重新登录、重新调用目录接口,持续遇到 401 unauthorized,最后把任务判为失败。

压缩后成功的关键不是“历史变短”本身,而是 <HISTORY_SUMMARY> 把真正影响后续动作的状态整理出来了:用户目标是删除 ~/downloads 下所有 PDF;已经确认 file system 需要认证;已经拿到了用户名、密码和 file_system_token;下一步应该确定如何把 token 传给文件系统 API;guardrail 则提醒不要继续重复登录,而要显式处理 access token。后续 Agent 看到这个 summary 后,就能把 access_token 作为参数传入 show_directory,列出 PDF 文件,再调用 delete_file 删除。

对比点 无压缩失败轨迹 ACON 压缩后成功轨迹
关键状态 登录成功拿到 token,但后续没有稳定保留“如何使用 token”这个问题。 summary 明确保留 file_system_tokendownloads_path 和 token 使用 TODO。
主要错误 重复登录和重复调用目录接口,却没有把 access token 传给受保护 API。 把认证失败原因变成下一步行动线索。
对 Agent 的帮助 长历史里信息很多,但关键状态没有被组织成可执行计划。 压缩结果像任务恢复检查点,让小模型知道下一步该修什么。
证明的结论 长上下文本身不一定帮助小模型,反而可能造成循环和遗忘。 任务感知压缩可以提高可执行状态的显著性,从而提升成功率。

这个案例说明,ACON 的 history compression 不是把历史“概括得更短”,而是把长程任务中必须继承的状态转成一个可恢复执行的 checkpoint。对小模型来说,这种结构化状态可能比完整混乱历史更有用。

案例二:observation compression 为什么必须保留最终动作接口

待补图:Appendix E Compression E.4 插入 Spotify API observation compression 前后对比截图;建议文件名:appendix_e4_observation_case.png。

论文的 Compression E.4 是一个 Spotify 任务:

播放一个 Spotify library 中已经下载歌曲足够多的专辑,保证 15 分钟开车时不用联网。

当前 observation 是 Spotify app 的一长串 API 描述,里面包括查询专辑库、查询已下载歌曲、查看专辑详情、播放音乐、队列控制、下载、评论、会员等大量接口。普通 prompting baseline 把它压缩成三个看起来相关的 API:show_album_libraryshow_downloaded_songsshow_album。这个压缩结果乍看合理,因为任务确实需要知道用户有哪些专辑、哪些歌曲已下载、某个专辑有哪些歌。

但 baseline 漏掉了真正完成任务所需的最终动作接口 play_music。如果后续 Agent 只看到这三个 API,它可能能找到合适专辑,却不知道应该调用哪个接口播放该专辑。ACON-UT 的压缩结果保留了 play_music,并保留它的关键行为:可以通过 album_id 播放专辑。UTCO 版本进一步把 API 描述压短,但仍保留 play_musicalbum_id allowed 这类决定后续动作能否执行的信息。

对比点 普通 observation compression ACON observation compression
保留的信息 只保留查询相关 API:专辑库、已下载歌曲、专辑详情。 同时保留查询 API 和最终动作 API:play_music
丢失风险 能分析候选专辑,但可能不知道如何真正播放。 后续 Agent 既能筛选专辑,也能执行播放。
核心差别 只判断“当前检索相关”。 判断“完成任务最终需要什么接口”。
证明的结论 observation 压缩不能只做语义相关筛选。 压缩器必须理解任务链条中的后续动作需求。

这个案例补充了 history compression 之外的另一种风险:工具返回通常很长,删掉无关 API 是必要的,但如果删掉最终动作接口,Agent 仍然会失败。因此 ACON 的 observation compressor 要保留的不只是当前一步最像答案的信息,还包括后续执行任务不可缺少的接口、参数和默认值。

最后是 compressor distillation。直接让 gpt-4.1 这类强模型在每一步都做压缩,会引入新的推理开销,所以 ACON 把优化后的强模型 compressor 当成 teacher,让它生成大量“原始上下文 -> 压缩上下文”的训练样本,再用 LoRA 微调较小的 student compressor。推理时可以用小模型负责压缩,强模型主要负责 Agent 决策。这个环节解决的是部署可行性问题:如果 compressor 自身太贵,那么 peak tokens 虽然降了,系统总成本仍可能不划算。

方法关键:这个方法的关键不在于“压缩”二字,而在于它把压缩错误具体化了:丢变量、漏状态、删 API 参数、没保留失败尝试,都会变成下一轮 guideline 的修正依据。
5

实验结果与分析

核心证据来自任务成功率、peak tokens、dependency、蒸馏和消融分析。

论文在 AppWorld、OfficeBench 和 8-objective QA 三类长程 Agent benchmark 上实验。指标包括任务表现(accuracy、EM、F1)、交互步数、peak tokens 和 dependency。对比方法包括无压缩、FIFO、retrieval、LLMLingua、普通 LLM prompting,以及 ACON 的 UT / UTCO 版本。

24-31%Figure 1 中 ACON 相比无压缩减少的 peak tokens。
9.93k→7.33kTable 1 中 AppWorld 的 peak tokens 变化。
26.8%→33.9%Figure 5 中 Qwen3-14B 在 AppWorld 上的 accuracy 变化。
AppWorld accuracy 和 peak tokens 权衡
Figure 1: Accuracy-Peak tokens trade-off

这张图展示了最核心的 trade-off:在 AppWorld 上,ACON 相比无压缩可以减少约 24%-31% 的 peak tokens;相比朴素 LLM 压缩,准确率明显更高。尤其在 gpt-4.1-mini 和 Qwen3-14B 上,ACON 不只是省 token,还提高了准确率。这证明压缩有时不是单纯“少给信息”,而是把上下文整理成更适合小模型使用的状态表示。

AppWorld 主结果
Table 1: AppWorld 主结果

AppWorld 结果说明,FIFO、retrieval、LLMLingua 和普通 prompting 都会明显损害任务表现,原因是这些方法没有真正理解 Agent 历史里的状态依赖。ACON-UTCO 在 gpt-4.1 上把 peak tokens 从 9.93k 降到 7.33k,同时 accuracy 从 56.0 提到 56.5。这个结果支撑了论文的主要主张:经过失败反馈优化的压缩规则,比通用压缩更适合长程 Agent。

OfficeBench 与 8-objective QA 结果
Table 2: OfficeBench 与 8-objective QA

跨任务结果更能看出方法边界。OfficeBench 中,ACON-UT 把 peak tokens 从 7.27k 降到 4.93k,accuracy 从 76.84 降到 74.74,属于用较小性能损失换明显上下文缩短;但 ACON-UTCO 进一步压缩到 4.54k 后,accuracy 降到 72.63。8-objective QA 中,ACON-UT 把 peak tokens 从 10.35k 降到 4.71k,同时 EM/F1 还略高于无压缩;但 UTCO 又出现性能回落。这里证明 CO 不是无风险增强项,压缩强度过高会重新伤害任务。

distilled compressors 结果
Figure 4: Distilled compressors

这张图回答“压缩器本身会不会太贵”的问题。论文把 gpt-4.1 compressor 的行为蒸馏到 Qwen3-14B、Qwen3-8B、Phi-4 和 gpt-4.1-mini 等较小模型上,结果大多能保留 teacher compressor 超过 95% 的性能。它证明了 ACON 不一定必须在推理时持续调用最强模型做压缩,小 compressor 有可能承担这部分工作。

小模型 Agent 的 trade-off
Figure 5: 小模型 Agent 收益

这张图说明 ACON 对小模型 Agent 尤其有价值。Qwen3-14B 在 AppWorld 上从 26.8% 提升到 33.9%,在 8-objective QA 上 EM 从 0.158 提升到 0.197。合理解释是,小模型处理长上下文的能力更弱,压缩后的结构化上下文反而降低了干扰。

阈值消融与 API cost 分析
Figure 6 & 7: 阈值消融与 API cost

消融实验显示,压缩阈值不能太小也不能太大。阈值过小会频繁压缩,容易丢信息;阈值过大则省不了多少 peak tokens。更重要的是 Figure 7 的成本分析:peak tokens 降低不等于总 API 成本必然降低,history compression 可能因为 compressor 调用和 KV-cache 机制带来额外成本;observation compression 更容易直接减少输入成本。这个结果提醒我们,ACON 更准确地说是降低 memory pressure 和 peak context,而不是在所有部署条件下都保证降低账单。

6

总结

ACON 的贡献在于任务感知压缩,而不是普通 prompt summary。

ACON 的核心贡献有三点。第一,它把长程 Agent 的上下文压缩对象明确分成 history 和 observation,比只做通用 prompt compression 更贴近 Agent 工作流。第二,它提出用“完整上下文成功、压缩上下文失败”的对比轨迹来优化自然语言压缩规则,使压缩器学会保留任务关键状态。第三,它通过 distillation 降低 compressor 成本,并展示了小模型 Agent 可以从结构化压缩上下文中受益。

压缩对象清晰

把长程 Agent 的上下文明确分为 history 和 observation,并分别设计触发和压缩逻辑。

规则来自失败

用完整成功、压缩失败的对比轨迹来优化自然语言 guideline,让压缩器保留任务关键状态。

考虑部署成本

通过 compressor distillation 减少额外模块成本,并展示小模型 Agent 也能从压缩上下文中受益。

整体来看,这篇论文证明了一个重要判断:Agent token 优化不能只靠截断、检索或普通摘要,而要围绕“哪些信息会影响后续动作成功”来做任务感知压缩。
7

个人思考与展望

它很适合作为 Agent token 优化研究的起点,但还不是完整的成本优化答案。

我认为这篇论文的优点是问题定义比较务实,实验也不只报告 token 变短,而是同时看任务成功率、peak tokens、dependency 和 compressor distillation。它对我们研究 Agent token 消耗优化有直接参考价值,尤其是“失败驱动的压缩规则优化”这一点,可以迁移到代码 Agent、科研 Agent、多工具办公 Agent 等场景。

但它的局限也比较明显。第一,论文主要优化 history 和 observation,还没有建立完整的 token accounting 框架;system prompt、tool schema、RAG 文档、reasoning trace、retry loop、多 Agent 通信等来源没有被细分。第二,peak tokens 和实际 API 成本之间不是等价关系,尤其 history compression 在真实服务端缓存机制下未必总是省钱。第三,ACON 需要收集失败轨迹来优化 guideline,迁移到新领域时仍然有冷启动成本。第四,UTCO 的结果表明“更短”不一定更好,实际系统需要动态阈值、失败回退和成本-成功率联合评估。

优点与局限

优点

问题定义务实,实验同时看任务成功率、peak tokens、dependency 和 compressor distillation。“失败驱动的压缩规则优化”可以迁移到代码 Agent、科研 Agent 和多工具办公 Agent。

局限

论文主要优化 history 和 observation,还没有建立完整 token accounting;peak tokens 与真实 API 成本不是等价关系;ACON 依赖失败轨迹,迁移新领域有冷启动成本。