NiceKate AI觀看原文

NiceKate AI:提示詞時代不夠了——GSD 2 用系統把活幹完

GSD 2 將 AI Coding Agent 從提示詞升級為可運維的系統——狀態機驅動、崩潰恢復、預算控制、驗證管線,讓開發者真正可以「跑起來就走開」。

開場閒聊

歡迎來到倉儲漫遊時間。今天的主角是 GitHub 上的開源專案 GSD 2——全稱 Get Shit Done 的第二代。

主持人開門見山地說:提示詞時代不夠了,老版本教你怎麼說,新版本直接幫你做完。GSD 2 用系統把活幹完,它不再是貼在 Claude Code 裡的提示詞合集,而是一個用 TypeScript 寫成的獨立命令行工具,真正的握著智能體江湖的關鍵角色。

從新手視角來看,這集的節奏很友善——先回顧為什麼第一代會火,再深入第二代做了哪些根本性的升級,最後給出一套完整的上手指南。

懶人包速覽

核心痛點 解決方案 / 關鍵觀點
提示詞越聊越髒,上下文像滾雪球 GSD 2 用代碼接管上下文管理,每個單元獨立刷新,互不污染
自動模式容易無限循環或死等 滑動窗口檢測重複派發 + 三檔超時(軟/空閒/硬),崩潰可恢復
成本不可控,通宵跑完帳單報表驚人 內建 token 台帳 + 預算上限,按階段/slice/模型拆分
輸出品質靠感覺不靠驗證 每個 task 有 must-have 標準,自動跑 lint/test,失敗觸發修復重試

這集 NiceKate AI 把 GSD 2 從安裝到進階用法完整走了一遍,對想從「人工寫提示詞」進化到「讓系統自動跑流水線」的開發者來說,資訊量非常紮實。

從 GSD 1 到 GSD 2:提示詞進化成系統

回顧第一代 GSD,它的核心概念是把規劃、執行、復盤寫進 markdown 提示裡。很多人確實因此提效了,但痛點也很真實:上下文會越來越髒,所謂自動模式大多是大模型自己套娃燒 token。規劃一崩,就只能重來,而且很難看清錢和時間到底花在哪。

GSD 2 的定位完全不同——它用 TypeScript 代碼接管了這些原本只能拜託模型自覺的事情。

技術底層是 PiSDK GSD,作為獨立 CLI 前進派的智能體框架。運行時能在 TypeScript 層直接操作對話、工具與擴展。Readme 說得很直白:以前 V1 只能注入斜槓命令,希望模型聽話;現在 V2 可以真正做到按任務清空上下文、在派發瞬間精確注入文件、管理 Git 分支與工作樹、記錄成本、識別卡死和死循環、崩潰後自動恢復。

這不是文案升級,是控制權的質變。

安裝與上手:對新手很友好

安裝路徑對新手很友善。全局安裝 npm 包 gsd-pi,然後在終端裡執行 gsd,跟著嚮導登錄模型提供商。官方列了 20 多家——Anthropic、OpenAI、Google、OpenRouter、GitHub Copilot 等等。有訂閱的話可以走 OAuth,沒有就貼 API key。

裝好後有兩個關鍵提示:Node 版本要在 22 以上,24 LTS 更佳。避免 Homebrew 誤裝成開發版 Node 導致奇怪兼容問題。

三層架構:Milestone → Slice → Task

要理解 GSD 2,得先記住它的工作分解結構。最上層叫 Milestone(可交付的軟體功能),中間是 Slice,Slice 裡再拆成 Task。

文檔強調一條鐵律:單個 Task 必須能放進一個上下文窗口,塞不下就拆成兩個。對新手來說,這強迫你把大而空的需求切成模型真能一次做完的小塊。後面自動跑流水線時,才不會報上下文爆滿或胡亂寫一通。

每個 Slice 在機器裡會走一條固定流水線:

  1. Plan 階段:把調研和規劃寫清楚
  2. Execute 階段:按 Task 執行
  3. Complete 階段:寫總結與驗收腳本
  4. Reassess Roadmap:看計劃要不要調整
  5. Validate Milestone:把路線圖的成功標準跟實際結果對齊

你可以把它想像成帶制動與修正的敏捷開發——只不過駕駛員是狀態機,不是你的手速。

自動模式:跑起來就可以走開

整台機器的油門在 Slash 指令 gsd auto。它讀取磁碟上 .gsd 目錄裡的狀態檔案,決定下一步該派發什麼。每完成一個最小工作單元,再讀一次盤,繼續下一步。

Readme 形容的很形象:「你跑起來就可以走開。回來看到的是一個乾淨的提交歷史、驗證過的代碼、以及結構化產物。」

新手第一次使用,建議先在 step 模式裡熟悉節奏,再切自動模式讓它長跑。

