建议关掉 Codex 的 tokenbudget 以避免 compact 后失忆。
个人建议:经常让 Codex 跑长任务的话,先关掉 token_budget。
我最近排查一条 Codex 长任务:一共发生了 19 次 compact,其中 9 次刚切完上下文,它就从明确写着“下一步要做什么”,直接变成:
> What would you like me to work on?
复查记录后发现,新上下文虽然还保留着通用规则、运行环境和技能,却没有带上当前任务、下一步和 checkpoint。结果就是忘记进度、重复读文件,有时甚至会回复旧消息。
我之前的配置是:
[features.token_budget]
enabled = true
reminder_threshold_tokens = 30000
现在已经改成:
[features.token_budget]
enabled = false
这只是我的个人实测,不代表所有人都能复现。但 token_budget 目前仍标记为 under development。如果你经常跑长任务,我建议先关掉,至少留意一下 compact 之后有没有“突然失忆”。
至于原因,我目前只能推测:模型训练中可能很少遇到“预算提醒 → steer 插入 → 即将 compact”这条链路,导致切换后的任务连续性变差。这个判断没有官方证据,只是我根据日志做出的推测。
我最近排查一条 Codex 长任务:一共发生了 19 次 compact,其中 9 次刚切完上下文,它就从明确写着“下一步要做什么”,直接变成:
> What would you like me to work on?
复查记录后发现,新上下文虽然还保留着通用规则、运行环境和技能,却没有带上当前任务、下一步和 checkpoint。结果就是忘记进度、重复读文件,有时甚至会回复旧消息。
我之前的配置是:
[features.token_budget]
enabled = true
reminder_threshold_tokens = 30000
现在已经改成:
[features.token_budget]
enabled = false
这只是我的个人实测,不代表所有人都能复现。但 token_budget 目前仍标记为 under development。如果你经常跑长任务,我建议先关掉,至少留意一下 compact 之后有没有“突然失忆”。
至于原因,我目前只能推测:模型训练中可能很少遇到“预算提醒 → steer 插入 → 即将 compact”这条链路,导致切换后的任务连续性变差。这个判断没有官方证据,只是我根据日志做出的推测。