用「工作流」逼出產品的一致性、可控性、可靠性

用「工作流」逼出產品的一致性、可控性、可靠性
GSD 三件套合用,把會飄的 AI 釘成一條固定流水線

先講一句得罪人的話——你的 AI coding agent 會「飄」,不是因為它笨,是因為它沒有人管。

你今天叫它做登入頁,它給你一套;下週叫它做同樣的登入頁,它又給你另一套。上次留的變數命名習慣、資料層介面、錯誤處理風格,全在每次 session 開始時被清空。沒有跨 session 的記憶、沒有固定的執行順序、沒有「做完了到底對不對」的驗收——它就是一台只會往前衝、不看地圖的車。

你做產品,要的是一致性、可控性、可靠性。這三件事沒有一樣是靠「讓 AI 更聰明」換來的,全是靠工作流逼出來的。

而這就是 GSD(Git. Ship. Done.) 想解決的事。它不是一個工具,是三個工具分工合作、把「會飄的 AI」釘成一條固定流水線。

三個工具,三個角色

GSD 的核心是三個 npm 套件,各有各的戲份:

  • gsd-core:負責「紀律」。它是 context-engineering 與 spec-driven 的框架,把 AI coding agent 推著走一條固定的五步循環——Discuss → Plan → Execute → Verify → Ship。所有重活(研究、規劃、執行)都在 fresh-context 的子代理裡跑,主 session 保持輕盈,這樣才不會「context rot」——那是 AI 把語境塞爆後品質自動下滑的病。
  • gsd-pi:負責「從終端把你叫出來工作」。它是個 local-first 的 coding agent,把工作拆成 milestone、slice、task,在 `auto` 模式下自己規劃、實作、驗證、往前推進。用 Git worktree 隔離實作,專案狀態存在 `.gsd/`,可跨 session 存活。
  • gsd-graph:負責「共同記憶」。它建一張本地的知識圖譜,把事實存成 `(主語, 謂語, 賓語)` 三元組,每條都帶 provenance 來源。多跳問答時 citation 跟著走,答案從圖譜長出來,不是從模型瞎編。

一句話收斂:劇本寫死(core)、執行追蹤(pi)、記憶有源(graph)。

一樣的劇本 → 一致

先看「一致性」。它不是 AI 突然變乖了,是有人把劇本寫死,逼它每次都照著走。

`gsd-core` 的價值不在它讓 agent 更會寫 code,而在它讓 agent 每次都走同一條路。`STATE.md`(做到哪了)跟 `CONTEXT.md`(為什麼這樣做)永遠承載同一份上下文;不管你今天用的是 Claude Code 還是 Codex,重活都丟進 fresh-context 子代理,主 session 永遠瘦。於是你每次拿回來的東西,不是五種不同風格的隨機產出,而是一條流水線上同一個工序的相同輸出。

這張圖講的就是這件事——同樣的圈轉五次,產出自然長得一樣。

GSD 一致性:Discuss → Plan → Execute → Verify → Ship,同樣的劇本,每一次都從同一張圖出發

被追蹤的執行 → 可控

再來是「可控」。AI 開發最可怕的不是它做錯,是你不知道它做到哪、為什麼這樣做

`gsd-pi` 把這一切變成可追蹤的狀態機:工作被切成一塊塊 milestone/slice/task,autonomous 模式下它自己規劃→實作→驗證→推進,`gsd status` 隨時告訴你走到哪。Git worktree 讓每一個實作都隔離,main 分支保持可審查。你要失控都難——因為每一步都有記錄,隨時能回頭看它為什麼走到這裡。

有來源的記憶 → 可靠

最後是「可靠性」。這大概是三件套裡最容易被忽略、卻最要命的一件。

一般做法是:讓 AI「記得」專案背景。但怎麼記?塞進 prompt?複製到備忘?這些都是白紙黑字的坑——下一次 session 一開,記憶就掉了;就算塞得進去,也沒人知道那條記憶是哪來的、誰寫的、是不是已經過期。

`gsd-graph` 換了一種玩法:把事實存成知識圖譜,`(主體, 謂語, 客體)` 三元組,每條都帶 provenance。跨 session 的問題(「phase 4 為什麼卡在 phase 3?」)它用多跳回答、附 citation,讓「可靠」變成可驗證的東西。

這張圖是它的運作方式——不是答得比較對,是答錯時你知道是哪條記憶、誰寫的。

GSD 可靠性:知識圖譜把事實存成三元組,provenance 來源可追溯,多跳問答附 citation

所以,工作流到底買到了什麼

一句話:把「看運氣」換成「看流程」。

  • 一致,是因為劇本固定——你不必祈禱它今天心情好、記性佳。
  • 可控,是因為每一步都留痕——它走偏了,你知道從哪個叉路開始偏。
  • 可靠,是因為記憶有出處——它說錯,你知道是哪條事實、誰寫的、要不要修正。

等你把這三件事接起來,你才終於可以說:我的 AI 開發,是可以量產、可以被審查、可以預期的。

當然,你也可以繼續堅信「只要模型夠強,靠直覺寫就好」。這年頭,最不缺的就是這種樂觀。

參考:GSD Core / GSD Pi / GSD Graph 官方 README — github.com/open-gsd