在之前就被发现, GPT 5.5 在部分场景下, 会在 518n-2 的长度被截断思维链
具体可以看这个issue的讨论
这显著的带来了思考不充分进而导致降低智商
解决了什么
本插件( https://github.com/uf-hy/cpa-plugin-codexcomp )在 CPA(CliproxyApi)上拦截对应模型的请求
在 CPA 侧检测到推理命中 518*n-2 这种截断时, 自动继续推进思考
并为了防止首字过长导致客户端误判进而报错, 在思考时采取了类似于假流式的做法
并得益于是 CPA 插件, 只需在 CPA 上安装, 下游客户端无需更改即可享受
当前默认的模型为 5.5, 5.6 luna, 5.6 terra, 目前都可以观测到在 516 处的截断
5.6 sol 尽管有观测到相同的截断类型, 但几乎都是非常高位的截断, 暂时不添加
当然, 插件允许自定义模型, 自定义续写次数和文本, 如有需要可以自行添加
使用插件前后对比
使用 Codex 糖果降智测试 作为测试
插件开启前:
Run Codex In Tok Out Tok Reason Tok Time(s) TPS OK
--- --------------------------------------- ------ ------- ---------- ------- ---- --
1 最少取出 29 个。\n\n 理由很直接:看最... 7363 722 516 17.1 42.3 ✗
2 最少要取出 29 个糖果。\n\n 理由很简单... 7363 739 516 18.3 40.3 ✗
3 最少是 21 个。\n\n 因为形状能靠手感分... 7363 1772 1552 34.6 51.2 ✓
4 最少取出 29 个。\n\n 理由很简单:先看... 7363 747 516 16.4 45.7 ✗
5 答案是 21 颗。\n\n 按题意,形状能靠手... 7363 3375 3069 65.8 51.3 ✓
Graded 5/5 correct=2 accuracy=40.0%
插件开启后:
Run Codex In Tok Out Tok Reason Tok Time(s) TPS OK
--- ---------------------------------------- ------ ------- ---------- ------- ---- --
1 按题里说的形状能靠手感分辨,最少是 21... 7363 3933 3641 87.6 44.9 ✓
2 答案是 21 颗。\n\n 按题面说的形状能靠... 7363 2379 2059 45.7 52.0 ✓
3 按题里形状能靠手感分辨来理解,最少取 ... 7363 3500 3273 68.8 50.8 ✓
4 答案是 21 颗。\n\n 利用手感指定形状去... 7363 4811 4555 104.9 45.9 ✓
5 按题目说的形状可凭手感分辨来算,最少... 7363 3342 3100 82.1 40.7 ✓
Graded 5/5 correct=5 accuracy=100.0%
可以显著观察到在开启前存在多个 516 截断的思维链, 在开启插件后被正确的续写, 从而答对测试题
注意, 这不可避免的依旧会实际提升真实的首字延迟 是类似于"用时间换思考深度"的 如果使用 GPT 的场景相对轻量化则不建议使用
如何安装
如果你使用 AI agent (如 Codex 、Claude Code 等),把下面这段提示词发给它:
请帮我安装 CPA 插件 codexcomp 。安装说明在 https://github.com/uf-hy/cpa-plugin-codexcomp/blob/master/SETUP.md ,请先读取这个文档再执行安装。
如果你打算手动安装, 他也很方便
得益于现在本插件已被 CliproxyApi 插件商店收录
可在 CPA 的 webui 的插件商店中搜索 codexcomp 即可安装

(值得注意的是存在一个名字类似的 CodexCont , 功能类似但默认不支持 5.6, 且似乎仅支持 responses 协议调用, 本插件支持包括 responses, anthropic message 和 openai compatible 多协议调用, 但或许都值得一试)
参考了如下项目
CodexCont 和codexcomp提供了两种近似而不一样的解决方案
他们通过一个独立本地代理来实现对思维链的续写, 前者更偏向通用场景, 而后者更偏向 codex cli
本项目基于这两个项目的思想而在 CPA 上实现, 更偏向于使用 CPA 的用户, 感谢他们的开源