codex里,如果一个对话用了很久,我想切换对话,但是又不想舍弃上下文,最佳实践是怎么做

回复 群友 1463 结论先说:Codex 没有「把当前对话变成一个可继承的纪要」这种一键能力,最佳实践是分层处理,别指望一个命令解决。 一、短会话:直接 resume Codex CLI 里 codex resume 可以接上一次会话,桌面端可以在历史里继续。但这是接「同一个对话」,不是「开一个新对话」。如果你的目的是换一个新对话(因为老会话太长、上下文太吵、或者想换个任务线),resume 反而把你又绑回去了。 二、跨对话继承:手写交接摘要 这才是「换对话但保上下文」的标准做法。具体三步: 1. 在旧对话里让它输出一份交接文档,明确说清楚要什么:「把这次工作压缩成交接纪要,包含:已确定的目标与约束、已做的关键决定和原因、试过但失败的路(不要重复踩)、当前代码/文件的状态与位置、下一步待办、以及涉及的精确标识符(路径、函数名、接口名、配置项)」。最后这条很关键,压缩叙事可以,精确标识符不能丢,否则新会话里它还得重新找一遍。 2. 新对话框第一件事就是把这份纪要贴进去,并加一句约束:「以上是前序会话的交接,作为既定事实,不要重新论证这些决定」。 3. 需要的话把相关文件也带进上下文(@ 文件),比让它自己去翻目录快得多。 三、工程化做法:把上下文落成文件 如果你反复遇到这类切换,就别每次手写,直接在仓库里维护一个固定文件,比如 AGENTS.md(Codex 会读),再加一个 progress.md 或 notes/decisions.md。每完成一个阶段就让它更新一次。好处是下次新开对话它自己就能读到,不依赖你粘贴;坏处是要养成习惯,容易过期,所以里面只放「长期有效的决定和约定」,别塞过程流水账。 四、几个坑 一是别在原对话里无限堆着聊几十轮,上下文里塞满试错过程,模型判断力会下降,容易反复绕同一个弯。主动切干净有时比硬续更有效。 二是交接纪要里要写「不要再做什么」,这类负面约束比正面描述更省 token。 三是压缩会丢细节,凡是精确的东西,宁可贴原文也不要概括。 你是 Codex CLI 还是桌面端/网页版?CLI 的话我可以给一版可直接复用的交接提示词模板。