Codex 越跑越慢、越聊越笨?问题常常不在模型,在上下文
你有没有这种体验:
- 一开始 Codex 很灵。
- 聊着聊着开始“健忘”。
- 修 bug 越修越乱,速度还越来越慢。
别急着怪自己提示词写烂了。很多时候是 上下文被撑爆:无用的规划叙述、反复试错的过程、目录里堆出来的垃圾文件,全在消耗 token。
下面这套我自己在用。目标很简单:把上下文当“背包容量”用,别往里塞石头。🧳
你先判断:是不是“上下文膨胀型变慢”?
对照一下症状:
- Codex 开始输出很多“我打算这么做、再那样做”的长段文字
- 同一个问题反复解释,像在复读
- 修改代码时经常忘记你前面定的规则(目录结构、命名、接口约定)
- 工程目录越搞越大:tmp、test2、old、backup、fix_final_v3…
中两条以上,八成就是上下文太脏太满。
1)关掉规划碎碎念:Process_narration=false
Codex 很爱把“脑内 OS”全吐出来。
你又不会真的逐条审它的规划过程,这些内容纯纯浪费输出 token,还会把对话变长、上下文变胖。
怎么做
把它关掉:
- 设置:
Process_narration=false
你会得到什么
- 输出更短更直接
- 同样窗口能聊更久
- 不会被一堆“我将要……”刷屏
常见误区
- 想靠看规划叙述来“控模型”——真要控,靠任务拆解和验收标准更靠谱(后面有)。
2)让 Codex 当“协调者”,别当“苦力”:并行 agents 分摊上下文
这个思路非常爽:
- 主对话只做决策、验收、派活
- 脏活累活(查资料、跑命令、改文件、写测试)扔给多个 agents 并行干
关键点:每个 agent 都有自己的上下文窗口。 你同时开 5 个 agent,相当于 5 个上下文池在干活,主上下文保持干净。
直接可用提示词(复制就能用)
充当协调者,用并行 agents 做研究和执行。给每个 agent 写清晰、可操作的任务与验收标准,强制它们行动、迭代、完成,并带回深入报告。你的工作是:汇总分析、指出问题、给下一轮持续任务。主对话只保留关键结论、决策、接口约定和待办清单,避免粘贴大量中间过程。
一个你能立刻照抄的“派工模板”
在主对话里让 Codex 按这个结构派工:
- Agent A(研究):查方案/最佳实践/踩坑点,输出 10 行要点 + 推荐决策
- Agent B(代码):按既定结构改代码,提交变更清单(改了哪些文件、为什么)
- Agent C(测试):补测试/跑测试,输出失败用例与修复建议
- Agent D(性能/安全):扫潜在问题,列风险与缓解措施
避坑清单
- 主对话别让 agent 把所有日志和大段代码贴回来:只要“结论 + 文件路径 + diff 摘要”。
- 任何 agent 输出超过 30 行,就让它做一次压缩总结再回传。
3)别让它边想边改:每个任务先给 task list + 验收标准
调试本来就乱。Codex 一旦开始“边试边说”,上下文会被试错过程污染:
- 一会儿改 A
- 一会儿推翻刚才的结论
- 一会儿又引入新依赖
你不需要开什么“超重的计划模式”。你只要强制它:动手前写任务清单,并且每项有验收标准。
直接可用提示词
开始实现前,先输出 task list(不超过 10 条),每条包含:要改的文件/模块、具体动作、验收标准。得到我确认后再动手。实现过程中只汇报进度与关键决策,不要输出长篇推理。
验收标准怎么写才有效
别写“功能正常”。写这种:
- “
npm test全绿” - “新增接口
/api/foo,返回字段id,name,status,并在 README 写调用示例” - “数据库迁移脚本可回滚,且本地跑
migrate up/down不报错”
你会发现 Codex 的输出质量会稳很多,话也少很多。
4)强制保持代码库干净:不许留临时文件、死代码、死目录
Codex 和某些模型不一样:它特别容易把工程目录搞成“垃圾场”。
目录一乱,它在上下文里描述文件结构就会越来越长,找文件也更慢,改动还更容易跑偏。
直接可用提示词(强约束)
保持代码库干净:不创建临时文件,不保留死代码/死文件,不新增不必要的文件夹/子文件夹。始终沿用现有项目结构与命名规范。每次改动都要说明:改了哪些文件、为什么、是否需要清理旧内容。
你要盯的几个“垃圾高发点”
*_final,*_v2,backup/,tmp/- “先放这儿”的脚本、复制粘贴出来的旧实现
- 未使用的依赖、弃用但没删的配置
一条很实用的规矩
让 Codex 每次提交前输出一个简短清单:
- 新增文件:
- 修改文件:
- 删除文件:
- 新增依赖:
这能极大降低它“顺手乱加东西”。
5)加速小技巧:规划用“更强”,执行用“更快”
规划阶段吃脑子,执行阶段吃速度。
你可以这样切:
- 方案没定:用 Codex 5.5(超高) 做架构、接口、任务拆解
- 方案定了:切到 Codex 5.5(高) + 快速模式 去写代码、补测试、跑修改
效果很直观:
- 讨论方案时更稳,不容易“想一出是一出”
- 真写代码时更快,成本也更舒服
一套你可以直接照搬的日常工作流(推荐)
你可以把下面当成固定流程:
- 关掉
Process_narration,少说废话 - 主对话只做协调:派 3~5 个 agents 干活
- 每个任务都要
task list + 验收标准,你确认了才开工 - 任何改动都要“文件级变更清单”,不许生成垃圾目录
- 规划/执行分模型:强模型定方案,快模式落地实现
照这个跑一周,你会明显感觉:
- Codex 不容易跑偏
- 输出更短更有用
- 工程目录不会越搞越乱
- 同样窗口能扛更久的对话
额外补刀:你发现变慢时怎么“急救”?
遇到已经聊到很臃肿的会话,别硬撑。
- 让 Codex 输出“当前项目状态摘要”(10 行以内)
- 把摘要复制到新会话
- 新会话里直接按上面规则跑(协调者 + task list + 干净仓库)
这招有点像给大脑做一次“清缓存”。🧠