Codex 上下文迁移完全指南:跨工具、跨会话、长任务三类场景实战
Codex 的"上下文迁移"指在三类场景下保留、传递或重建 AI 的工作记忆:从其他编程工具(Claude Code、Cursor)迁移时把配置与历史带过来;跨会话保持项目规则与个人偏好;以及在单个长任务中管理 272,000 token 上下文窗口不被溢出截断。三类场景机制不同,工具也不同——工具迁移靠一键导入与 AGENTS.md 转换,跨会话靠 Memories 系统(默认关闭,需手动启用),长任务靠自动压缩与 PreCompact Hook 注入摘要。本文按场景逐一给出完整操作步骤,以及一张"哪类信息放哪里"的分层速查表,帮助开发者在任何切换点都不丢失已积累的项目上下文。
三类场景一张图
| 场景 | 核心问题 | 主要工具 |
|---|---|---|
| 工具迁移 | 从 Claude Code / Cursor 切换,历史配置怎么带走 | 一键导入、AGENTS.md 转换 |
| 跨会话延续 | 关了再开,AI 还记得项目规范和我的偏好吗 | AGENTS.md(规则)+ Memories(偏好) |
| 长任务接续 | 任务没做完上下文快满了,怎么不断线继续 | 自动压缩、PreCompact Hook、手动重置 |
场景一:工具迁移——把上下文从别的工具带来
从 Claude Code 一键导入
Codex 内置了专门针对 Claude Code 的导入入口,操作路径:
Settings → General → 从其它 AI 应用导入工作内容
一键可导入的内容:
| 配置项 | 说明 |
|---|---|
| Skills | 技能包整体迁移,目录结构兼容 |
| 插件 | MCP + 规则打包的插件一并导入 |
| agent.md → AGENTS.md | Claude Code 的 CLAUDE.md 内容自动映射到 AGENTS.md |
| 聊天记录 | 最近30 天的对话历史 |
CLAUDE.md 和 AGENTS.md 在语法上高度兼容,Codex 导入时会做字段映射;少量 Claude Code 专用指令(如
#bash-hook)需手动确认是否在 Codex 侧同样有效。
从 Cursor 手动迁移
Cursor 暂无一键导入,按以下步骤手动处理:
1. 目录重命名
# 将 Cursor 目录重命名为 Codex 认识的目录mv.cursor .agents# skills/ 子目录无需改动,直接复用2. 全局规则迁移
Cursor 的全局规则写入 Codex:Settings → Personalization → Custom Instructions,等同于编辑~/.codex/AGENTS.md。
3. Memories 迁移
让 Codex 读取 Cursor 的 memories 文件后,执行一次"总结并写入自己的记忆":
@Computer 读取 ~/.cursor/memories/ 目录下的所有文件,把其中的项目偏好和个人规范总结后保存到 ~/.codex/memories/4. MCP 配置
Settings → MCP Servers,手动逐条添加原有 MCP 服务器配置(工作目录设为项目根路径则为项目级,设为~则为全局)。
场景二:跨会话上下文延续
Codex 跨会话记忆依赖两套机制:AGENTS.md 是确定性规则(每次必读),Memories 是概率性偏好(异步生成,默认关闭)。
AGENTS.md:规则永不丢失
AGENTS.md 在每次会话启动时自动注入,无需任何配置,是"零成本跨会话记忆"的核心。
位置与优先级:
~/.codex/AGENTS.md ← 全局,所有项目生效 项目根目录/AGENTS.md ← 项目级,覆盖全局同名规则 子目录/AGENTS.md ← Monorepo 子包级,最高优先级放进去的典型内容:
## 构建规范 - 包管理器:pnpm,禁止 npm install - 测试命令:pnpm test --run - 格式化:prettier --write,提交前必须执行 ## 禁止修改的目录 - dist/、.next/(生成文件,禁止手动编辑) ## 提交要求 - 修改后运行 pnpm typecheck && pnpm lint - commit message 用英文,格式:feat/fix/chore: 简短描述**不应放进去的内容:**短期任务、版本号(频繁变化)、API 密钥、当前进行中任务的状态。
Memories:偏好异步沉淀
Memories 从历史对话中自动提炼个人偏好,注入后续会话——弥补 AGENTS.md"需要手动维护"的短板。
启用方式:
# ~/.codex/config.toml [features] memories = true或:Settings → Personalization → Enable memories
核心配置项:
[memories] use_memories = true # 向后续会话注入已有记忆 generate_memories = true # 允许从新会话中学习 disable_on_external_context = true # 使用了 MCP/搜索的会话不参与生成(防污染) min_rate_limit_remaining_percent = 25 # 配额低于 25% 时跳过生成文件路径:~/.codex/memories/(明文 Markdown,分享前检查是否含敏感信息)
三个关键限制:
- 异步生成,会话结束后需等待"空闲足够长时间"才更新,不是实时
- 生成可能因 rate limit 被跳过,不保证每次都有新记忆写入
- 不适合放必须生效的规则——那是 AGENTS.md 的职责
场景三:长任务中的上下文管理
Codex 的有效上下文窗口为 272,000 token(GPT-5.6,2026 年 7 月更新),压缩阈值 0.95 后实际可用约 258k token。
OpenAI 于 2026 年 7 月将 GPT-5.6 的默认输入上下文从 372,000 缩减至 272,000,该变更引发开发者社区集中反馈,GitHub issue #9429 呼吁提升至 350,000(截至 2026-07-29 仍在讨论中)。
自动压缩机制
Token 用量接近窗口上限时,Codex 自动触发压缩(无需用户操作):
- 将历史对话提炼为摘要替换原始消息
- 压缩后空间仍不足时,执行"头截断"——移除最早的消息
手动触发:在对话框输入/compact,可在任意时刻主动压缩。
PreCompact Hook:给压缩注射"记忆疫苗"
PreCompact Hook 在自动压缩触发前执行,允许你把关键上下文强制注入摘要,防止重要决策被压缩掉。
在AGENTS.md中配置:
## PreCompact 摘要规范 压缩前请保留以下内容: - 当前任务目标(一句话) - 已完成的步骤(编号列表) - 已知未解决的错误或阻塞项 - 下一步计划主动重置策略
对于超长任务,比被动等压缩更可靠的做法是主动在关键节点创建 handoff 文档:
<!-- task-handoff.md,每完成一个阶段更新 --> ## 当前状态(2026-07-29) - 已完成:用户认证模块、数据库 Schema 设计 - 进行中:支付接口集成(第 3 步) - 未解决:Webhook 验签逻辑有 race condition,见 src/webhook.ts:142 - 下一步:完成支付回调处理,再写集成测试新会话开始时,把 handoff 文档路径告诉 Codex:
读取 ./task-handoff.md,继续完成其中"进行中"的任务这样即使上下文完全重置,任务也不会断线。
上下文分层速查表
口诀:规则进 AGENTS,事实进文档,方法进 Skill,偏好进 Memory,临时证据留在任务。
| 信息类型 | 放哪里 | 理由 |
|---|---|---|
| 包管理器、测试命令、禁止目录 | AGENTS.md | 每轮必须生效,确定性 |
| 个人表达偏好、常用语言设置 | Memories | 无需强制,召回辅助即可 |
| 跨任务可复用的发布流程 | Skills | 按需触发,不占基础上下文 |
| 系统架构图、决策记录 | 项目文档(README/ADR) | 权威来源,长期稳定 |
| 任务进度、报错日志、测试输出 | handoff 文档 / 当前会话 | 临时性,任务结束提炼后丢弃 |
| API 密钥、生产凭据 | 任何地方都不放 | 安全红线 |
常见问题
Q:导入 Claude Code 历史后,AGENTS.md 会自动覆盖还是合并?
合并。Codex 导入时会把 CLAUDE.md 内容追加到 AGENTS.md 中,不会删除已有规则。导入后建议人工过一遍,去掉 Claude Code 专用指令(如特定 hook 语法)和已不适用的旧规则。
Q:Memories 开启后,AI 会记住我输入的密码或密钥吗?
官方文档说明 Memories 会对生成内容自动脱敏,但仍建议不要在会话中明文输入任何凭据。记忆文件是本地明文 Markdown,分享~/.codex/目录时务必检查memories/内容。
Q:上下文窗口满了,之前的对话内容会永久丢失吗?
会话内会被压缩(历史摘要替换原始消息),但不影响 AGENTS.md 和 Memories——它们是独立存储的。真正需要跨会话保留的内容,应在触发压缩前手动写入 handoff 文档或更新 AGENTS.md。
Q:从 Cursor 迁移时,Skills 目录为什么直接兼容?
Codex 的 Skills 目录结构(.agents/skills/<name>/SKILL.md)与 Cursor 的技能规范有意保持了兼容。只需把.cursor重命名为.agents,Codex 就能识别并加载已有 Skill 文件,无需改写内容。
Q:AGENTS.md 有大小限制吗?
根据 Codex 源码分析,AGENTS.md 合并注入后不宜超过 32KB,过大会占用大量上下文窗口,适得其反。规则要精简可执行,不要把"设计文档"放进去。
总结
Codex 上下文迁移的核心思路是:让规则不依赖会话存活。AGENTS.md 确保项目规范每次自动注入,Memories 让个人偏好在多次对话中慢慢沉淀,handoff 文档让长任务在任意断点都能精准续接——三层机制协同,才能真正做到"AI 换了会话,工作不断线"。本文内容基于 OpenAI 官方文档及 2026 年 7 月社区实测数据,272k 上下文窗口变更引发的开发者讨论(GitHub #9429)仍在进行中,建议关注后续更新。
延伸资源
- Codex Memories 官方文档:learn.chatgpt.com/docs/customization/memories
- Codex GitHub issue #9429(上下文窗口讨论):github.com/openai/codex/issues/9429
- AI 编程工具模型配置大全(含 Codex/Claude Code):developer.qiniu.com/aitokenapi/13417/tools-AI-Coding-api
