Codex Cli 0.164一定要升啊:本地压缩终于能吃到缓存

本地压缩

本地压缩是在本地处理对话历史并生成摘要,而远程压缩则依赖于OpenAI或Azure的服务来处理。

[!info] 怎么判断走的是哪种
config.toml里provider的name字段填的是OpenAI或Azure会走远程压缩,其它走本地压缩。


0.164 之前

普通请求会按当前工具列表拼一条additional_tools,它永远放在请求的第一条,但不进历史。这意味着只要工具列表变了,后面缓存全部失效。

而本地压缩请求时,它却不拼additional_tools,导致第一条就没有命中。

普通请求:[现拼工具声明 T][基础指令 B][历史 H1][历史 H2]...
压缩请求:              [基础指令 B][历史 H1][历史 H2]...[总结指令 S]

[!bug]笔者认为这是一个bug

0.164 之后

默认开启incremental_tools,工具声明会存进历史,之后新增的工具作为一条新的 additional_tools 追加在历史末尾,前面的前缀不动。

因此即使工具列表变化,缓存仍然生效。

0.164 增量工具路径:

普通请求:[初始工具声明 T][基础指令 B][历史 H1][新增工具T1][历史 H2]...
压缩请求:[初始工具声明 T][基础指令 B][历史 H1][新增工具T1][历史 H2]...[总结指令 S]
          └───────────────── 可以复用的共同前缀 ──────────────────────┘

[!success]这意外把本地压缩这个bug解决了。


实测数据

用的Any,模型是gpt-6-astra。缓存爽吃。

次数 命中率中位数 缓存 token / 输入 token
升级前(~0.163) 1928 0% 6141 万 / 5.74 亿,约 11%
升级后(0.164) 100 98.6% 2766 万 / 3097 万,约 89%

只适用于Responses Lite模型,因此对GPT 5.5无效。


[!success]OpenAI的Codex真是越来越好用了,最近的更新都深得我心。

4 个赞

以后不用远程压缩了,效果也还是比较不错的,是吗?因为以前的本地压缩实在是没法用

本地压缩质量感觉远远不如远端,现在质量变好了么?

从来没有用满过的我,6.1sol已经开始降智了。
真的还不如claude。

1 个赞

佬可以参考这里的prompt设置,个人觉得比远程压缩还好用。

any支持远程压缩吗

Any只支持本地压缩,它的远程压缩能压缩,但压缩完新请求报错。

:joy:升级了还是一直在吃中转的缓存刀,难受的要死。估计中转号有问题

一个是模型一个是工具这两个是一个东西么

好的感谢,好像是遇到过这个问题

[model_providers.your_provider.capabilities]
remote_compaction = “v2”

162 后也支持其他供应商远程压缩了

我感觉远程压缩效果很好,能压到很短,而且还不遗忘

哦?那看来可以不用改name了

(帖子已被作者删除)

我觉得大部分人应该都能看懂我在说什么.
如果你看不懂的话,问一下4o,他能理解的.

大部分人都能看懂我在说什么,如果你看不懂可以问一下豆包,它能理解的