為什麼它敢讓你走開?

關鍵機制有幾個:一是每個單元刷新上下文——研究、規劃、執行互不污染,避免越聊越糊塗。另一個是 dispatch——提示詞會把任務計劃、依賴摘要、路線圖片段等預先內聯進去,讓模型開局就站在正確戰場上,而不是先花幾十輪工具調用來讀文件。

對新手來說,這意味著你少喊很多次「請先讀某某文件」,省時間也省 token。

Git 管理:乾淨的里程碑級提交

GSD 2 可以把里程碑隔離到獨立 Worktree 或分支裡。Slice 內順序提交,里程碑完成後再 squash 合併回主線,得到一條乾淨的里程碑級提交。

偏好設定在 Preference 裡。對團隊協作來說,這減少了自動模式把分支變成 spagetti 的經典事故。

崩潰恢復與超時處理

現實世界裡,繪畫會崩、機器會重啟。GSD 2 做了崩潰恢復——以檔案記錄當前單元,下一次啟動會讀取倖存狀態繼續執行。

無頭模式裡,崩潰甚至可以按指數退避、自動重啟若干次。斷線不等於從零開始。

自動跑久了最怕兩件事:無限循環和死等。GSD 2 用滑動窗口檢測重複派發模式——先重試一次並帶深度診斷,再不行就停在你該看的文件上。超時則分軟、空閒、硬三檔。軟超時是讓模型收尾,空閒看是否卡住,硬超時直接暫停自動模式。再加上 provider 的臨時側誤退避與模型回退鏈,整體更像生產環境裡的監控器,而不是裸奔的 while True。

預算控制與成本台帳

成本管理是 GSD 2 的另一個亮點。內置成本與 token 台帳,可按階段、slice、模型拆分。還能設預算上限,到了就暫停,避免通宵跑完發現帳單爆表。

配合 token 優化裡的 profile——budget、balanced、quality——一次性協調用哪檔模型、壓縮多少上下文、哪些階段可以跳過。新手建議先設一個保守 ceiling,再慢慢放開,讓數據幫你決定要不要上規模型。

品質驗證:不是感覺還行,而是可驗證

每個 Task 有 must-have 標準,分成真相、產物、關鍵、鏈接幾類。執行後會跑你配置的 verification 命令(例如 npm run linttest),失敗觸發自動修復重試,次數可配。

自動從 package.json 發現的檢查,也可以先以 advisory 模式警告而不阻塞。這對老專案很友善——新手把驗證命令寫清楚,等於給智能體立了交卷標準。

Headless 模式與遠端協作

CI 與腳本場景可以用 gsd headless——無界面跑 auto next、指定 dispatch 階段、設超時,退出碼區分完成、錯誤與阻塞。

特別實用的是 gsd headless query,大約幾十毫秒返回 JSON 快照——當前階段、下一次派發預覽、並行 worker 成本,方便你寫守護進程或和其他系統集成。

需要人類點頭的場景可以配 remote questions,把問題路由到 Slack 或 Discord,配合雙終端工作流——一個視窗跑 gsd auto,另一個討論 status Q,在里程碑邊界自動觸發你的決策,不必為了說話而停自動模式。

對新手來說,這解決了「既想放手,又想隨時改方向」的矛盾,也是 GSD 2 相比純聊天視窗的一大體驗差異。

VS Code 整合與擴展生態

倉庫裡還帶一個 Next.js 的 Web 子專案。你可以在瀏覽器裡管理專案、看實時進度,終端裡繼續跑重活。對於不習慣純 CLI 的人來說,這是降低心理門檻的入口。

VS Code 的側邊欄提供診斷、工作流控制、繪畫分叉等功能。想玩並行還有 Parallel Watch 之類的原生 TUI 監控。

擴展生態很誇張:瀏覽器自動化、網頁搜索、GitHub、MCP 客戶端、語音、後台 Shell、子代理、LSP、Ollama 本地模型、Discord 機器人與守護進程,以及自訂 MCP 工具暴露專案狀態——這些都在 Readme 的更新日誌裡持續演進。

QA 精選

Q1:GSD 2 和直接在 Claude Code 裡寫提示詞有什麼本質差異?

GSD 2 的核心差異在於用程式碼接管了上下文管理和工作流程。Claude Code 是對話式的——你餵提示、模型回應、對話越來越長、上下文越來越髒。GSD 2 則用狀態機在磁碟上推進工作:每個 Task 獨立刷新上下文,研究、規劃、執行互不污染。更重要的是,崩潰可以恢復、成本可以追蹤、Git 提交可以被程式化管理。用頻道主持人的話來說:「這不是文案升級,是控制權的質變。」

Q2:GSD 2 支援哪些模型提供商?入門要用 API Key 還是 OAuth?

