規格驅動開發 SDD|打造屬於你的 Vibe Coding 戰隊:從夢想,到可運作的系統(二.一)與PRD共譜開發方向

更新 發佈閱讀 10 分鐘

⬛ 我覺得我設計的 PRD 已經很好了,但我後來又多學到一件事

最近在看幾位朋友的 vibe coding 專案分享,我突然意識到一件事:原來我所設計寫出一份會說話的 PRD 之後,或許還可以再往下一層挖。

我在《打造屬於你的 Vibe Coding 戰隊:從夢想,到可運作的系統(二)好的產品,都始於一份會說話的需求》一文裡,已經有跟大家分享我搭建 PRD 的過程,我已經靠它建構出完整的語境、角色、情境、邏輯,甚至可以直接讓 AI 生成功能框架。其實這份 PRD 拿去給各大 Agent, CLI 我覺得都已經相當足夠。

但早上發文的時候以及之前看朋友的招生文案的時候,一個名詞吸引了我的注意: SDD

當下我心裡是想:蛤?什麼 SDD?不是 PRD 已經講很清楚了嗎?

我原本來天真的以為我寫的就已經是 SDD 了,還很自負的跟朋友說:哼哼,我早就有在寫了。

但後來我再度去深入的了解,發現自己漏看了一個關鍵:

PRD 是一份讓 AI「理解你」的文件,而 SDD,是一份讓 AI「開始動手」的規格。

最近我一直期待 AI ,只要它看完 PRD ,就應該要可以幫我自動整理出 todo list、自動設計功能流程,甚至分派任務。但期待越大、失望也就越大,每次都需要我額外下指令請他處理,想要自動卻又一直做不太出來的原因,也許就卡在我沒有給它 SDD。

raw-image

▏所以 SDD 到底是什麼?它真的跟 PRD 不一樣嗎?

剛開始聽到 SDD 的時候我是有稍微去了解他一下,但馬上就關掉了。

因為我剛開始的時候覺得:PRD 都已經寫到有故事、有角色、有脈絡、有邏輯了,還要什麼 SDD?它又不是要拿去給工程師看,也不是要寫 API 文件。

但後來我開始回想:為什麼我那麼多次,AI 都理解了,做個小服務,可能還撐的起開發。但只要開工時間一長,他就開始放飛自我,然後我還得罵他他才會懂,我一直都覺得講得好像已經很清楚,但它還是少幫我補一段流程、漏掉一個條件、格式也常常亂掉。

過去我一直認為,都是 AI 幻覺的問題,只覺得 AI 不夠聰明,但現在回頭看,可能只是我給它的東西,只到「理解」,沒到「執行」。

SDD,全名是 Specification-Driven Development規格驅動開發,一開始看起來像是工程師那種嚴謹寫法,但我後來發現它其實是一種補語言邊界的方法。這是一種軟體開發方法論,其核心是先產出清晰、可驗證的規格文件,再以規格為依據進行程式碼開發和自動生成。這種方法強調「規格即真相」,透過消除需求轉譯落差,讓規格文件成為開發流程中唯一的真實來源,並能藉由AI自動化產生程式碼、測試腳本、資料模型等,實現更精準且同步的開發。(source)

我認真思考了一下:如果 PRD 是在講「我要做一個什麼樣的東西,幫什麼樣的人,解決什麼問題」,那 SDD 講的就是「所以你要我怎麼做?什麼時候做?輸入是什麼?要怎麼判斷有沒有做對?」有點像是 PRD 是說明書,而 SDD 是操作手冊。一個讓 AI 感覺懂了,另一個才讓它真的動起來。

▏哪些問題其實 PRD 解不到,SDD 才會幫上忙?

有時候回頭看我的 vibe coding 過程,比如我之前常常會講:

  • ⚐ 「幫我分析這份廣告的異常狀況」
  • ⚐ 「給我一份更精準的 persona」
  • ⚐ 「用角色式的語氣寫出吸引力更強的文案」
  • ⚐ 「幫我整理功能列表」

看起來很明確,但其實你仔細想,AI 根本不知道:

  • ✎ 什麼叫「異常」?是 CPM 大於平均?還是 ROAS 掉到多少?
  • ✎ 「更精準」的 persona,是要加更多細節?還是濾掉不相關的?
  • ✎ 「吸引力更強」是增加張力?還是說得更白話?
  • ✎ 功能列表是要從使用者旅程拆?還是從任務拆?

PRD 沒有這些東西,它本來就解不到。它只負責把世界說得像一個世界,但沒有說這個世界要按照什麼規則運作。真正讓 AI 能夠穩穩持續開發的,是那些看起來「很瑣碎」的細節。

