Github Spec-Kit 與 Gemini 使用流程初體驗

過往我們在開發軟體的時候,很容易發生文件跟不是程式碼的狀況,文件只是過往的傳說,往往只能參考而已。當有了 AI 以後,我們透過 AI 協作來產生規格,讓文件與程式碼更靠近了。而近期 Github 推出的 Spec-Kit,讓你也可以透過 Spec-Driven Development 的方式進行軟體開發,剛好最近連假有空,就來嘗試一下這種開發方式。

示意圖

環境設定

首先就是要先安裝 SDD

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

安裝好後,建立新專案

specify init project_name #建立新專案

建立新專案的同時,順便選擇使用的 AI Assistant ,像我自己就是選用免費的 gemini 來做測試

建立新專案

切換到剛才建立的資料夾,啟動 gemini

gemini 版本升級提醒

我們可以透過輸入關鍵字,看看有沒有出現指令,如果沒有的話就表示當下資料夾的位置不對,或是 gemini 版本過舊需要更新。

github spec 命令

像我自己前一次測試 gemini 是好幾個月前的事情了,舊版本根本吃不到操作 SDD 命令,當然也就無法執行。

npm install -g @google/gemini -cli to update #更新 Gemini 版本

SDD 命令

前置作業完畢後,我們再來了解一下各個命令的用途

Command說明
/constitution建立或更新專案的治理原則與開發規範
/specify定義你要建置的內容
(需求與使用者故事)
/clarify在規劃前釐清未明確的部分
(必須在 /plan 前執行,除非明確跳過;以前稱為 /quizme)
/plan依照選定的技術堆疊建立技術實作計畫
/tasks產出可執行的實作任務清單
/analyze進行跨文件一致性與覆蓋率分析
(在 /tasks 後、/implement 前執行)
/implement依照計畫執行所有任務並建置功能

使用心得

在這些命令中,我自己的使用順序為:specify -> plan -> tasks -> implement

如果規格有需要釐清的部分,AI 可能會詢問你相關的問題,等你回答完畢後才會繼續進行下一個步驟,而你也可以透過 /clarify 來檢視需求是否明確。

由於我並沒有訂閱 Google AI 的服務,一開始使用的模型為 gemini-2.5-pro 但是用到一半,就會強迫切換到 gemini-2.5-flash 了。

gemini quota limit reached

雖然每個模型都可以完成任務,但是因為模型特性的關係,效果就會有很大的差異。

我使用同一份規格,模型使用 gemini-2.5-flash 多次測試的狀況下,沒有辦法每次都達到同樣的結果,有時候會東錯一點、西錯一點,錯到讓我都懷疑是我規格寫的有這麼差嗎?雖然是一個很好鍛練寫規格的方法,但是有聰明的模型幹嘛要用愚蠢的模型,實際要使用的話,課金用聰明的模型,才是最正確的選擇。

    Blogger Comment

0 意見: