iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
ChatGPT & Codex

把 ChatGPT & Codex 當成隊友:30 天從 Idea 到 Production系列 第 6

Day 6|README、AGENTS.md 與規則:先教 AI 怎麼跟我合作

  • 分享至 

  • xImage
  •  

前五天把需求和架構說清楚了,現在要把共識放進 Repository。只留在聊天紀錄裡的決策,下一次開新任務時很容易消失;寫成文件,才有機會讓人和 Codex 在同一個起點工作。今天的目標是做一份能用的 README,以及一份短到願意維護的 AGENTS.md。

README 回答「這個專案怎麼跑」

README 的讀者是第一次接觸專案的人。開頭說明任務追蹤 App 的使用情境與 MVP 範圍,接著列出前置工具、安裝與啟動步驟、環境變數範例、測試指令、主要目錄,以及目前尚未完成的功能。每條指令都應在乾淨環境中照順序執行過,再寫成確定可用的步驟。

我會把「預定技術」和「已實作」分開。Day 5 暫選 Next.js、TypeScript 與 PostgreSQL,但如果 Repository 尚未建立,README 不能假裝安裝指令或資料庫連線已通過驗證。實作後再補上真實指令、版本與輸出,並在修改啟動方式時同步更新文件。

AGENTS.md 回答「修改時要守什麼規則」

AGENTS.md 不需要把整本開發手冊再抄一次。第一版只放會直接影響代理行為的規則:先閱讀相關程式與測試;修改範圍限於任務需要;不要寫入或回報憑證;對不存在的指令與檔案不要猜;完成時列出修改、驗證結果與尚未解決的限制。涉及資料刪除或部署的動作,先把影響與回復方式講清楚。

這些規則不能互相打架。例如一邊要求「每次都跑完整測試」,一邊又要求「小修只做最快檢查」,代理很難知道優先順序。我會寫成:「先跑與改動最相關的檢查;若變動跨模組或涉及資料層,再擴大驗證;無法執行時說明原因。」規則要能幫助決策,而不是增加儀式。

用一個反例測試文件是否有效

假設下一個任務是修正新增任務表單,而代理看完 README 後仍找不到測試入口,只好問「我要跑哪個指令?」這表示文件並沒有完成它的工作。另一個反例是 AGENTS.md 寫了「不要改不相關檔案」,卻沒有說如何回報原本就存在的失敗測試;代理可能為了讓輸出好看,順手修了範圍外的問題。規則應要求把既有失敗列出,交由任務擁有人決定是否擴大範圍。

第一版 AGENTS.md 可以控制在幾個短段落:專案入口、修改邊界、驗證、回報格式、敏感資料處理。只有遇到重複失誤時才增加規則,並附上它要防止的情境。若一條規則需要長篇解釋,通常代表它應該放進一般文件,或拆成更清楚的任務驗收條件。

今天的 Prompt 與驗收

交給 Codex 的任務描述可以是:「先只讀目前 Repository,列出 README 和 AGENTS.md 已有內容、與 Day 4 PRD/Day 5 架構不一致的地方。提出最小修訂清單;不要先改程式。修訂後請指出每一條新增規則要避免哪種具體錯誤,並確認文件中的指令實際可執行。」

驗收不是文件字數,而是讓新任務能少問重複問題。我會用 Day 7 的第一個小功能回頭檢查:Codex 是否找到正確入口、是否照文件跑檢查、是否仍需要我重述相同限制。若某條規則從未派上用場,或造成誤解,就刪掉或改寫。
https://ithelp.ithome.com.tw/upload/images/20260914/20184195SqEoWEMHOF.png

今天的結果與限制

目前形成的是兩份文件的內容規格與可驗收標準,尚未在真實 Repository 寫入或跑通,因此不能宣稱環境已可重現。這個限制會延續到後續文章的實測欄位,直到實際專案建立並留存證據。

今天學到什麼?

好的協作規則不是替 AI 預先寫出所有答案,而是讓它知道去哪裡查、什麼能改、怎麼證明改對。明天會用第一個小功能檢驗這些文件是否真的有幫助。


上一篇
Day 5|讓 ChatGPT 幫我設計系統架構
下一篇
Day 7|第一個任務:把一個小 Feature 完整交給 Codex
系列文
把 ChatGPT & Codex 當成隊友:30 天從 Idea 到 Production9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
lin1015
iT邦新手 5 級 ‧ 2026-09-20 12:18:30

你把 README 的「怎麼跑」和 AGENTS.md 的「修改時守什麼」分開,還要求規則對應具體失誤,比較不會長成口號牆。實作後會考慮用 CI 驗證 README 指令,或偵測啟動方式改了但文件沒更新嗎?

Steven iT邦新手 5 級 ‧ 2026-09-21 23:57:52 檢舉

會,而且我會分成兩個層次做,但不會一開始就把 CI 做得太重。
第一層是直接驗證 README 的指令。像安裝、建置、測試這類非互動指令,CI 可以照著實際執行;最好再把指令集中到 package.json、Makefile 或專案腳本,README 只引用同一個入口,避免文件與 CI 各維護一份。
第二層是偵測「程式改了、文件沒跟著改」。例如 PR 修改了啟動腳本、環境變數範例、連接埠或部署設定,CI 可檢查是否也更新 README、.env.example 等文件。不過這類檢查先做成提醒會比較合適,因為不是每次程式變更都需要改文件,直接擋合併容易產生誤判。
我的原則會是:

  • 能由機器證明的,例如指令能不能跑、設定檔是否存在,就讓 CI 強制驗證。
  • 需要判斷語意的,例如操作流程是否已改變,就提醒作者與 reviewer 確認。
  • 同一項資訊盡量只有一個來源,README 負責入口與說明,實際參數由可執行腳本或設定檔提供。
    這樣 README 不只是說明文字,而會逐漸變成可驗證的操作契約;AGENTS.md 則繼續專注在修改規則,不必承擔啟動文件同步的責任。

我要留言

立即登入留言