如何審查 AI 撰寫的規格:代理程式開發前的檢查表。

AI 代理程式一分鐘就能寫出自信又整齊的規格。這正是危險之處:就算錯了,讀起來也很順。這份檢查表告訴你,在叫代理程式動工之前該看什麼。

需要 macOS 14 或以上版本。閱讀免費;編輯與審閱為一次付費。

快速解答

審查 AI 撰寫的規格,就像審查 pull request:先確認它解決的是對的問題,再找缺漏。依序檢查範圍與非目標、邊界情況、資料與遷移、測試與回復,並在代理程式寫任何程式碼之前,對你想修改的每個段落留言。

- [ ] Scope matches what I asked for
- [ ] Non-goals are listed
- [ ] Edge cases and errors are covered
- [ ] Data and migrations are explicit
- [ ] Tests prove each requirement
- [ ] There is a rollback

·

為什麼 AI 規格需要不同的審查

人在起草規格時,往往會在不確定的地方留下空白。模型則會為所有內容寫出流暢的文字,包括它猜測的部分。因此弱規格的一般徵兆,如含糊的措辭與明顯的漏洞,都不見了,問題藏在自信的句子裡。請審查好作者本來會去問的事情。

檢查表

  1. 範圍:它解決的是你要求的事嗎?

    把第一段與你的請求對照。找找是否解決了不同的問題,以及沒有人要求的功能。

  2. 非目標:它不會做什麼?

    沒有非目標的規格沒有邊界。把你不想要的額外功能補上。

  3. 假設:它猜了什麼?

    留意「大概」、「可能」,以及任何把它可能沒讀過的程式碼或資料當作事實的陳述。請它列出引用的檔案。

  4. 邊界情況:出錯時會怎樣?

    空輸入、極大輸入、沒有權限、沒有網路、兩位使用者同時操作、同一個動作做兩次。

  5. 資料:儲存、變更或刪除了什麼?

    欄位、格式、誰能讀取,以及既有的紀錄會怎麼樣。

  6. 遷移:舊資料如何移轉?

    結構的變更需要步驟順序、中途失敗的因應計畫,以及可以安全執行兩次的方法。

  7. 介面:還動到什麼?

    API、畫面、排程工作、其他團隊的程式碼。規格有改動卻沒有列出的東西,之後都會變成意外。

  8. 安全與隱私:誰能做什麼?

    新的權限、離開系統的新資料、記錄中的機密。

  9. 測試:如何知道它能運作?

    每項需求都應對應一個檢查。如果某項需求無法測試,就改寫它。

  10. 上線與回復:如何撤銷?

    一個旗標、分階段上線、一條退路。「我們之後再往前修」不是計畫。

  11. 未解決的問題:誰來決定?

    誠實的規格會列出它不知道的事。如果一個都沒有,就要懷疑。

有效的留言

含糊的意見只會得到含糊的改寫。好的審查留言會指向一個段落,說明哪裡有問題,以及你想要什麼:

> The export runs when the user taps Export.

Missing: what happens with a 2 GB file? Add a limit (R4) and an
error message, and say whether the export can be cancelled.

把留言和規格文字分開,讓檔案保持乾淨,並集中處理:先把整份規格讀完一遍再留言,這樣代理程式只需改寫一次,而不是十次。

審查循環

  1. 先從頭讀到尾

    留言之前,先確認你理解整份計畫。

  2. 在確切的段落上留言

    每則留言只談一個問題。

  3. 讓代理程式修訂

    它會處理每則留言並產生新版本。

  4. 檢查改了什麼,而不是整份文件

    閱讀差異。修正可能弄壞原本沒問題的部分。

  5. 檢查表全部通過才核准

    接著讓它依據編號需求開發。

當一個代理程式審查另一個代理程式的規格時,同一份檢查表也適用。請審查者以規格中的引文回答每一項。

在 DotMD 中進行

這一切都可以直接在頁面上完成。在 DotMD 中,你選取段落並寫下留言;留言保存在 DotMD 中,不在檔案裡。代理程式修正之後會重新送出文件,而審查變更會把舊文字顯示為紅色、新文字顯示為綠色,讓你逐一接受。設定方式請見審查 AI 規格。閱讀免費;審查請見價格。

常見錯誤

  • 只審查風格,不審查實質。整齊的規格仍然可能是錯的。
  • 因為很長就核准。長度不等於涵蓋範圍。
  • 略過非目標與回復,這是模型最常寫得單薄的兩個區段。
  • 修改程式碼而不是規格。如果計畫有誤,先修正計畫。
  • 沒有再看一遍。代理程式修訂之後,請檢查差異。

關於審查 AI 撰寫規格的常見問題

如何審查 AI 撰寫的規格?

先確認它解決的是對的問題,再找缺漏:非目標、邊界情況、資料與遷移、測試與回復。對每個段落留言,並在它寫程式碼之前讓代理程式修訂。

規格審查檢查表應該包含什麼?

範圍、非目標、假設、邊界情況、資料、遷移、介面、安全、測試、上線與回復,以及未解決的問題。

一個 AI 代理程式可以審查另一個代理程式的規格嗎?

可以。把檢查表交給審查者,請它以規格中的引文回答每一項。要接受什麼,仍然由你決定。

為什麼不直接讀程式碼?

到那時決定都已經做了,要改的代價很高。錯誤的假設,在規格階段修正最便宜。

更多問題