昨天透過 ChatGPT 的需求訪談,整理出了 Issue Tracker 的第一版 PRD。
有了 PRD,是不是就可以把整份文件交給 AI,請它一次完成整個網站?
當然可以這樣做,但這次的需求包含新增、編輯、刪除、搜尋、篩選、排序、手動拖曳和資料保存。如果一次全部實作,最後可能會得到大量修改,很難確認哪個需求在哪裡完成,也很難找出錯誤是在哪一步加入的。
所以今天仍然不開始寫程式,而是先把 PRD 拆成一組範圍較小、可以逐一驗證的任務。
大型任務最直接的問題是修改範圍太大。
如果 AI 一次建立整個 Issue Tracker,可能同時產生:
即使最後網站可以執行,也很難 Review。
例如搜尋結果不正確,原因可能在搜尋函式、畫面狀態、資料模型,或是篩選和排序同時作用時的處理方式。所有功能一起出現時,問題很難被隔離。
如果改成一次完成一個小任務,每一步都能先確認:
Day 1 原本預計使用 Node.js 和 SQLite,但昨天訪談後,PRD 已經確定第一版只把資料保存在瀏覽器,不需要帳號、雲端儲存或跨裝置同步。
這代表任務不能再按照最初構想拆解。如果仍然安排後端 API 和資料庫,只是在實作已經被需求排除的功能。
這次拆解會以昨天產生的迷你 PRD為準。
我把 PRD 提供給 ChatGPT,並使用以下 Prompt:
目標:
根據我提供的 Issue Tracker PRD,把第一版產品拆成適合逐一實作、驗證與 Review 的開發任務。
背景:
- 目前還沒有建立 repository 或程式碼
- 第一版是只在瀏覽器保存資料的前端應用程式
- 後續會讓 Codex 逐項實作
- 下方附上完整 PRD
限制:
- 只拆解與排序任務,不要建立專案或產生程式碼
- 不要加入 PRD 沒有要求的功能
- PRD 中的待確認問題不得自行決定
- 不要假設尚未存在的檔案路徑
- 每個任務應能獨立 Review,並盡量產生可操作的垂直成果
驗收條件:
- PRD 中每項第一版需求都能對應到至少一個任務
- 標出任務之間的依賴關係
- 每個任務都有明確範圍、驗收條件與不做事項
- 將會阻擋實作的待確認問題另外列出
- 最後檢查是否有需求遺漏或重複
輸出格式:
先列出阻擋實作的待確認問題,再按照建議順序列出任務。
每個任務包含:目的、依賴、範圍、驗收條件與不做事項。
最後提供一張「PRD 需求 -> 任務」對照表。
這段 Prompt 沒有要求 AI 直接產生 GitHub Issues,因為目前還沒有 repository,而且 PRD 裡仍有一些會影響實作的待確認問題。
今天把一份完整 PRD 拆成了有順序、有依賴,也有完成條件的小任務。?」