# KIRO IDE 實戰應用指南 這份指南將深入探討 KIRO 在實際開發中的應用流程,整合其兩大核心功能:**規格 (Specs)** 與 **鉤子 (Hooks)**,幫助您了解如何最大化利用這個 AI 優先的開發環境。 ## 1. 核心理念:Vibe vs. Spec 雙模式開發 KIRO 提供了兩種截然不同的開發模式,您可以根據專案需求選擇: - **Vibe 模式 (先聊天後建構)**: - 也被戲稱為 **"YOLO 模式"**。 - 流程類似於 Cursor 等其他 AI IDE,您直接下達指令,AI 立即修改程式碼。 - 適合探索想法、快速迭代和需求尚不清晰的場景。 - **Spec 模式 (先規劃後建構)**: - 也被戲稱為 **"過度工程模式 (Overengineer Mode)"**。 - 這是 KIRO 的最大亮點。它引入了結構化的開發流程,雖然速度較慢,但**極大地提升了 AI 輸出的準確性和可靠性**,減少了來回溝通修改的時間。 - 適合功能想得比較透徹、需要前期規劃的專案,或以結構化方式建構功能的場景。 --- ## 2. 起手式:從代理引導 (Agent Steering) 開始 在開始大型功能開發前,強烈建議先執行 **Agent Steering**。這一步會讓 KIRO 分析您的整個專案,產生指導 AI 行為的上下文文件,確保後續所有操作都基於對專案的充分理解。 1. KIRO 會掃描您的程式碼庫。 2. 在 `.kiro/steering/` 目錄下生成三個核心文件: - `product.md`:應用程式的產品願景和核心功能描述。 - `structure.md`:專案的目錄結構、路由模式、命名慣例等。 - `tech.md`:使用的技術棧、框架版本、腳本命令等。 3. 這些文件都是 **Markdown 格式**,您可以隨時手動編輯或要求 AI 更新,以確保 AI 的認知與專案保持同步。 --- ## 3. Spec 模式深度解析:從想法到實作的三部曲 Spec 模式會將您的一個簡單提示(Prompt)轉化為一個嚴謹的三步驟開發流程。 ### **第一步:生成需求 (`requirements.md`)** 當您輸入一個功能需求(例如:「為我的產品增加匿名評論功能」)後,KIRO 不會馬上寫程式碼。 - 它會先生成一份 `requirements.md` 文件。 - 文件內容包含: - **用戶故事 (User Stories)**:將您的需求轉化為多個「身為一個用戶,我想要...」的標準格式。 - **驗收標準 (Acceptance Criteria)**:為每個用戶故事定義具體的、可驗證的完成標準,涵蓋各種邊界情況。 - **優勢**:這個步驟能**將一個模糊的提示變得清晰**,明確 AI 即將要做的假設。您可以審查這份文件,若不符預期,可以要求 KIRO 修改,或直接手動編輯文件。 ### **第二步:生成設計 (`design.md`)** 當您對需求文件感到滿意後,便可進入設計階段。 - KIRO 會**先分析現有的程式碼庫**,以理解當前的架構和技術棧。 - 接著,它會生成一份非常詳細的 `design.md` 文件,可能包含: - **架構總覽**:系統如何擴展現有功能。 - **數據流圖**:用戶操作的數據傳遞路徑。 - **技術棧確認**:確認使用的資料庫、前端框架等。 - **API 端點** 和 **數據庫結構 (Schemas)** 的定義。 - **TypeScript 接口 (Interfaces)**。 - 甚至可以使用 **Mermaid** 語法生成流程圖。 - **優勢**:在 AI 動手前,您就能**精確地知道它將要如何實作**,徹底解決了傳統 AI 工具「盲盒式」開發的問題。 ### **第三步:生成實作計畫 (`tasks.md`)** 設計確認後,KIRO 會將設計文檔拆解成一份可執行的任務清單。 - 生成 `tasks.md` 文件。 - 這份清單包含了**一系列帶有子任務的詳細步驟**,例如: 1. 建立後端 API 端點。 2. 更新數據庫模型。 3. 建立前端 React 組件。 4. 為組件編寫單元測試(即使您沒要求)。 5. 實現全面的錯誤處理。 - **優勢**:任務被拆解得非常細緻,您可以逐一執行,並且每個任務都與最初的需求相關聯。 --- ## 4. 執行與互動 在 `tasks.md` 文件中,您可以點擊每個任務旁的 `Start Task` 來讓 KIRO 開始編碼。 - **任務佇列**:您可以一次點擊多個任務,它們會被加入到執行佇列中,KIRO 會自動一個接一個完成。 - **同步性**:KIRO 的目標是讓 Spec 文件與您的程式碼庫保持同步。當您手動修改程式碼後,可以要求 KIRO 更新 Spec;反之亦然。 ### **重要注意事項** - **命令授權**:在執行任務時,KIRO 可能會請求運行終端命令(如 `npm run dev`)。您需要手動**授權**(Run)或**拒絕**(Reject)。您可以選擇信任某個特定命令,以便未來自動執行。 - **需要監督**:您不能完全放手讓它跑。有時開發伺服器啟動後,KIRO 會卡住等待,需要您手動停止它才會繼續下一步。 - **單一執行佇列**:這是目前 KIRO 的一個主要痛點。**所有任務(包括 Spec 任務和 Hooks)都共享同一個佇列**。這意味著當一個耗時的任務正在執行時,您無法同時執行其他操作,會感覺有點慢。 --- ## 5. 自動化的利器:代理鉤子 (Agent Hooks) Hooks 是 KIRO 的另一個殺手級功能,它是一種**事件驅動的自動化工具**,類似 "If This Then That"。 - **觸發事件**:監聽如**文件創建、保存、刪除**等事件。 - **執行操作**:當事件觸發時,在後台自動執行一個預設的 AI 指令。 ### **創建與應用** 1. **用自然語言描述**:您只需用白話描述您想要的鉤子,例如:「當我更新 package.json 的 scripts 時,自動更新 README.md 文件中的可用腳本列表」。 2. **KIRO 生成鉤子**:AI 會為您生成一個更複雜的系統提示 (System Prompt) 和配置文件。 3. **共享與協作**:鉤子會被保存為專案中的一個文件(在 `.kiro/hooks/` 目錄下),這意味著您可以將它**提交到 Git**,與團隊共享。這對於確保整個團隊的開發規範一致性(如:每次提交前自動格式化、添加單元測試)非常有幫助。 ### **實用案例** - **文檔同步**:當您保存一個 API 文件時,自動更新相關的 Postman collection 或文檔。 - **自動化測試**:當您保存一個 React 組件時,自動為其創建或更新單元測試文件。 - **程式碼優化**:當您保存程式碼時,自動檢查是否有可優化的地方。 --- ## 6. 其他功能與定價 - **MCP 伺服器**:KIRO 提供了清晰的 UI 來管理 MCP 伺服器,而不是藏在設定深處。 - **Autopilot 模式**:一個開關按鈕,開啟後 KIRO 在修改文件前不會請求批准,體驗更接近其他 AI IDE。 - **上下文窗口**:可以添加文件、程式碼、URL、圖片等多種上下文。 - **模型選擇**:目前由 Claude 驅動,支持 Sonnet 3.7 和 4.0。 - **定價**: - **預覽期間**:完全免費。 - **未來定價**: - **免費版**:每月 50 次互動。 - **Pro 版 ($19/月)**:每月 1,000 次互動。 - **Pro+ 版 ($39/月)**:每月 3,000 次互動。 --- ## 7. 總結:優缺點與權衡 ### **優點** 👍 - **極高的準確性**:Spec 模式通過結構化流程,顯著提高了 AI 輸出的可靠性。 - **強大的自動化**:Hooks 功能是自動化重複性任務和保證團隊一致性的利器。 - **清晰的開發流程**:在 AI 動手前就清楚了解它的完整計畫,避免了意外的修改。 - **優秀的 UI 整合**:將 Spec、Hooks、MCP 等複雜功能以直觀的 UI 呈現。 ### **缺點** 👎 - **速度偏慢**:由於其詳盡的分析和單一執行佇列,整體感覺比其他工具慢。 - **資源消耗大**:運行時可能會讓電腦發熱,被形容為一隻「鉛做的鬼魂 (lead ghost)」。 - **預覽版不穩定**:目前仍是預覽版,偶爾會遇到 bug 或 UI 無響應的情況。 ### **最終權衡** KIRO 提供的是一種**用速度換取可靠性**的開發體驗。如果您厭倦了與 AI 反复拉扯、修正它的錯誤,並希望將軟體工程的最佳實踐融入 AI 開發流程,那麼 KIRO 帶來的結構化和準確性將會讓您印象深刻。