而 SDD 正在補的,就是這些你以為不重要、但 AI 缺它就會亂跑的那一塊。我甚至覺得 PRD 是讓 AI 懂「我要去哪裡」,而 SDD 是告訴它「路怎麼走、什麼路不能走、走錯要停哪裡」。

你沒有 SDD,AI 就只能靠感覺在陪跑幫你 vibe coding;你有了 SDD,它才會開始像一個隊友,不是像一個猜謎機。這可能對很多資深工程師會覺得「這不是基本的嗎」?但對剛踏入 vibe coding 世界的我們,不得不擴張的知識邊界。

▏那在 PRD 打造完之後,怎麼跟 LLM 一起寫 SDD?

前面這一大段,其實是在說服「我們自己」:光有 PRD 不夠,還得承認 SDD 這一塊是自己的知識黑洞。那接下來,就是要想辦法讓 AI 來補這個黑洞。

在 PRD 的時候,你還記得我們前文所設計過的 prompt 嗎:

我想和你協作一份 PRD。請你像專業產品經理一樣,引導我一步步建立這份文件,從黃金圈理論的『Why』開始,透過一問一答的方式幫我釐清邏輯,直到最後我們能整理出清楚的架構。

這一段的核心,其實是把 LLM 當成「會問問題的 PM」,而不是「幫我寫文件的文書機器」。

我不是叫它一次幫我產出一份 PRD,而是請它用問題把我腦袋裡沒講清楚的東西都翻出來。

那 SDD 要不要用同一個 prompt?以邏輯來說一定要拆開來做。因為 PRD 和 SDD 的生成出的氣氛跟場景完全不一樣。

  • ☑ 寫 PRD 的時候,我是在講人、講場景、講故事。
  • ☑ 寫 SDD 的時候,我要開始講欄位、講條件、講錯誤處理、講格式。

如果你硬要用同一段 prompt,通常會變成兩邊都不夠深:故事沒講透,規格也講不清楚。與其這樣,不如乾脆承認,我們需要兩種不同的「合作模式」。

一種,是請 AI 當「產品經理」,陪你把 PRD 問出來;另一種,是請 AI 當「系統設計師」,陪你把 SDD 問出來。

所以在 PRD 打造完之後,我現在會開一個新的對話線,然後丟進去剛剛那份 PRD,接著用這種方式開場,以下是我現在會用的 SDD prompt:

「接下來,我想和你協作一份 SDD(Specification-Driven Development)的規格文件。我已經有一份 PRD(產品需求文件),裡面講清楚了使用者、情境與產品目標。請你暫時不要重寫 PRD,而是扮演一位系統設計師+後端工程師+產品經理的綜合角色,幫我做下面這件事:
先讀完這份 PRD,幫我整理出這個系統裡的「關鍵名詞」(Domain)有哪些。
接著用一問一答的方式,幫我把這些名詞背後的規則和判斷邏輯(Behavior)問清楚。
當我們把邏輯說清楚之後,再一起設計這個系統的輸入與輸出格式(Interface),用 JSON 或表格都可以。
最後,請你根據我們整理好的 Domain/Behavior/Interface,幫我彙整成一份 SDD 草稿,並列出你覺得還有模糊、需要我決定的地方。在整個過程裡,請你優先用「問問題」來引導我,而不是自己腦補答案;任何你需要假設的地方,都先問過我再寫進文件裡。」

這裡有幾個小小的刻意安排:

  • ☐ 我先明說:「PRD 已經有了,你不要重寫。」避免它又回去幫我重講故事。
  • ☐ 然後直接把三件事講出來:Domain/Behavior/Interface,引導它用這三個視角來追問。
  • ☐ 強調「用問題引導」,是為了避免它自己假裝很懂,結果規格都是憑空長出來的。
  • ☐ 最後讓它幫我「整理一版草稿+標出還沒決定的東西」,這樣我下一輪就有東西可以接著改。

PRD 的 prompt 重點是:幫我釐清 Why / Who / How / What;

SDD 的 prompt 重點變成:幫我釐清 Domain / Behavior / Interface。

兩套都靠 LLM 共創,但節奏完全不同。一個是在幫你補「人與故事」的模糊,一個是在幫你補「規則與邊界」的模糊。

▏所以我們現在要怎麼開始新的 vibe coding 旅程呢?

寫完這篇,我其實沒打算讓你立刻去寫什麼 SDD 模板,也不是叫你今天就得有一套完美的語法。

我真正想說的是這個:

如果你覺得 AI 怎麼說都不太對、怎麼做都差一點,其實不一定是模型的問題,而是我們語言裡的規則還沒長好。

PRD 幫你釐清你要什麼,SDD 才能讓你知道「你說的,AI真的能怎麼做」。

