OpenSpec 是什麼?
一、OpenSpec 是什麼? **OpenSpec(Open Specification)**是一種「開放式規格定義方式」,它的核心理念是: 用標準化、可解析的方式描述系統規格,讓人與機器都能理解。 簡單說: 傳統規格:Word、Excel、Confluence 文件 OpenSpec:結構化格式(通常是 JSON / YAML / Markdown 結構化標記) OpenSpec 的精神其實與 API 規格文件類似,例如: OpenAPI Swagger 但 OpenSpec 的應用範圍更廣,可能包含: 系統需求規格 流程定義 UI 行為描述 商業邏輯規則 AI Agent 可執行規格 二、OpenSpec 想解決什麼問題? 在實務專案中,你(尤其身為工程師)可能很有感: 1️⃣ 規格模糊 PM 寫的規格: 「使用者可以新增資料」 「需要支援多筆操作」 「錯誤時顯示提示」 但: 什麼錯誤? 允許空值嗎? 交易要不要 rollback? 有沒有版本控管? 常常變成工程師要自己補邏輯(你應該超有感 😅)。 2️⃣ 規格無法機器理解 傳統文件: 無法自動產生測試 無法驗證是否缺欄位 無法直接生成程式碼 OpenSpec 的目標是: 規格 = 可以被 AI / 工具解析與執行的資料 三、OpenSpec 怎麼用?(實務教學) Step 1️⃣ 用結構化格式定義規格 範例(YAML): feature: CreateOrder description: 使用者建立訂單 inputs: - name: userId type: string required: true - name: items type: array required: true business_rules: - inventory must be greater than 0 - payment must be authorized before confirm outputs: - orderId - status 這種寫法的優勢是: ...