---
title: "定製 Codex 行為"
description: "把 AGENTS.md、Memories、Skills、MCP 和 Subagents 放到同一張行為定製地圖裡。"
verifiedAt: "2026-05-06"
---

import { Cards, Card } from 'fumadocs-ui/components/card';

Customization 的目標，是讓 Codex 按你和團隊的工作方式執行。它不是多裝功能，而是把長期規則、重複流程、外部系統和角色分工放到正確層級。

> [!IMPORTANT]
> 行為定製先從 `AGENTS.md` 和驗證命令開始。不要在專案規則還不清楚時先堆 MCP、skills 和 subagents。

<Cards>
  <Card title="Customization" href="https://developers.openai.com/codex/concepts/customization">
    官方定製能力總覽。
  </Card>
  <Card title="AGENTS.md" href="/zh-Hant/docs/codex/understanding/agents-md-guide">
    長期專案規則應該先寫進 `AGENTS.md`。
  </Card>
  <Card title="Skills and MCP" href="/zh-Hant/docs/codex/understanding/skills-subagents-hooks">
    區分可複用流程、外部工具和角色分工。
  </Card>
</Cards>

## 五層地圖

```mermaid
flowchart LR
    Agents["AGENTS.md"] --> Behavior["Codex behavior"]
    Memories["Memories"] --> Behavior
    Skills["Skills"] --> Behavior
    MCP["MCP"] --> Behavior
    Subagents["Subagents"] --> Behavior
```

這幾層互補，不競爭：

- `AGENTS.md`：持久專案指導。
- Memories：從過去工作中延續有用上下文。
- Skills：可複用 workflow 和 domain expertise。
- MCP：連線外部工具和 shared systems。
- Subagents：把工作委派給 specialized agents。

先問“這個需求應該放哪層”，再動配置。

## AGENTS.md：穩定規則

`AGENTS.md` 給 Codex 提供 durable project guidance，會在 agent 開始工作前生效。它適合寫：

- build and test commands。
- review expectations。
- repo-specific conventions。
- directory-specific instructions。
- 受保護路徑。
- 文件和測試同步規則。

當 agent 對 codebase 做出錯誤假設時，把正確規則補進 `AGENTS.md`。這應該是反饋迴圈，不是一次性文件工程。

更新原則：

- 從真正重要的 instructions 開始。
- 把反覆出現的 review feedback codify。
- 把 guidance 放到離適用目錄最近的位置。
- 全域性檔案塑造個人工作習慣，repo 檔案聚焦團隊和 codebase rules。

`AGENTS.md` 應該和 pre-commit hooks、linters、type checkers 配合。規則只靠模型遵守不夠，能自動驗證的就交給工具。

## Skills：重複流程

Skills 適合封裝重複 workflows。它們通常比單純寫進 prompt 更適合複用，因為 skill 可以包含 instructions、scripts、references 和 assets。

常見結構：

```text
my-skill/
  SKILL.md
  scripts/
  references/
  assets/
```

適合做 skill 的情況：

- release steps。
- review routines。
- docs updates。
- migration checklist。
- 需要 examples、references 或 helper scripts 的流程。

不要把還沒跑穩的想法直接做成 skill。先用普通 prompt 跑通，重複出現後再沉澱。

## MCP：外部系統

MCP 是把 Codex 連線到 external tools 和 context providers 的方式。它適合：

- issue trackers。
- design tools。
- browsers。
- shared documentation systems。
- internal knowledge services。

MCP server 可以暴露 tools、resources 和 prompts。區別要清楚：

- context 型 MCP 主要提供資訊。
- action 型 MCP 可能改外部系統。
- 帶寫許可權的 MCP 必須考慮審批、日誌和回復。

實踐中，MCP 和 skills 搭配最有價值：skill 定義 workflow，並說明什麼時候呼叫哪些 MCP tools。

## Memories：延續上下文

Memories 適合儲存跨任務仍然有價值的偏好、專案習慣和歷史經驗。

不要把敏感資訊、臨時任務細節、過期路徑、一次性結論寫進 memory。Memory 是長期注入上下文，錯誤內容會持續影響後續任務。

## Subagents：角色分工

Subagents 適合把 noisy 或 specialized tasks 拆出去。例如：

- 一個 agent 專門跑測試和復現。
- 一個 agent 專門審查 diff。
- 一個 agent 專門查詢日誌或外部系統。

不要把 subagent 當成“更多模型就更強”。角色、輸入、輸出、許可權和驗收要寫清，否則只是把混亂並行化。

## 建設順序

推薦順序：

1. 寫清 `AGENTS.md`，讓 Codex 遵守 repo conventions。
2. 用 lint、type check、test、pre-commit 強制可驗證規則。
3. 重複流程跑穩後建立 skill。
4. 需要外部系統時接 MCP。
5. 準備好角色邊界後再用 subagents。
6. 需要分發給團隊時，把 skill 和配置打包成 plugin。

## 常見坑

- 專案規則沒寫清，卻先裝很多 MCP。
- 把一次性 prompt 做成 skill。
- 把個人偏好寫進團隊 repo `AGENTS.md`。
- 把 action 型 MCP 當成只讀上下文。
- subagent 職責重疊，最後沒人負責驗收。
- Memory 裡儲存敏感資訊或過期事實。

## 驗收清單

- 任何定製項都能說清屬於哪一層。
- `AGENTS.md` 小而具體，包含驗證方式。
- skill 有真實觸發詞、步驟和驗收。
- MCP 許可權和資料來源可審計。
- memory 不含 secret、token 或臨時結論。
- subagent 的輸入、輸出、許可權和複核人明確。

## 官方資料

- [Customization](https://developers.openai.com/codex/concepts/customization)
- [AGENTS.md](https://developers.openai.com/codex/guides/agents-md)
- [Skills](https://developers.openai.com/codex/skills)
- [MCP](https://developers.openai.com/codex/mcp)
- [Subagents](https://developers.openai.com/codex/subagents)