vibe coding 到後來,其實就是一種語言層級的工程:不是你有想法它就能做,而是你有語法,它才跟得上。

下一步你要做的,不是去複製誰的 SDD 寫法,而是試著在自己的工作裡,找到那個 「你以為 AI 懂你,但其實你還沒講清楚的地方」, 然後補上去。

補的方式不用完美,但要持續。 因為系統不是一次寫完的,是一次次對話修出來的。這就是我最近 vibe 出來的新一層節奏,也留給你。


留言
avatar-img
留言分享你的想法!
avatar-img
行銷人才培育基地 ThinkWithBlack
13.1K會員
142內容數
這是一個以電商為主的電商行銷教學基地,希望在這裡能夠透過文章知識的傳遞,能夠建構電商所需要的知識。
2025/11/07
從文件到生命:PRD 只是起點 寫完第一份 PRD 的那一刻,很多人都會有一種錯覺:「我好像離產品更近了。」但那只是一個幻覺。PRD 讓你的想法有了形狀,卻還沒有生命。它可以被解讀、被評論、被修改,卻還不會自己動。那是一種半完成的狀態,一張等待呼吸的設計圖。這正是大多數創作者卡住的地方。因為他們
Thumbnail
2025/11/07
從文件到生命:PRD 只是起點 寫完第一份 PRD 的那一刻,很多人都會有一種錯覺:「我好像離產品更近了。」但那只是一個幻覺。PRD 讓你的想法有了形狀,卻還沒有生命。它可以被解讀、被評論、被修改,卻還不會自己動。那是一種半完成的狀態,一張等待呼吸的設計圖。這正是大多數創作者卡住的地方。因為他們
Thumbnail
2025/11/02
本文分享如何利用 AI 工具 (Gemini) 協作建立產品需求文件 (PRD),作者從自身汲取外部資訊不足的痛點出發,透過與 Gemini 的互動,學到如何讓 AI 協助發掘潛在的熱門主題、找到免費解決方案 (如 Apify),並強調 PRD 中明確技術棧的重要性,以避免開發前期功利敗。
Thumbnail
2025/11/02
本文分享如何利用 AI 工具 (Gemini) 協作建立產品需求文件 (PRD),作者從自身汲取外部資訊不足的痛點出發,透過與 Gemini 的互動,學到如何讓 AI 協助發掘潛在的熱門主題、找到免費解決方案 (如 Apify),並強調 PRD 中明確技術棧的重要性,以避免開發前期功利敗。
Thumbnail
2025/11/01
在 Vibe Coding 的世界裡,「寫出好需求」遠比「寫出好程式」更重要。因為 AI 不會替你思考,它只會忠實放大你的模糊。這句話聽起來有點殘酷,卻是所有使用者最終都會體驗到的現實。 當你第一次讓 AI 幫你開發產品、生成代碼或設計功能時,你會發現一個奇怪的現象,它給出的答案往往「看起來沒錯」
Thumbnail
2025/11/01
在 Vibe Coding 的世界裡,「寫出好需求」遠比「寫出好程式」更重要。因為 AI 不會替你思考,它只會忠實放大你的模糊。這句話聽起來有點殘酷,卻是所有使用者最終都會體驗到的現實。 當你第一次讓 AI 幫你開發產品、生成代碼或設計功能時,你會發現一個奇怪的現象,它給出的答案往往「看起來沒錯」
Thumbnail
看更多
你可能也想看
Thumbnail
這篇文章記錄了我與香氛品牌 Sunkronizo 的相遇,用氣味重新校準生活的節奏。 從前調的水底靜謐,到中調的貼膚潔淨,再到基調的安穩木質,每一層都像在提醒自己:慢下來、呼吸、同步。 Silent Wild 對我來說,是一種存在方式的註記,也是我日常裡的小小儀式。
Thumbnail
這篇文章記錄了我與香氛品牌 Sunkronizo 的相遇,用氣味重新校準生活的節奏。 從前調的水底靜謐,到中調的貼膚潔淨,再到基調的安穩木質,每一層都像在提醒自己:慢下來、呼吸、同步。 Silent Wild 對我來說,是一種存在方式的註記,也是我日常裡的小小儀式。
Thumbnail
介紹 Vibe Coding 的核心理念、應用場景、常用工具、入門指南、優勢與風險,並探討其作為軟體開發起點的潛力。Vibe Coding 是一種讓使用者透過自然語言與 AI 對話,由 AI 協助完成程式實作的開發方式,旨在降低技術門檻,讓非技術背景者也能專注於創意與使用者體驗。
Thumbnail
介紹 Vibe Coding 的核心理念、應用場景、常用工具、入門指南、優勢與風險,並探討其作為軟體開發起點的潛力。Vibe Coding 是一種讓使用者透過自然語言與 AI 對話,由 AI 協助完成程式實作的開發方式,旨在降低技術門檻,讓非技術背景者也能專注於創意與使用者體驗。
Thumbnail
實際帶著自製健身APP到健身房使用,才體會到「自己是用戶」的重要。本文分享從登入、運動紀錄到 UI 操作的完整體驗,檢視輸入方式、動作新增、時間紀錄與數據呈現等不足,並提出未來改進方向。從開發者視角探索如何讓健身紀錄 APP 更直覺、更貼近需求,也提醒開發產品時,唯有實際使用才能發現真正的問題。
Thumbnail
實際帶著自製健身APP到健身房使用,才體會到「自己是用戶」的重要。本文分享從登入、運動紀錄到 UI 操作的完整體驗,檢視輸入方式、動作新增、時間紀錄與數據呈現等不足,並提出未來改進方向。從開發者視角探索如何讓健身紀錄 APP 更直覺、更貼近需求,也提醒開發產品時,唯有實際使用才能發現真正的問題。
Thumbnail
AI正改變APP開發方式。透過自然語言描述需求,AI即可生成前端UI與Nest.js後端API,實現運動紀錄功能。設計亮點包含卡片式重訓紀錄、快速新增組數、重量與次數輸入,以及iPhone風格的轉盤選單,讓手機操作更直覺。藉由AI快速迭代,能有效打造MVP,確保健身紀錄功能完整又符合使用者體驗。
Thumbnail
AI正改變APP開發方式。透過自然語言描述需求,AI即可生成前端UI與Nest.js後端API,實現運動紀錄功能。設計亮點包含卡片式重訓紀錄、快速新增組數、重量與次數輸入,以及iPhone風格的轉盤選單,讓手機操作更直覺。藉由AI快速迭代,能有效打造MVP,確保健身紀錄功能完整又符合使用者體驗。
Thumbnail
系統專案架構 開始進入開發系統之前,我們要來先想一下專案架構要怎麼做。 前後端分離 現在比較流行的架構是前後端分離。比較常見的方案是前後端個一個專案各自一個檔案。但這樣子分離的話對於 vibing code 比較難,畢竟你兩個專案都開著你要同時個別和他們說要做什麼,有點不太切實際又麻煩。 所
Thumbnail
系統專案架構 開始進入開發系統之前,我們要來先想一下專案架構要怎麼做。 前後端分離 現在比較流行的架構是前後端分離。比較常見的方案是前後端個一個專案各自一個檔案。但這樣子分離的話對於 vibing code 比較難,畢竟你兩個專案都開著你要同時個別和他們說要做什麼,有點不太切實際又麻煩。 所
Thumbnail
本文分享以AI加速開發健身健康紀錄APP的經驗,從核心功能MVP(最小可行產品)的設計,包含飲食記錄(AI辨識熱量)、運動記錄、數據分析,到未來擴展社群功能、挑戰任務及商城合作的完整規劃,目標打造更有效率、更具互動性的健身追蹤平臺。
Thumbnail
本文分享以AI加速開發健身健康紀錄APP的經驗,從核心功能MVP(最小可行產品)的設計,包含飲食記錄(AI辨識熱量)、運動記錄、數據分析,到未來擴展社群功能、挑戰任務及商城合作的完整規劃,目標打造更有效率、更具互動性的健身追蹤平臺。
Thumbnail
本文分享利用AI進行Vibe Coding開發產品的經驗,透過自然語言描述需求,讓AI生成前後端程式碼,並快速迭代、測試和調整,以最短時間完成MVP並驗證市場。文章探討此方法的優缺點,並說明為何優先考量速度和市場反饋,而非程式碼優化。
Thumbnail
本文分享利用AI進行Vibe Coding開發產品的經驗,透過自然語言描述需求,讓AI生成前後端程式碼,並快速迭代、測試和調整,以最短時間完成MVP並驗證市場。文章探討此方法的優缺點,並說明為何優先考量速度和市場反饋,而非程式碼優化。
Thumbnail
本文分享開發創業APP的技術選型經驗,從快速建置MVP的角度出發,選擇了Next.js(前端)、Nest.js(後端)、MongoDB(資料庫)、MinIO(檔案儲存)、GitHub Actions(CI/CD)和Zeabur(部署平臺),並說明選擇這些技術的原因以及如何利用PWA和SEO提升流量。
Thumbnail
本文分享開發創業APP的技術選型經驗,從快速建置MVP的角度出發,選擇了Next.js(前端)、Nest.js(後端)、MongoDB(資料庫)、MinIO(檔案儲存)、GitHub Actions(CI/CD)和Zeabur(部署平臺),並說明選擇這些技術的原因以及如何利用PWA和SEO提升流量。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News