把 Codex 规则写进 Markdown 后,很容易产生一个直觉:“换一台电脑,只要登录同一个 OpenAI 账号,规则也会自动跟过来吧?”
结论是:ChatGPT 与本地 Codex 的规则并不住在同一层。
ChatGPT 的自定义指令与记忆功能更接近账号级个性化;Codex 的 $CODEX_HOME/AGENTS.md 与 ~/.codex/config.toml 则是执行环境里实际存在的文件。
同一家公司的产品,规则的户口地址不一样。
1. 同一账号,不等于同一份本地配置
| 项目 | 主要位置或作用范围 | 能否假设另一台 PC 自动得到相同内容 |
|---|---|---|
| ChatGPT 自定义指令 | ChatGPT 账号 | 按账号使用 |
| ChatGPT 记忆 | ChatGPT 个性化 | 作为账号上下文使用 |
$CODEX_HOME/AGENTS.md |
Codex 执行环境文件 | 不能 |
$CODEX_HOME/AGENTS.override.md |
Codex 执行环境文件 | 不能 |
~/.codex/config.toml |
Codex 本地设置 | 不能 |
仓库中的 AGENTS.md |
项目文件 | 通过 Git 获取后可共享 |
OpenAI 将 Codex CLI 描述为在用户机器上运行的跨平台本地软件代理。官方技术说明还写明,Codex 会读取 ~/.codex/config.toml、$CODEX_HOME 中的 AGENTS 文件,以及从 Git 或项目根目录到当前工作目录沿途的指令文件。[1]
因此 Codex 更看重的是:“这个环境里有没有那个文件?”
2. ChatGPT 更接近“账号会记住”
OpenAI 官方帮助说明,自定义指令会立即应用于所有聊天,并可在网页、桌面端、iOS 和 Android 使用。[2]
记忆功能在 ChatGPT 的个性化设置中管理,可从聊天、文件和已连接应用中延续有用上下文,减少反复说明。[3]
官方的多账号切换说明也明确表示,不同账号的聊天、记忆、历史记录、账单、工作区和设置彼此分离。[4]
所以对 ChatGPT 来说,“个性化跟着账号走”是一个很好用的理解。
但这不代表所有外观、通知、系统权限等设备设置都会完全相同。
3. Codex 的 AGENTS.md 是现场作业标准,不是个人资料
可以把 AGENTS.md 想象成贴在车间墙上的操作说明。
如果 PC A 有:
~/.codex/AGENTS.md
- 完成前运行测试
- 不删除无关的已有修改
- 不要 force push
除非你通过其他方式同步,否则这些文字就在 PC A 的文件系统里。
在 PC B 登录相同 OpenAI 账号,并不会让 PC A 的 ~/.codex 凭空出现。
账号回答“谁在使用”。
本地文件回答“这个环境里该怎么工作”。
4. 项目 AGENTS.md 可以靠 Git 跨电脑移动
如果把项目的 AGENTS.md 提交到 Git,它就会成为项目历史的一部分。
Git 中的项目
└── project/
├── AGENTS.md
├── src/
└── docs/
↓ clone / pull
PC A PC B
└── project/ └── project/
└── AGENTS.md └── AGENTS.md
这不是 OpenAI 账号在同步。
只是 Git 正常地运送受版本管理的文件。
构建方法、测试方法、编码规范、禁止操作和审查条件都可以与代码一起走。
工厂搬家时,操作手册终于不用留在旧厂房。
5. Codex 会叠加通用规则与更具体的项目规则
OpenAI 的技术说明显示,Codex 会从多个位置汇总用户指令。它包含 $CODEX_HOME 中的 AGENTS.override.md 与 AGENTS.md,然后从 Git 或项目根目录一路查看到当前工作目录。项目文档默认还有 32 KiB 的上限。[1]
因此可以这样分层:
~/.codex/AGENTS.md
所有项目的通用规则
project/AGENTS.md
此项目的规则
project/server/AGENTS.md
此区域的附加规则
比起把所有内容塞进一部巨大 Markdown 宪法,这种方式更容易维护。
6. 多台 PC 都放副本很合理,但正本只能有一个
Git: codex-config/global-AGENTS.md ← 通用规则正本
│
┌─────┴─────┐
↓ ↓
PC A ~/.codex/AGENTS.md PC B ~/.codex/AGENTS.md
Git: project/AGENTS.md ← 项目规则正本
↓ clone/pull ↓ clone/pull
PC A project/AGENTS.md PC B project/AGENTS.md
一台电脑坏了,其他副本和 Git 历史仍然存在。换新电脑时也可以重建环境。
但不要让每台电脑的副本都独立编辑、独立宣称自己是正本。
PC A = v18
PC B = v16 + 神秘补丁
PC C = v11 “这个是不是最新?”
这不是冗余,这是数字考古。
7. 同步不等于备份
三个地方都有同一文件,并不自动等于优秀备份。
如果误删文件后,同步工具马上把删除动作传到所有电脑,你只是做出了“高可用删除”。
真正稳的结构至少要有:
- 清楚唯一的正本;
- 其他设备可使用的副本;
- 能回到错误修改之前的版本历史。
文本配置很适合用 Git 管理版本。
但 API 令牌、私钥、Cookie、密码、个人信息不要一起提交。
为了备份规则,顺手把秘密送去环球旅行,一点也不好笑。
8. 什么东西放在哪里
| 内容 | 建议位置 | 原因 |
|---|---|---|
| ChatGPT 长期回答偏好 | 自定义指令 | 适合账号级个性化 |
| 希望跨聊天延续的上下文 | 记忆 | 适合 ChatGPT 持续使用上下文 |
| 所有本地 Codex 项目都应遵守的原则 | $CODEX_HOME/AGENTS.md |
适合较广的本地作用范围 |
| Codex 本地行为设置 | ~/.codex/config.toml |
Codex 会把它作为设置来源 |
| 单个项目的构建、测试、安全规则 | repo/AGENTS.md |
可与项目一起进行版本管理 |
| 特定子目录的附加规则 | repo/subdir/AGENTS.md |
提供更具体的现场上下文 |
| 通用 Codex 规则的可恢复正本 | 不含秘密的 Git 管理位置 | 方便多机管理版本 |
没有必要把 ChatGPT 的所有偏好复制进 Codex,也没必要把整个项目操作手册塞进 ChatGPT 的记忆功能。
它们负责不同层次的问题。
9. 常见翻车方式
换新电脑后 Codex 突然变了。 先检查旧电脑的 AGENTS.md 与 config.toml 是否真的迁移。可能不是模型变了,而是操作手册没搬家。
同一项目在不同 PC 上行为不同。 如果项目规则在每台电脑上手工维护,内容迟早会漂移。适合的规则应放回 Git。
三台 PC 分别修改通用 AGENTS.md。 很快会出现三个“最新版”。这不是三个备份,是三个政党。
为了方便恢复,把令牌也放 Git。 不要。这不是便利功能,是安全事故片头。
10. 最清楚的最终结构:账号层、电脑层、Git 层
[ChatGPT 账号层]
自定义指令 / 记忆
↓
网页 / 桌面端 / 移动端
[Codex 电脑层]
PC A ~/.codex/AGENTS.md + config.toml
PC B ~/.codex/AGENTS.md + config.toml
↑
需要时从安全正本同步
[项目 Git 层]
project/AGENTS.md
↓ clone / pull
PC A / PC B / 支持的执行环境
最终答案很简单。
ChatGPT 适合用“账号会记住”来理解;本地 Codex Markdown 则应理解为“这台电脑必须真的有文件”;项目 AGENTS.md 可以通过 Git 跟着项目跨设备移动。
多台 PC 保留副本可以提高抗故障能力,但一定要配合唯一、受版本管理的正本。
AGENTS.md 不会瞬移。
给它一张 Git 的车票就行。
官方资料
资料来源
- OpenAI, “Unrolling the Codex agent loop openai.com
- OpenAI Help Center, “ChatGPT Custom Instructions help.openai.com
- OpenAI Help Center, “Memory FAQ help.openai.com
- OpenAI Help Center, “Use multiple accounts with account switching help.openai.com
