自定義
通過指令、AGENTS.md、技能和 MCP 等能力,把 OpenAI Codex 調整成更貼合團隊的協作方式。
自定義,就是讓 Codex 按照你的團隊工作方式來協作。
在 Codex 中,自定義主要來自幾層可以互相配合的能力:
- 專案指導(
AGENTS.md):用於持久化說明 - Memories:用於保留從過往工作中學到的有用上下文
- 技能:用於可複用工作流程和領域知識
- MCP:用於存取外部工具和共享系統
- 子智能體:用於把任務委派給專門化子智能體
這些能力彼此互補,而不是互相替代。AGENTS.md 負責塑造行為,Memories 負責延續本機上下文,技能負責封裝可重複使用的流程,MCP 則負責把 Codex 連線到本機工作區之外的系統。
AGENTS 指導
AGENTS.md 為 Codex 提供可持續的專案指導。它會隨著儲存庫一起攜帶,並在智能體開始工作前生效。保持精簡。
把它用於那些你希望 Codex 在儲存庫中每次都遵守的規則,例如:
- 建置和測試命令
- 程式碼審查期望
- 儲存庫特有約定
- 目錄級說明
當智能體對你的程式碼庫做出錯誤假設時,把修正寫進 AGENTS.md,並要求智能體順手更新 AGENTS.md,讓這個修正可以在後續會話中持續生效。把它當成一個回饋迴路。
什麼時候該更新 AGENTS.md
- 重複犯錯:如果智能體反覆犯同一個錯誤,就把規則補進去。
- 讀了太多不必要的內容:如果它能找到正確檔案,但讀了太多文件,就補充路徑引導,說明優先看哪些目錄或檔案。
- 反覆出現的 PR 回饋:如果你多次留下同樣的回饋,就把它固化下來。
- 在 GitHub 中:在 PR 評論裡可以直接
@codex並提出請求,例如@codex add this to AGENTS.md,把更新委派給雲端聊天。 - 自動檢查漂移:使用定時任務定期執行檢查(例如每天一次),發現指導缺口並建議補充到
AGENTS.md。
讓 AGENTS.md 與真正能強制執行規則的基礎設施配合起來:pre-commit hooks、linters 和 type checkers 可以在你看到問題之前就把它攔住,讓系統越來越擅長避免重複犯錯。
Codex 可以從多個位置載入指導:例如位於 Codex 主目錄中的全域檔案(面向你個人)和儲存庫內可提交的儲存庫級檔案(面向團隊)。距離當前工作目錄越近的檔案優先順序越高。用全域檔案來塑造 Codex 如何與你溝通,例如審查風格、表達詳略和預設值;把儲存庫檔案聚焦在團隊規則和程式碼庫規則上。
-
~/.codex/
-
AGENTS.md 面向你個人的全域指導
-
-
repo-root/
-
AGENTS.md 面向團隊的儲存庫指導
-
技能
技能為可重複工作流程提供可複用能力。對於重複性工作流程,技能往往是最佳選擇,因為它們既可以承載更豐富的說明、指令碼和參考資料,又能在不同任務間複用。技能會被智能體載入並可見,至少它們的後設資料可見,因此 Codex 既可以顯式呼叫它們,也可以隱式發現並選擇它們。這樣做可以在不提前膨脹上下文的前提下,讓複雜工作流程保持可用。
使用技能目錄在本機編寫和迭代工作流程。如果某個工作流程已經有 plugin,優先安裝它,複用成熟方案。當你希望把自己的工作流程分發給團隊,或與連接器一起打包時,再把它封裝成 plugin。技能仍然是創作格式;plugin 則是可安裝的分發單元。
一個技能通常由 SKILL.md 加上可選的指令碼、參考資料和資原始檔構成。
-
my-skill/
-
SKILL.md 必需:說明和後設資料
-
scripts/ 可選:可執行程式碼
-
references/ 可選:文件
-
assets/ 可選:模板和資源
-
技能目錄可以包含一個 scripts/ 資料夾,裡面放 CLI 指令碼,Codex 會在工作流程中呼叫這些指令碼,例如植入測試資料或執行校驗。當工作流程還需要外部系統,例如問題跟蹤器、設計工具或文件服務時,可以再配合 MCP 使用。
範例 SKILL.md:
---
name: commit
description: Stage and commit changes in semantic groups. Use when the user wants to commit, organize commits, or clean up a branch before pushing.
---
1. Do not run `git add .`. Stage files in logical groups by purpose.
2. Group into separate commits: feat → test → docs → refactor → chore.
3. Write concise commit messages that match the change scope.
4. Keep each commit focused and reviewable.技能適合用在以下場景:
- 可重複工作流程,例如釋出步驟、審查例程、文件更新
- 團隊特有的專業知識
- 需要範例、參考資料或輔助指令碼的流程
技能可以是全域的,也可以是儲存庫級的:
| 層級 | 全域 | 儲存庫 |
|---|---|---|
| AGENTS | ~/.codex/AGENTS.md |
儲存庫根目錄或巢狀目錄中的 AGENTS.md |
| 技能 | ~/.agents/skills |
儲存庫內的 .agents/skills |
如果某個工作流程只適用於這個專案,就把技能放在 .agents/skills;如果你想在所有儲存庫裡都能使用它,就放在使用者目錄裡。
Codex 對技能採用漸進展開的方式:
- 它先讀取後設資料,例如
name和description,用於發現技能 - 只有當技能被選中時,才會載入
SKILL.md - 只有在需要時,才會讀取參考資料或執行指令碼
技能可以被顯式呼叫,Codex 也可以在任務與技能描述匹配時隱式選擇它們。清晰的技能描述能顯著提升觸發的可靠性。
模型上下文協議(MCP)
MCP(Model Context Protocol)是把 Codex 連線到外部工具和上下文提供者的標準方式。它特別適合遠端託管的系統,例如 Figma、Linear、GitHub,或你的團隊依賴的內部知識服務。
當 Codex 需要本機儲存庫之外的能力時,就使用 MCP,例如 issue tracker、設計工具、瀏覽器,或共享文件系統。
可以這樣理解它:
- Host:Codex
- Client:Codex 內部的 MCP 連線
- Server:外部工具或上下文提供者
MCP server 可以暴露:
- 工具(Tools)
- 資源(Resources)
- 提示詞(Prompts)
這種分層有助於你思考信任邊界與能力邊界。有些服務端主要提供上下文,有些則暴露更強的執行能力。
在實際工作流程裡,MCP 往往和技能搭配時價值最高:
- 技能定義工作流程,並指明要使用哪些 MCP 工具
子智能體
你可以建立職責不同的智能體,並讓它們以不同方式使用工具。例如,一個智能體專門執行測試命令和設定,另一個智能體則掛載能夠抓取生產日誌的 MCP server 來除錯。每個子智能體都能保持聚焦,並使用適合自己工作的工具。
技能與 MCP 結合使用
技能和 MCP 結合起來時,工作流程能力才真正完整:技能定義可複用的方法,MCP 把它們連線到外部工具和系統。如果某個技能依賴 MCP,請在 agents/openai.yaml 中宣告這個依賴,讓 Codex 能自動安裝並完成接線(見建置技能)。
下一步
按這個順序建置:
- 使用 AGENTS.md 編寫自定義說明,讓 Codex 遵守你的儲存庫約定,並配上 pre-commit hooks 和 linters 來強制執行這些規則。
- 如果已有可複用工作流程,優先安裝 plugin。否則就建立技能,在你需要分享時再把它打包成 plugin。
- 當工作流程需要外部系統(例如 Linear、GitHub、文件服務、設計工具)時,接入 MCP。
- 當你已經準備好把高噪聲或高度專門化的工作委派出去時,再引入子智能體。
來源:</zh-TW/docs/customization/overview> 更新時間:2026-07-10(UTC)