官方列出了 20 多家——Anthropic、OpenAI、Google、OpenRouter、GitHub Copilot 等。有訂閱的話可以走 OAuth 直接授權,沒有訂閱就貼 API Key。主持人特別提醒:盡量用 API Key 而不是把訂閱用的 OAuth Token 硬塞進第三方工具。Readme 特別強調了 Google Gemini 相關的風險。OpenRouter 可以一把鑰匙試數百種模型,而 Claude、OpenAI、Bedrock 等也都有各自的路徑。

Q3:自動模式跑一整晚,萬一模型卡住或產生無限循環怎麼辦?

GSD 2 有三層防護。第一層是滑動窗口檢測重複派發模式——如果模型反覆做同樣的事,系統會先重試一次並附帶深度診斷;第二層是分級超時機制:軟超時讓模型自己收尾、空閒超時看模型是否卡住、硬超時直接暫停自動模式;第三層是指數退避重啟——崩潰後自動重啟若干次,每次等待時間遞增。再加上 provider 的臨時錯誤退避與模型回退鏈,整體設計接近生產環境裡的監控系統。

Q4:新手第一次使用 GSD 2,最重要該設定好哪些東西才能安全地跑 Auto 模式?

主持人給出三個優先級最高的設定:API Key、預算上限、驗證命令。先在 step 模式裡熟悉節奏,了解 state machine 如何推進、dispatch 怎麼運作,再切 auto 模式。預算部份建議先設一個保守的 ceiling ceiling(上限),跑幾次之後根據實際 token 消耗再放寬。驗證命令(如 lint + test)要寫清楚——這等於給智能體立了交卷標準,避免模型自以為完成但實際上程式碼不能編譯。

Q5:GSD 2 的品質驗證機制具體怎麼運作?

每個 Task 都有 must-have 標準,分成真相(truth)、產物(artifact)、關鍵(critical)、鏈接(link)幾類。執行後自動跑你配置的 verification 命令,例如 npm run lintnpm test。如果驗證失敗,系統會觸發自動修復重試(重試次數可配)。自動從 package.json 中發現的檢查項目,也可以先以 advisory 模式發出警告而不阻塞進度。對於老專案匯入 GSD 2,這個 advisory 模式特別友善——不會因為既有的 lint 問題就讓 pipeline 卡死。

Q6:GSD 2 如何處理多人協作場景?

里程碑可以隔離到獨立的 Worktree 或分支,Slice 內部順序提交,里程碑完成後 squash 合併回主線。建議打開 unique milestone IDs,並配合文檔中的 getting started 建議,避免多人協作時里程碑名稱撞車。遷移前最好先有 roadmap 作為結構錨點,否則里程碑要從 phases 推斷,可能多一步人工整理。

主編隨筆

這集 NiceKate AI 把 GSD 2 的技術細節講得很透,但有一個層面我覺得值得補充——GSD 2 的出現其實反映了 AI Coding Agent 從「提示詞工程」走向「系統工程」的產業趨勢。

過去一年我們看到大量提示詞模板(prompt template)和 prompt library 專案湧現,但它們都有一個本質限制:提示詞是文字,無法真正管理狀態、無法執行錯誤復原、無法控制預算。GSD 2 選擇用 TypeScript 程式碼來做這些事,等於把 Agent 從「聰明的文字生成器」升級成「可運維的軟體系統」。

以我自己的使用經驗來說,這個方向才是對的。提示詞再好,碰上長對話的上下文衰退(context degradation)就無解;而 GSD 2 的「每個 Task 刷新上下文」設計,直接從架構層面解決了這個問題。搭配 Git worktree 隔離和 squash 合併,整個開發流程變得可審查、可復盤——這在團隊協作場景中特別有價值。

如果你正在評估要深入哪個 AI Coding Agent 生態,建議把注意力從「誰的模型最強」轉移到「誰的工作流管理最成熟」。GSD 2 雖然還在早期階段,但它的設計方向——程式碼接管流程、狀態機驅動、可觀測性內建——很可能會成為這個領域的標準架構。

結語

GSD 2 把寫提示詞升級成跑系統。狀態機在磁碟上推進,上下文與 Git 被程式管理,成本與驗證可觀測,崩潰可恢復。對於從 Claude Code 或 Copilot 剛起步的開發者來說,這是一個可以認真考慮的進階工具——它讓 AI Coding Agent 從「玩具」變成了「生產工具」。

更多細節請查閱 GitHub 上的官方文檔。

本文章僅作為學習與交流用途,不構成任何投資建議。 原始內容版權歸原節目製作人所有。本網站內容經 AI 輔助整理,並經人工審核後發布,可能仍包含錯誤。 詳見 版權聲明與免責條款