解決的問題

用了幾款AI的IDE (cursor、qoder 等) 編程, 基本遇到幾個核心問題

  • 很難準確描述你的功能, 完全靠AI去猜測不停的補充細節. 如: 做個登錄功能, AI容易自由發揮, 你得在補充是否有驗證碼、是否支持手機登錄、密碼是否限制等.
  • 由於token的限制, AI容易又忘記了前面的溝通內容, 又得重新強調一遍. 如果使用壓縮對話, 那細節可能被丟失, AI忘記後, 又容易重新把原來改好的細節給改錯, 導致來回拉扯

 

本質上是一種解釋性的協助, Spec-Driven Development 是一種基於規範驅動開發 ( 或者契約式開發的模式);

什麼是Spec-Driven Development 呢

開發都始於一份嚴格對齊的Spec文檔, 所有代碼、測試、架構都必須要嚴格準守, 後續變更也是通過Spec來驅動, 而非去改代碼. 包括自動化工具也是基於Spec去生成代碼、測試用例等.

簡單來説, 後續程序員主要工作在於制定Spec文檔, 代碼實現由AI來完成.

 

基於Qoder的實現方式選擇

最近都改用Qoder了 ( 主要性價比可以, 當前一月2美金 , 實踐下來也夠用了, cursor平替)

  1. 用Qoder自帶的Quest Mode 去實現, 適合個人探索, 無需安裝額外的MCP插件
  2. 通過 spec-workflow-mcp插件. 適合團隊項目, 當前推薦的幾個mcp , 基於開源的, 如:https://github.com/Pimzino/spec-workflow-mcp

用Qoder實現 Spec-Driven Development模式

新建任務, 進入 Quest Mode

打開Qoder 選擇 Quest Mode . 新建個任務

輸入

請幫我構建一個簡單的開源項目介紹網站

- 前端使用 React + Next.js
- UI 使用簡潔的卡片式佈局,支持添加、標記完成、刪除任務
- 後端使用 Spring Boot + jdk 8 基於MVC的架構 
- 數據暫時保存在內存中(不需要數據庫)
- 前後端分離,通過 HTTP 通信

功能上
- 先從固定github上採集最活躍的Top10的開源項目, 並在首頁顯示
- 不需要管理後台, 只需要10分鐘更新採集一次數據展示

 

ai開發專題_github

 

 

生成相關設計文檔

qoder開始和我交互確認細節, 問答模式, 開始選擇細節

ai開發專題_開源項目_02

 

回答完成後, 開始根據細節, 生成設計文檔

ai開發專題_驅動開發_03

 

 

看完設計文檔, 截圖幾個, 比我親自畫還好

ai開發專題_github_04

 

開始實施任務

文檔好了, 開始寫相關任務

ai開發專題_github_05

 

ai開發專題_驅動開發_06

 

完成任務

訪問效果

ai開發專題_開源項目_07

 

需求變更

如果我後續將進行需求變更, 需要再增加一個新的任務, 提出了變更

對當前的需求進行變更, 把顯示3個項目變成只顯示兩個項目, 並採集任務增加到12個

 收到後, 它開始檢查了歷史文檔, 任務, 並新建了個新的markdowm

修改後的效果

ai開發專題_驅動開發_08

  

整體思考

以後的開發流程是否會變為

  • 程序員提出意圖
  • AI配合梳理,通過對話、梳理和需求
  • 生成最終Spec文檔,  程序對spec文檔進行確認
  • AI完成任務執行.