Mono
候補名單

如何為程式開發代理撰寫 AGENTS.md 檔案

撰寫一份簡短的 AGENTS.md,列出安裝與測試指令、規則和界線,讓 Claude Code 和 Gemini CLI 載入它,再用小任務測試。

AGENTS.md 是放在儲存庫根目錄的純 Markdown 檔案,告訴程式開發代理該如何處理這個專案:要執行哪些指令、程式碼放在哪裡,以及哪些東西不要動。它沒有必填的章節。保持簡短,讓每條規則都能檢查,並確認每個代理都有載入它。

本文說明該寫些什麼、提供一份範本,並介紹 Claude Code 和 Gemini CLI 如何找到這個檔案,最後附上一個快速測試。當你用 Reunified 的 Mono 從手機啟動代理時,步驟也一樣。

1. 決定檔案裡該放什麼

agents.md 網站把它稱為給代理看的 README。放入每個工作階段都需要的資訊,代理能從程式碼中得知的內容就省略。

寫進 AGENTS.md 不要寫進去
安裝、測試與 lint 指令 密碼、API 金鑰與權杖
主要程式碼的位置 完整的檔案樹或相依套件清單
與預設不同的慣例 冗長的流程(改為連結到文件)
絕不能編輯的檔案、需要先詢問的動作 個人偏好(改用代理的使用者層級檔案)

在 monorepo 中,你可以在每個套件裡各放一份 AGENTS.md。距離最近的檔案優先,而你在對話中直接下的指示又會優先於它。

2. 從簡短的範本開始

以下是虛構的「tidy-recipes」範例,這是一個使用 pnpm 的 TypeScript 網頁應用程式:

markdown
# AGENTS.md

## Overview
TypeScript web app for saving recipes. Components live in src/components.

## Setup
- `pnpm install`

## Test and lint
- `pnpm test` and `pnpm lint`

## Code style
- TypeScript only. One component per file.

## Boundaries
- Never edit db/migrations/.
- Ask before adding a dependency.

## Before you finish
- Run `pnpm test` and `pnpm lint`.
- List the files you changed and the test results.

只列出你在這個儲存庫中實際執行過的指令。指令寫錯了,代理也會照單全收。

3. 寫出代理能檢查的規則

好的規則能讓你事後檢查代理有沒有遵守。

模糊 具體
測試你的變更 完成前執行 pnpm test 和 pnpm lint
讓檔案保持有條理 元件放在 src/components
小心處理資料庫 絕不編輯 db/migrations/
總結你的工作 列出修改過的檔案和測試結果

把界線寫成「絕不」和「先詢問」的規則,一行一條。

4. 讓 Claude Code 和 Gemini CLI 讀取它

agents.md 網站列出了支援這個格式的 Codex、Gemini CLI、opencode 和其他代理,但有些需要先調整設定。

在預設情況下,較新版本的 Claude Code 只有在工作目錄或其上層目錄中沒有 CLAUDE.md、.claude/CLAUDE.md 或 CLAUDE.local.md 時,才會讀取 AGENTS.md(參見 Claude Code 的記憶功能文件)。如果你有其中一個檔案,或使用的是較舊的版本,就從 CLAUDE.md 匯入 AGENTS.md。tidy-recipes 專案有一份舊的 CLAUDE.md,所以在檔案最上方加入這一行,並把只給 Claude 看的說明留在下方:

markdown
@AGENTS.md

Prefer small commits.

開始新的工作階段,執行 /context,確認 CLAUDE.md 出現在 Memory files 底下。如果沒有 CLAUDE.md,/memory 會改為列出 AGENTS.md 的路徑。

Gemini CLI 預設讀取 GEMINI.md。若要加入 AGENTS.md,把以下內容放進專案的 .gemini/settings.json(參見 Gemini CLI 的 GEMINI.md 文件):

json
{
  "context": {
    "fileName": ["AGENTS.md", "GEMINI.md"]
  }
}

開始新的工作階段,再執行 /memory show 查看載入了哪些內容。其他代理請查看各自的文件。

5. 用小任務測試這個檔案

在新的工作階段中,給代理這項任務:

先列出你載入的專案規則,以及每條規則來自哪個檔案。然後把 src/components/SaveButton.tsx 中的按鈕文字「Save recipe」改成「Save」。其他什麼都不要改。

對照檔案檢查結果:

  • 它提到了 AGENTS.md(或含有匯入的 CLAUDE.md)。
  • 它執行了 pnpm test 和 pnpm lint,並回報結果。
  • 它沒有動 db/migrations/,也沒有新增相依套件。
  • 它列出了修改過的檔案。

自己用 git diff 確認修改內容(見審查 AI 程式碼變更)。如果代理說不出某條規則,檔案可能沒有載入,請回到第 4 步。如果它說出了規則卻沒有遵守,就把規則寫得更具體。

6. 保持簡短並隨時更新

Claude Code 的文件建議 CLAUDE.md 不要超過 200 行,因為檔案越長,占用的上下文越多,代理也越難確實遵守。AGENTS.md 也以同樣的長度為目標。上下文視窗指南說明了上下文填滿時會發生什麼事。

代理重複犯同樣的錯誤時就更新檔案,並刪除過時的指令和互相衝突的規則。把它提交到儲存庫,並像審查程式碼一樣審查對它的修改。

這個檔案只是引導代理,並不會強制執行任何事。若要阻止某個動作,請使用代理的權限設定,或拒絕它的要求(見工具權限指南)。

在 Mono 中,代理會在你電腦上專案的工作目錄中啟動,並在那裡尋找這些檔案。你可以在 Mono 的編輯器中開啟 AGENTS.md、CLAUDE.md 或 .gemini/settings.json,用手機也可以,編輯內容會自動儲存。若要建立這個檔案,可以請代理建立,或從專案卡片開啟終端機。Mono 不會檢查這個檔案,也不會改變代理載入哪一個檔案。Mono 還沒有正式推出,但你可以加入候補名單。

作者

Reunified 打造能把分散的東西重新聚在一起的 App。

繼續閱讀

所有文章

閱讀約需 6 分鐘

如何復原 AI 程式開發代理所做的變更

安全地復原 AI 程式開發代理的編輯:還原單一檔案、捨棄它留下的未提交變更,或反轉它的提交,同時不弄丟你自己的工作。

閱讀約需 5 分鐘

用「主張與來源」表查核 AI 回答

逐條核對重要事實與原始來源,區分推論和證據,處理日期衝突,並在採用 AI 回答前保留必要的不確定性。

即將推出

加入候補名單

留下你的電子郵件地址,Mono 可以下載時我們會通知你。

你會在哪裡使用 Mono?