繁體中文

自定義

通過指令、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 面向團隊的儲存庫指導

使用 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 對技能採用漸進展開的方式:

  • 它先讀取後設資料,例如 namedescription,用於發現技能
  • 只有當技能被選中時,才會載入 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 工具

Model Context Protocol

子智能體

你可以建立職責不同的智能體,並讓它們以不同方式使用工具。例如,一個智能體專門執行測試命令和設定,另一個智能體則掛載能夠抓取生產日誌的 MCP server 來除錯。每個子智能體都能保持聚焦,並使用適合自己工作的工具。

子智能體

技能與 MCP 結合使用

技能和 MCP 結合起來時,工作流程能力才真正完整:技能定義可複用的方法,MCP 把它們連線到外部工具和系統。如果某個技能依賴 MCP,請在 agents/openai.yaml 中宣告這個依賴,讓 Codex 能自動安裝並完成接線(見建置技能)。

下一步

按這個順序建置:

  1. 使用 AGENTS.md 編寫自定義說明,讓 Codex 遵守你的儲存庫約定,並配上 pre-commit hooks 和 linters 來強制執行這些規則。
  2. 如果已有可複用工作流程,優先安裝 plugin。否則就建立技能,在你需要分享時再把它打包成 plugin。
  3. 當工作流程需要外部系統(例如 Linear、GitHub、文件服務、設計工具)時,接入 MCP
  4. 當你已經準備好把高噪聲或高度專門化的工作委派出去時,再引入子智能體

來源:</zh-TW/docs/customization/overview> 更新時間:2026-07-10(UTC)