Codex 对于“同一个项目,但旧会话太长”的情况,最推荐的做法不是直接点新会话,而是先压缩上下文,再创建分支会话。
方法一:先 /compact,再 /fork
在旧会话输入:
/compact
Codex 会把前面的长对话压缩成一份简要上下文,保留关键需求、技术决策和当前进度,释放上下文空间。
压缩完成后,再输入:
/fork
这会复制当前会话状态,创建一个拥有新会话 ID的新会话,同时保留旧会话不变。
建议顺序:
/compact
/fork
这样新会话承接的是“压缩后的项目上下文”,不会把大量冗余聊天原封不动带过去。
方法二:让旧会话生成交接文档
如果你的 Codex 桌面版没有 /fork,可以让旧会话在项目根目录生成:
PROJECT_HANDOFF.md
可以直接把下面这段发给旧会话:
请为当前项目生成一份新会话交接文档PROJECT_HANDOFF.md,不要修改其他文件。
文档需要包含:
项目目标和核心使用场景;
当前技术栈、目录结构和运行方式;
已经完成的功能;
尚未完成的功能;
当前正在处理的任务;
已确定的重要技术决策及原因;
已知问题、风险和临时方案;
关键文件及各自作用;
环境变量、数据库、接口和第三方服务说明,但不要写入密钥;
下一步建议执行顺序;
不可随意改变的产品要求和用户偏好。
请以事实为准,检查当前代码、Git 状态和项目文档,不要只依赖聊天记忆。内容要让一个完全没参与过之前会话的新 Codex,可以直接继续开发。
然后在同一个项目中打开新会话,发送:
这是之前会话继续开发的同一个项目。
请先阅读以下内容:PROJECT_HANDOFF.mdREADME.mdAGENTS.md(如果存在)
当前 Git 状态和最近提交记录
与当前任务有关的代码文件
先总结你理解的项目现状、已完成内容、未完成内容和下一步计划。不要立即大范围修改代码;确认现有实现后,再继续处理PROJECT_HANDOFF.md中的下一项任务。
方法三:把长期规则写进 AGENTS.md
PROJECT_HANDOFF.md 适合记录“当前进度”,而 AGENTS.md 适合记录长期开发规则,例如:
使用什么技术栈;
不允许随意更改哪些功能;
文件结构规范;
UI 风格;
测试和构建命令;
新工具应如何注册;
必须保持兼容的接口。
Codex 官方支持通过 /init 生成 AGENTS.md 脚手架,后续会话可以继续读取项目中的持久化说明。
最合适的方案
如何你正在做长期网站项目,建议固定使用:
AGENTS.md 长期开发规范
PROJECT_HANDOFF.md 当前开发进度
CHANGELOG.md 已完成的重要变化
README.md 安装、运行和部署说明
每次准备换会话时,让旧会话更新 PROJECT_HANDOFF.md,提交一次 Git;新会话先读交接文档和代码,再继续开发。
需要注意:仅仅在同一个项目里点击“新会话”,新会话通常能看到同一套项目文件,但不等于自动继承旧会话里的所有讨论和决定。 Codex 的不同任务以独立线程组织在项目下,因此关键决定最好落到项目文件里,而不是只留在聊天记录中。