#01 需求分析模組
Tech Python, Claude API, Anthropic SDK AI Claude Code, Claude Sonnet
源起
軟體開發的第一步是理解需求,但客戶給的通常是「我想做一個網站,有會員系統、購物車、後台管理」這種程度。缺細節、沒優先級、驗收標準模糊。想做一個模組讓 AI 自動把這些非結構化描述轉成標準化的需求文件。
設計
輸出定義為 9 個標準章節:專案概述、功能需求、非功能需求、技術約束、數據模型、API 端點、用戶故事、約束與假設、成功指標。結構參考 IEEE 830 和敏捷用戶故事的做法。
核心是 System Prompt 的設計(約 1500 tokens),包含角色定位、每個章節的格式要求、品質標準、輸出範例。其中一個關鍵設計是讓 AI 對自己補充的內容標註「(推斷)」,這樣開發者能清楚分辨哪些是客戶說的、哪些是 AI 猜的。
多用戶隔離用資料夾實現,每個 user_id 一個子目錄,檔名帶專案名稱和時間戳。每份需求文件旁邊附一個 .metadata.json,記錄 token 用量、輸入輸出長度等資訊,方便追蹤成本。
實現
模組本身不複雜——一個 RequirementAnalyzer class,接收需求文字、呼叫 Claude API、寫出 Markdown 檔案和 metadata。開發重點幾乎全在 prompt engineering 上。
Prompt 迭代了幾版才穩定。太簡略的話輸出格式不一致,太冗長又浪費 token。最後找到的平衡是:每個章節給一句格式說明加一個短範例,比純文字描述有效很多。
另外寫了一個互動式測試腳本,可以從 console 輸入或讀檔,方便快速驗證不同需求的輸出品質。
尾聲
| 項目 | 結果 |
|---|---|
| 處理時間 | 5-10 秒 |
| Token 用量 | 1000-3000 / 次 |
| 輸出格式 | 9 章節標準化 Markdown |
這是整個 AI 自動化 Coding 工具的第一個模組。需求文件生出來之後,下一步是接系統設計模組,讓 AI 基於需求文件產出實作設計。
返回 專案首頁