- Published on
Classmethod Tsumiki:AI 測試驅動開發框架
隨著 AI 開發工具的快速發展,開發者們開始思考如何將 AI 的強大能力與傳統軟體工程最佳實踐相結合。日本 Classmethod 公司最近開源的 Tsumiki 框架,正是這種思維的具體實現。它將測試驅動開發(TDD)與 AI 開發完美融合,創造出一套全新的 AI 測試驅動開發(AI TDD)方法論。
什麼是 AI TDD?傳統開發面臨的挑戰
在傳統的 AI 開發過程中,開發者常常會遇到一個現象:「隨性編程」(Vibe Coding)。這是指開發者與 AI 助手進行對話時,常因需求定義不夠明確,導致產出與預期不符。更重要的是,AI 通常不會主動產生測試程式碼,這使得開發品質難以保證,也不適合應用於正式的生產環境。
AI TDD(AI Test-Driven Development)正是為了解決這些問題而誕生的方法論。它的核心理念是:
- 明確的需求定義:透過結構化的對話和文件產生,消除需求模糊性
- 測試優先:確保 AI 生成的程式碼都有對應的測試覆蓋
- 品質保證:透過 TDD 的紅綠重構循環,確保程式碼品質
- 可維護性:產生的程式碼具有良好的結構和文件
Tsumiki 框架特色分析
Tsumiki 是 Classmethod 公司開發的開源 AI 開發框架,它提供了一套完整的 AI TDD 開發流程支援。框架的名稱「積木」(Tsumiki)寓意著將複雜的開發流程分解為可管理的模組化單元。
核心功能特色
1. Kairo 指令:全流程自動化
- 透過對話式引導完成需求定義
- 自動進行系統設計和架構規劃
- 智慧分解任務並建立依賴關係
- 執行完整的 TDD 驅動實作
2. TDD 指令:專業測試支援
- 支援完整的紅綠重構循環
- 自動產生測試案例
- 確保測試覆蓋率和品質
3. Rev 指令:逆向工程能力
- 分析現有程式碼結構
- 自動產生技術文件
- 協助理解和維護舊有系統
與傳統開發方式的差異
傳統的 AI 開發常常是這樣的流程:
想法 → 直接要求 AI 實作 → 調整 → 完成
而 Tsumiki 提供的 AI TDD 流程則是:
需求定義 → 系統設計 → 任務分解 → TDD 實作 → 測試驗證
這種結構化的方法不僅提高了開發品質,也讓開發過程更可控、更可預測。
安裝與基本設定
開始使用 Tsumiki 非常簡單,只需要一個指令:
npx tsumiki install
這個指令會自動將 Tsumiki 的各種指令安裝到 .claude/commands
目錄中,讓你可以在 Claude Code 中直接使用。
安裝完成後,你將獲得以下主要指令:
/kairo-requirements
:需求定義/kairo-design
:系統設計/kairo-tasks
:任務分解/kairo-implement
:TDD 實作/tdd
:獨立的 TDD 支援
Kairo 開發流程實戰體驗
讓我們透過一個實際的 Todo 應用程式開發案例,體驗 Tsumiki 的 Kairo 開發流程。
第一步:需求定義(/kairo-requirements)
執行 /kairo-requirements
指令後,AI 會開始與你進行結構化的需求對話:
/kairo-requirements 我想建立一個可以管理任務的 Todo web app
基於這個簡單的輸入,AI 會自動產生一份詳細的需求定義文件 docs/spec/todo-app-requirements.md
。這份文件包含:
- 功能需求清單
- 使用者故事描述
- 非功能性需求
- 驗收標準定義
這個過程令人驚豔的地方在於,AI 能夠從簡單的描述中推導出完整的需求規格,並以結構化的方式呈現。
第二步:系統設計(/kairo-design)
接下來執行 /kairo-design
指令,AI 會基於需求文件自動進行系統設計,產生多個設計文件在 docs/design/todo-app
資料夾下:
api-endpoints.md
:API 介面設計architecture.md
:系統架構設計dataflow.md
:資料流程圖storage-schema.sql
:資料庫 schemainterfaces.ts
:TypeScript 介面定義
每個文件都包含詳細的設計考量和技術選擇說明,展現了 AI 在系統分析和設計方面的強大能力。
第三步:任務分解(/kairo-tasks)
執行 /kairo-tasks
指令後,AI 會產生 docs/todo-app-tasks.md
檔案,這可能是整個流程中最令人印象深刻的部分。這份文件包含:
專案里程碑規劃:
- 基礎設施建置
- 核心功能開發
- 使用者介面實作
- 系統整合測試
- 品質保證驗證
- 發布準備工作
詳細任務清單:
- 每個任務都有明確的描述和驗收標準
- 標示任務之間的依賴關係
- 提供工作量預估
視覺化甘特圖:
- 顯示專案時程規劃
- 標示關鍵路徑(Critical Path)
- 識別可並行執行的任務
- 相關圖表可以參考 執行順序和排程
第四步:TDD 實作(/kairo-implement)
最後的實作階段透過 /kairo-implement
指令執行。AI 會:
- 按照 TDD 流程進行開發
- 先寫測試,再寫實作程式碼
- 執行紅綠重構循環
- 確保所有功能都有測試覆蓋
完整的實作過程和產生的程式碼,可以參考我的練習專案:tsumiki-aitdd-todo-app,其中包含了完整開發文件(日文版),不過只有完成幾個 Task 而已,我並沒有全部實作完。
注意事項與限制
執行穩定性:如果 /kairo-implement
在執行過程中因為開發環境中斷而中斷,目前還不清楚如何恢復進度。雖然重新執行指令似乎可以繼續,但這個部分還需要更多的測試和改進。
語言支援:目前 Tsumiki 的文件和提示主要是日文,對於非日文使用者可能需要額外的翻譯工作,而且實測產生的文件也都是日文,如果要顯示中文的話,可能需要時別跟 AI 指示。
Token 消耗警告:⚠️ 這是一個非常重要的注意事項!Tsumiki 在前期階段(需求定義、系統設計、任務分解)會產生大量詳細的技術文件,這個過程會消耗相當大量的 Claude API tokens。特別是在 /kairo-requirements
、/kairo-design
和 /kairo-tasks
階段,每個階段都可能消耗數千到上萬個 tokens。如果您使用的是 Claude Code Pro 方案,請務必注意您的月度 token 使用量,建議在開始大型專案前先評估專案規模和您的 token 預算。
TDD 指令功能介紹
在深入了解 Tsumiki 的 TDD 功能之前,值得一提的是,TDD 大師 Kent Beck 也曾分享過他的 Claude Code 規則,其中包含了詳細的 TDD 實踐指引和 Tidy First 原則。這些經典原則與 Tsumiki 的 AI TDD 方法論有著相同的核心理念,都強調嚴格遵循紅綠重構循環和高品質程式碼的重要性。
除了完整的 Kairo 流程外,Tsumiki 也提供獨立的 /tdd
指令,支援傳統的測試驅動開發工作流程。
紅綠重構循環支援
TDD 指令能夠協助開發者執行標準的 TDD 流程:
Red(紅燈)階段:
- 撰寫失敗的測試案例
- 確保測試正確地失敗
- 驗證測試的有效性
Green(綠燈)階段:
- 撰寫最小化的實作程式碼
- 確保測試通過
- 專注於功能實現而非最佳化
Refactor(重構)階段:
- 改善程式碼結構和可讀性
- 確保所有測試仍然通過
- 移除重複程式碼和異味
測試品質保證
Tsumiki 的 TDD 指令與 Kent Beck 的經典原則高度一致,特別注重測試品質,包括:
- 自動產生邊界測試案例(呼應 Beck 「先寫最簡單的失敗測試」原則)
- 確保適當的測試覆蓋率
- 產生有意義的測試描述(對應 Beck 「使用有意義的測試名稱描述行為」)
- 驗證測試的獨立性和可重複性
- 遵循「實作最少程式碼使測試通過」的核心理念
與現有 SDD 方法論比較
之前也有分享過一個 Kiro SDD 相關的套件文章 Kiro 規格驅動開發(SDD)流程。兩者都強調結構化的開發流程,但各有特色:
Kiro SDD 的特點
- 規格優先:強調詳細的規格文件撰寫
- 階段清晰:明確區分需求、設計、實作階段
- 文件導向:產生完整的技術文件和規格說明
Tsumiki AI TDD 的特點
- 測試優先:將 TDD 融入整個開發流程
- 品質保證:透過測試確保程式碼品質
- 自動化程度高:從需求到實作的高度自動化
互補性分析
兩種方法論其實具有很強的互補性:
結合優勢的可能性:
- Kiro 的詳細規格定義 + Tsumiki 的 TDD 實作
- SDD 的文件化流程 + AI TDD 的測試保證
- 兩者的任務分解和專案管理能力
適用場景差異:
- Kiro SDD:適合需要詳細文件的企業級專案
- Tsumiki AI TDD:適合重視程式碼品質的敏捷開發
我認為未來很有可能看到結合兩者優點的第三代開發框架,同時具備規格驅動和測試驅動的優勢。
個人評價與建議
目前研究起來,我對 Tsumiki 框架有以下評價:
優點
1. 創新的方法論 Tsumiki 成功地將傳統軟體工程的最佳實踐與 AI 開發相結合,創造出一套實用的 AI TDD 方法論。這種結構化的方法有效解決了「隨性編程」的問題。
2. 高度自動化的流程 從需求定義到最終實作,整個流程的自動化程度令人印象深刻。特別是任務分解和專案管理功能,甚至能產生專業水準的甘特圖和關鍵路徑分析。
3. 品質導向的設計 將 TDD 作為核心流程,確保產生的程式碼都有測試覆蓋,這對於正式專案的開發具有重要意義。
4. 模組化的指令設計 每個指令都專注於特定的開發階段,使用者可以根據需要選擇使用完整流程或單獨功能。
挑戰與改進空間
1. 語言本地化 目前的文件和提示主要是日文,建議增加多語言支援,特別是英文和中文的本地化。
2. 錯誤恢復機制 當執行過程中發生中斷時,缺乏明確的恢復機制。建議加入狀態檢查點和恢復功能。
3. 彈性配置 目前的流程相對固定,建議增加更多客製化選項,讓開發者可以根據專案特性調整流程。
使用建議
適合的專案類型:
- 中小型的功能開發專案
- 需要高程式碼品質的專案
- 團隊想要實驗 AI TDD 方法論的專案
- 有充足 token 預算的專案(考量文件生成成本)
建議的學習路徑:
- 先嘗試完整的 Kairo 流程,了解 AI TDD 的概念(注意 token 使用量)
- 深入使用 TDD 指令,掌握 AI 輔助的測試驅動開發
- 探索 Rev 指令,學習逆向工程的應用
- 考慮與其他方法論(如 Kiro SDD)的結合使用
Token 使用策略建議:
- 初次嘗試建議先用小型專案進行測試
- 在月初 token 額度充足時進行大型專案的前期規劃
- 考慮分階段執行,避免一次性消耗過多 tokens
- 如果 token 不足,可以只使用部分階段(如僅使用
/tdd
指令)
總結與未來展望
Tsumiki 框架代表了 AI 開發工具發展的一個重要里程碑。它不僅解決了「隨性編程」的問題,更重要的是提供了一套可行的 AI TDD 方法論,讓 AI 開發也能遵循軟體工程的最佳實踐。
技術價值
對開發者的價值:
- 提供結構化的 AI 開發流程
- 確保程式碼品質和可維護性
- 減少需求理解上的偏差
- 自動化繁瑣的專案管理工作
對產業的意義:
- 推動 AI 開發工具的標準化
- 展示 AI 與傳統軟體工程結合的可能性
- 為企業級 AI 開發提供可行的方案
未來發展方向
我認為 AI TDD 將會是未來 AI 開發的重要趨勢,而 Tsumiki 作為先驅者,很可能會帶動整個領域的發展。未來可能的發展方向包括:
- 與更多 AI 平台的整合:不僅限於 Claude Code
- 企業級功能增強:更好的團隊協作和版本控制支援
- 方法論的融合:結合其他成功的開發方法論
- 工具生態的建立:更多配套工具和外掛程式
最終思考
Tsumiki 讓我再次深刻感受到 AI 技術的快速進步。它不僅是一個開發工具,更是一種思維方式的轉變 —— 從「讓 AI 直接寫程式碼」轉向「讓 AI 遵循軟體工程最佳實踐」。
這種轉變對整個軟體開發產業具有深遠的意義。它告訴我們,AI 的價值不在於取代傳統的開發方法,而在於增強和改進這些經過時間驗證的最佳實踐。
對於想要探索 AI 開發工具的開發者,我強烈建議試用 Tsumiki。不僅因為它的功能強大,更因為它代表了一種新的思維方式 —— 一種將 AI 的創造力與人類智慧的結構化思考相結合的方式。
如果你對 AI TDD 感興趣,不妨從 Tsumiki 的 GitHub repository 開始你的探索之旅。相信你會和我一樣,對這個框架所展現的可能性感到驚豔。
支持創作
如果這篇文章對您有幫助,歡迎透過 贊助連結 支持我持續創作優質內容。您的支持是我前進的動力!
圖片來源:AI 產生