把 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 的副本都各自編輯、各自宣稱自己是正本。
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. 常見事故
換新 PC 後 Codex 突然不一樣。 先確認舊 PC 的 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
