9.1 一个新手会卡住的瞬间
你昨天用 Codex 把一个项目搭起来了,关掉了电脑。今天你打开 Codex,想继续——
你:继续昨天那个项目
Codex:我不太理解"昨天那个项目",能告诉我项目路径吗?
你:……
它不记得了。每次打开都是一张白纸。
这就是新手最容易卡住的地方:不知道怎么把"一次性的对话"变成"长期的协作"。
这一章讲三件事:项目(Project)、会话(Session)、记忆(Memory)。掌握这三个,Codex 就成了一个"懂你的长期同事"。
9.2 三个核心概念
┌───────────────────────────────────────────────────┐
│ Project(项目) │
│ ── 一个目录,包含 AGENTS.md、Skills、配置 │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Session(会话) │ │
│ │ ── 一次连续对话的上下文 │ │
│ │ ── 关掉就消失,除非保存 │ │
│ └─────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Memory(记忆) │ │
│ │ ── 跨会话保留的关键信息 │ │
│ │ ── 用户偏好、项目规则、历史决策 │ │
│ └─────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────┘
简单说:
- Project:一个文件夹,是 Codex 工作的"工位"
- Session:一次对话的"短期记忆"
- Memory:跨会话的"长期记忆"
9.3 Project:Codex 的工位
什么是 Project
在 Codex 桌面版,每个你打开的文件夹就是一个 Project。Codex 会扫描这个文件夹里的:
- AGENTS.md(如果有):项目级指令
- .codex/skills/(如果有):项目专属 Skills
- .codex/memory.md(如果有):项目记忆
- .git/(如果有):识别为 Git 项目,启用 PR 功能
CLI 模式下,你启动 Codex 时所在的目录就是当前 Project。
怎么打开 Project
桌面版:
- 启动后点 "Open Folder"
- 或者点最近项目列表
- 或者拖文件夹到 Codex 图标
CLI:
cd ~/codex-workspace/projects/my-project
codex
或者用绝对路径启动:
codex --workspace ~/codex-workspace/projects/my-project
Project 的目录结构推荐
无论是写代码项目还是写文档项目,推荐这个结构:
my-project/
├── .git/ # 版本控制
├── .gitignore
├── AGENTS.md # Codex 的指令(第十章详讲)
├── README.md # 给人看的说明
├── .codex/ # Codex 专属
│ ├── skills/ # 项目 Skills
│ └── memory.md # 项目记忆
├── src/ # 实际内容
└── tests/ # 测试或验证
.codex/ 文件夹通常被 .gitignore 排除(避免把记忆推到公共仓库):
# .gitignore
.codex/memory.md
但 AGENTS.md 应该提交到 git,让团队共享。
Project-less 模式
2026 年新增了 "Project-less" 模式——不选项目就开聊。适合:
- 临时问问题
- 写一段独立的内容
- 思考一个概念
但任何涉及"读写文件"的任务,都建议先选个 Project。
9.4 Session:会话的"短期记忆"
什么是 Session
一次连续对话就是一个 Session。在同一个 Session 里:
- Codex 记得你说过的所有话
- Codex 记得它执行过的所有操作
- Codex 知道当前的"上下文"
关闭 Codex App 或 Ctrl+C 退出 CLI,Session 就结束了。下次打开是一个新 Session,啥也不记得。
Session 的限制
Session 有上下文窗口限制(GPT-5.4 是 200K token,约等于 15-20 万字符)。但实际使用中,超过 50K token 后模型会变迟钝、容易遗忘前面的内容。
经验法则:
- 5-20 轮对话:很好
- 20-50 轮:开始有点重复
- 50 轮以上:考虑开新会话
怎么管理 Session
保存当前会话:
CLI:
/save my-session-name
桌面版:菜单栏 → File → Save Session。
恢复会话:
CLI:
codex resume
# 或
codex resume my-session-name
桌面版:左侧栏选历史会话。
开新会话(保留 Project):
/new
列出历史会话:
/sessions
跨会话连贯性的实战技巧
技巧 1:会话开始时给 Codex"补课"
我们继续昨天那个家庭账本网页项目。
昨天我们完成了:
1. 项目搭建(Vite + React + Tailwind)
2. 交易记录表单
3. 数据本地存储
今天要做:月度报表页面。
5 秒钟就能让它进入状态。
技巧 2:在项目根目录留一份 PROGRESS.md
# 项目进度
## 已完成
- 项目骨架(2026-04-15)
- 用户登录(2026-04-16)
- 商品列表(2026-04-17)
## 进行中
- 购物车(卡在结账逻辑)
## 待办
- 订单管理
- 支付集成
每次开新会话先让 Codex 读这份:
读一下 PROGRESS.md,了解项目状态,然后我们继续。
技巧 3:用 git commit 记录每次成果
git commit -m "完成月度报表页面(与 Codex 协作 #2)"
下次让 Codex 看 commit 历史,它能快速理解项目演进:
看一下最近 10 个 commit,了解我们最近在做什么。
9.5 Memory:跨会话的"长期记忆"
Memory 是什么
Memory 是 Codex 在 2026 年新增的功能,专门解决"跨会话连贯性"问题。它分两层:
全局 Memory —— 记你这个人的偏好
例:
- "我用 macOS"
- "我喜欢简洁的代码风格"
- "回复中不要用 emoji"
- "技术栈偏好 Python + FastAPI"
项目 Memory —— 记某个项目的特殊约定
例:
- "这个项目用的是 Vue 3 + Pinia"
- "测试要求覆盖率 ≥ 80%"
- "数据库是 PostgreSQL,schema 在 db/schema.sql"
怎么使用 Memory
让 Codex 主动记:
记一下:以后所有 Python 代码都用 Black 格式化,行宽 88。
它会回答类似:
好的,我已经记到全局 Memory:
"Python 代码使用 Black 格式化,行宽 88"
手动编辑 Memory:
CLI:
/memory
会打开你的默认编辑器,让你编辑 Memory 文件。
文件位置:
- 全局:
~/.codex/memory.md - 项目:
<project>/.codex/memory.md
Memory 的最佳实践
好的 Memory 条目长什么样:
# 全局偏好
## 操作系统与工具
- 操作系统:macOS Sonoma
- 终端:iTerm2 + zsh
- Python 版本:3.12(系统装的,不要建虚拟环境)
## 编码风格
- Python:用 Black 格式化,行宽 88
- 不要用 type alias,直接写类型
- 函数名用 snake_case
- 不要在文件顶部写 docstring,函数内才写
## 沟通偏好
- 解释技术问题时,先给结论再给细节
- 不要用 emoji
- 不要说"很高兴帮助你"这种客套话
## 任务习惯
- 改代码前先 git commit 当前状态
- 大重构先列计划,我审核后再做
糟糕的 Memory 条目:
我喜欢吃苹果 ← 跟工作无关
我有一只叫小灰的猫 ← 跟工作无关
今天天气很好 ← 跟工作无关
我昨天去了北京 ← 一次性信息,不是长期偏好
记住一个原则:Memory 是给 Codex 看的"使用说明书",不是日记。
Memory 的容量
Memory 有大小上限(具体取决于版本,2026 年是 8KB 左右)。超出会被截断或要求你删减。
定期检查、清理:
/memory
# 编辑器打开后,删除过时的、合并相似的
9.6 Triage 收件箱
桌面版有一个特别有用的功能:Triage(收件箱)。
什么是 Triage
Triage 是一个"待审核"队列。Codex 完成定时任务、长任务、自动化任务后,结果不直接发出去,而是先到 Triage 排队。你打开 Triage,逐个审核:
- 满意 → 发布 / 提交
- 不满意 → 退回让 Codex 改 / 自己改 / 丢弃
适用场景
- 定时新闻雷达:每天早上 8 点 Codex 整理出 5 条新闻,放 Triage,你审完再发到群里
- 自动 PR:Codex 改完 bug 自动开 PR,进 Triage,你审完再 merge
- 周报生成:周五下午 Codex 起草周报,进 Triage,你审完发出
一个完整的"两层交付"工作流
┌─────────────────────┐
│ Automation 定时触发 │
└──────────┬──────────┘
▼
┌─────────────────────┐
│ Codex 自主完成 │
│ (读、写、查、整理) │
└──────────┬──────────┘
▼
┌─────────────────────┐
│ 结果进入 Triage │
└──────────┬──────────┘
▼
┌─────────────────────┐
│ 你审核(diff 视角) │
└──────────┬──────────┘
▼
┌─────────────────────┐
│ 通过 → 发布 / 提交 │
│ 不通过 → 退回 / 丢弃 │
└─────────────────────┘
这个工作流的好处:
- 效率:Codex 跑完整流程,不要人盯着
- 责任:人最终把关,不会出大错
- 可追溯:每个决策都有记录
第十二章会详讲 Automation。
9.7 Task Sidebar
桌面版右侧有一个 Task Sidebar,显示当前 Codex 正在做什么:
┌────────────────────────────┐
│ 当前任务 │
├────────────────────────────┤
│ 1. 读取 invoices/ 目录 │ [✓]
│ 2. 解析 247 个 PDF │ [进行中 60%]
│ 3. 提取金额、税号 │ [待办]
│ 4. 写入 invoices.xlsx │ [待办]
└────────────────────────────┘
来源:
- invoices/2024-Q1/*.pdf
- invoices/2024-Q2/*.pdf
产出:
- 草稿:invoices_draft.xlsx
- 报告:summary.md
它让你随时知道 Codex 在干什么、卡在哪儿、出过什么。
9.8 多窗口与并行
2026 年的 Codex 桌面版支持同一台电脑上同时开多个 Agent(基于 Computer Use 的多代理隔离)。
适用场景
- 一个 Codex 在写代码,另一个在帮你查资料
- 一个 Codex 在自动化跑长任务,你打开另一个对话提问
- 一个 Codex 操作浏览器,另一个操作终端
怎么开多个
桌面版:菜单栏 → File → New Window。
每个窗口独立 Session、独立 Project,互不干扰。
但注意:所有 Agent 共享你的 ChatGPT Plus 配额。同时跑多个会更快烧完配额。
9.9 一些"管理"上的最佳实践
实践 1:每个项目有自己的目录
不要把 10 个项目都放在 ~/Desktop/。每个项目独立目录,Codex 才能精准服务。
实践 2:每个项目都有 AGENTS.md
哪怕只有 5 行的 AGENTS.md,也比没有强。下一章详讲。
实践 3:Memory 定期清理
每月一次:
/memory
# 检查、删除过时条目
实践 4:长任务用 Triage,短任务用即时模式
- 5 分钟以内:你坐着等
- 5-30 分钟:开 Triage,自己去做别的
- 30 分钟以上:用 Automation 后台跑
实践 5:会话超过 30 轮,开新会话
不要恋战。30 轮后开新会话,让上下文重新干净。
9.10 本章小结
- 三层管理:Project(工位)、Session(短期记忆)、Memory(长期记忆)
- Project 推荐目录结构:AGENTS.md + .codex/ + src/
- Session 关掉就忘,超 30 轮考虑新开
- Memory 是"使用说明书",不是日记
- Triage 让"自动化任务"有人审核
- Task Sidebar 让你随时知道 Codex 在干什么
- 多窗口可以并行,但配额共享
第三篇结束。下一篇是"进阶篇",从 第十章 · AGENTS.md 指南 开始,让 Codex 真正"懂你"。