跳轉至

🔄 工作流程比較:程式碼層級分析

本文根據源代碼實作,從技術角度解釋 full_stack_devvibe_startboring_session_start 之間的差異。

特性 full_stack_dev vibe_start boring_session_start
類型 Prompt (食譜/配方) Prompt (SOP/程序) Tool (系統工具)
來源 src/boring/mcp/prompts.py src/boring/mcp/prompts.py src/boring/mcp/tools/session.py
機制 純文字指令 (Text Instruction) 純文字指令 (Text Instruction) Python 狀態機 (State Machine)
狀態 無狀態 (依賴 Context Window) 無狀態 (依賴 Context Window) 有狀態 (存於硬碟 JSON)
強制性 低 (僅建議) 中 (SOP 規範) (程式碼強制)

1. full_stack_dev (The Recipe - 特定食譜)

焦點: 特定技術棧的實作。

  • 代碼位置: prompts.py (Line 283)
  • 作用: 它就像一個靜態的「食譜」,專門用於構建 FastAPI + React 應用程式。
  • 流程:
    1. 架構設計
    2. 後端開發 (FastAPI)
    3. 前端開發 (React)
    4. 部署
  • 適用時機: 只有當你明確想要以「瀑布式」的簡化流程構建這個特定技術組合時使用。它不會以程式化方式強制執行品質閘門。
# 代碼片段 (prompts.py)
@mcp.prompt(name="full_stack_dev", description="全棧應用開發...")
def full_stack_dev(...):
    return """Phase 2: 後端開發... Phase 3: 前端開發..."""

2. vibe_start (The Methodology - 方法論)

焦點: 通用最佳實踐與階段流程。

  • 代碼位置: prompts.py (Line 206)
  • 作用: 它指導 Agent 遵循 "Vibe Coding" 方法論 (Spec -> Plan -> Implement -> Verify)。
  • 流程:
    1. speckit_constitution (原則建立)
    2. speckit_checklist (品質清單)
    3. boring_multi_agent (執行開發)
  • 關鍵差異: 與 boring_session_start 不同,這只是一個文字 Prompt。Agent 有可能會產生幻覺跳過步驟。如果 Context Window 溢出,它就沒有「記憶」了。

3. boring_session_start (The System - 完整系統)

焦點: 穩健性、狀態恢復能力、人類介入 (Human-in-the-Loop)。

  • 代碼位置: session.py (Line 223)
  • 作用: 它啟動一個由 Python 代碼管理的 狀態機 (State Machine)
  • 持久性: 它將狀態保存到 .boring/memory/sessions/{id}.json。這意味著即使對話崩潰,也可以通過 vibe_session_continue 完美恢復。
  • 強制性: 它明確定義了 SessionPhase (Alignment, Planning, Implementation...)。如果沒有呼叫 boring_session_confirm(),程式邏輯將強制禁止你進入實作階段。
# 代碼片段 (session.py)
class VibeSessionManager:
    def create_session(self, goal: str) -> VibeSession:
        # 實際在硬碟建立檔案
        self.save_session(session)

@audited
def boring_session_start(...):
    # 初始化管理器並返回 Phase 1 輸出
    manager = get_session_manager(project_root)
    session = manager.create_session(...)

🎯 總結建議

目標 推薦工具
嚴肅、複雜的開發工作 boring_session_start (透過 vibe_session 指令)
快速、一次性任務 vibe_start
學習全棧開發流程 full_stack_dev

最佳實踐: 對於專業工作,請始終優先使用 boring_session_start (說 "Start Session" 或「啟動 Session」),因為它保證了流程的嚴謹執行並自動保存進度。