05 - AGENTS.md 與 config.toml
← 04-Sandbox與Approval權限模型 | 00-Index | 下一篇 → 06-非互動模式codex-exec
兩個檔案,兩件事
| 檔案 | 管什麼 | 格式 |
|---|---|---|
AGENTS.md | 告訴 Codex 怎麼做事(指示、慣例、規矩) | Markdown |
config.toml | Codex 自己的行為設定(模型、權限、MCP) | TOML |
對應到 Claude Code 就是 CLAUDE.md 和 settings.json。
AGENTS.md
位置與優先序
解析順序(後面的覆蓋前面的):
~/.codex/AGENTS.override.md← 最高優先的全域覆蓋 或~/.codex/AGENTS.md← 標準全域預設- Repository root 和各層子目錄——越靠近目前工作目錄,優先序越高
專案範圍的解析:Codex 從 repo root 往目前目錄走,每一層檢查 AGENTS.override.md,再 AGENTS.md,然後 fallback,最後把所有檔案合併,後面的覆蓋前面的。
檔案大小預設上限 32 KiB(可設定)。
📌 這個「override 檔」的設計 Claude Code 沒有——
AGENTS.override.md讓你可以在不改共享檔案的情況下覆蓋規則。
全域 ~/.codex/AGENTS.md(建議內容)
# 全域指示
## 語言
- 回覆用繁體中文,技術與醫學名詞保留英文
## 工作方式
- 動手前先簡短說明你要做什麼
- 做完列出改了哪些檔案、各改了什麼
- 範圍之外的東西不要順手改
## 硬規則
- **不要 git commit、不要 git push**,除非我明確要求
- 不確定的事情**明確說不確定**,不要猜
- 需要事實查證的內容(醫學、財務數字、引用),標記為「待查證」交給我,不要自己編🔴 最後那條對你至關重要。 Codex 沒有 PubMed MCP,你的 vault
CLAUDE.md§4 已經規定「沒有 PubMed 的環境不要猜 PMID → 明確告知待查證」。把這條寫進全域AGENTS.md,等於幫每個 Codex session 預設裝好這個護欄。
兩個 repo 的 AGENTS.md
⚠️ Obsidian-med-note 已經有 AGENTS.md——Codex 會讀它。確認內容適合。
⚠️ Taiwan_IM_board 目前只有 CLAUDE.md——Codex 讀不到。要讓它遵守那些規則,得建一份 AGENTS.md。
不用整份複製,挑 Codex 真的會碰到的:
# Taiwan_IM_board — Codex 工作規則
這是台灣內科專科醫師甄審考古題刷題網站(React 19 + Vite 7,純前端)。
## 最高原則
- **零錯誤優先**:醫療內容寧缺勿錯。題目 / 答案必須與來源逐字一致。
- **嚴禁杜撰**:不確定的數字、試驗、PMID 一律標「待查證」交給審核者,**不要編造**。
(你沒有文獻查證工具,查證是審核者的工作。)
- 詳解 `status` **一律 `draft`**,**永遠不可**自行改成 `reviewed`。
- 正解依「該考試年度當時的標準」判定。
## 資料格式
- 題庫:`src/data/questions.<年>.json`
- 詳解:`src/data/explanations.<年>.json`(以 id 為 key,與題庫解耦)
- 詳解固定五段式:`### 本題觀念 / ### 選項分析 / ### 答案解析 / ### 核心知識點 / ### 參考資料`
- 完整規範見 `docs/詳解撰寫規範.md`
## 驗證
改完題庫或索引後跑:
```bash
python3 tools/validate.py
python3 tools/build_index.py # 改題號或考點後硬規則
- 不要 git commit、不要 git push
- 不要修
.github/workflows/deploy.yml——它必定失敗是預期行為(private repo + 免費方案 Pages) - 禁止罐頭字句:「此選項常是相近疾病」「供後續醫師逐題校閱」「以下為 AI 起草」
---
## config.toml
位置:**`~/.codex/config.toml`**
### 常用鍵值
```toml
# ── 模型 ──────────────────────────────
model = "gpt-5.6-terra" # ⚠️ gpt-5.4 於 2026-08-31 退場
model_reasoning_effort = "high" # minimal / low / medium / high / xhigh(依模型而定)
# ── 權限(兩個獨立旋鈕)────────────────
approval_policy = "on-request" # untrusted / on-request / never
sandbox_mode = "workspace-write" # read-only / workspace-write / danger-full-access
[sandbox_workspace_write]
network_access = false # 沙箱內能不能連網
# writable_roots = ["/tmp/scratch"] # repo 之外還能寫哪些路徑
# ── 其他 ──────────────────────────────
web_search = "cached"
[features]
multi_agent = true
shell_tool = true
Profiles(一鍵切換安全等級)⭐
[profiles.paranoid]
approval_policy = "untrusted"
sandbox_mode = "read-only"
[profiles.ci]
approval_policy = "never"
sandbox_mode = "workspace-write"
[profiles.batch]
approval_policy = "never"
sandbox_mode = "workspace-write"
model_reasoning_effort = "medium" # 量產不需要最高思考力度codex --profile paranoid
codex --profile batch💡 Profile 是 Codex 比 Claude Code 好用的地方之一。 一行
--profile就切換整組安全設定,不用記一堆 flag。
MCP servers
config.toml 也是設定 MCP server 的地方。詳見 07-MCP與擴充。
設定的優先序
大致是(由低到高):
config.toml 的頂層預設
↓
--profile 選中的 profile 區塊
↓
命令列 flag(如 --full-auto、--sandbox)
⚠️ 確切的優先序規則以官方 configuration reference 為準。 本教學的鍵值與行為由公開資料交叉比對而來(官方站在本次撰寫環境無法直接抓取),實際請以
codex --help和你版本的官方文件驗證。
給你的建議設定(完整版)
~/.codex/config.toml:
model = "gpt-5.6-terra"
model_reasoning_effort = "medium"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
[sandbox_workspace_write]
network_access = false
# 盤點 / 稽核:物理上不能改檔
[profiles.audit]
approval_policy = "never"
sandbox_mode = "read-only"
# 量產:被 Herdr 編排時用
[profiles.worker]
approval_policy = "never"
sandbox_mode = "workspace-write"
model_reasoning_effort = "medium"
# 需要連網(裝相依、抓資料)
[profiles.net]
approval_policy = "on-request"
sandbox_mode = "workspace-write"
[profiles.net.sandbox_workspace_write]
network_access = true搭配 ~/.codex/AGENTS.md 的「不要 commit / 不要猜」,這組設定讓每個 Codex session 一開始就在正確的護欄裡。
🔗 相關筆記
- 04-Sandbox與Approval權限模型 — 上一步:兩個旋鈕的意思
- 06-非互動模式codex-exec — 下一步
- 08-實戰-被Claude指揮的雙手 — profile 在編排時怎麼用
- Claude Code CLI 06 — 對照:
CLAUDE.md與AGENTS.md的關係
最後更新:2026-08-04
