6.7 KiB
規劃 (Plan) - 多模型協作規劃
多模型協作規劃 - 上下文檢索 + 雙模型分析 → 生成逐步實作計畫。
$ARGUMENTS
核心協議 (Core Protocols)
- 語言協議:與工具/模型互動時使用 英文 (English),與使用者溝通時使用使用者的語言。
- 強制平行:對 Codex/Gemini 的呼叫 必須 使用
run_in_background: true(包括單一模型呼叫,以避免阻塞主執行緒)。 - 程式碼主權 (Code Sovereignty):外部模型 完全沒有檔案系統寫入權限,所有修改均由 Claude 執行。
- 止損機制:在驗證當前階段輸出之前,不要進入下一階段。
- 僅限規劃:此指令允許讀取上下文並寫入
.claude/plan/*計畫檔案,但 絕對禁止修改生產程式碼。
多模型呼叫規範
呼叫語法 (平行處理:使用 run_in_background: true):
Bash({
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
ROLE_FILE: <角色提示詞路徑>
<TASK>
需求:<增強後的需求>
上下文:<檢索到的專案上下文>
</TASK>
輸出:包含偽代碼的逐步實作計畫。請勿修改任何檔案。
EOF",
run_in_background: true,
timeout: 3600000,
description: "簡短描述"
})
模型參數說明:
{{GEMINI_MODEL_FLAG}}:當使用--backend gemini時,請替換為--gemini-model gemini-3-pro-preview(注意後方空格);對於 codex 請使用空字串。
角色提示詞 (Role Prompts):
| 階段 | Codex | Gemini |
|---|---|---|
| 分析 (Analysis) | ~/.claude/.ccg/prompts/codex/analyzer.md |
~/.claude/.ccg/prompts/gemini/analyzer.md |
| 規劃 (Planning) | ~/.claude/.ccg/prompts/codex/architect.md |
~/.claude/.ccg/prompts/gemini/architect.md |
會話重用:每次呼叫都會返回 SESSION_ID: xxx(通常由 wrapper 輸出),必須儲存 以供後續 /ccg:execute 使用。
等待背景任務 (最大逾時 600000ms = 10 分鐘):
TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
重要 (IMPORTANT):
- 必須指定
timeout: 600000,否則預設的 30 秒會導致提前逾時。 - 若 10 分鐘後仍未完成,請使用
TaskOutput繼續輪詢,絕對不要殺死進程 (Kill the process)。 - 若因逾時跳過等待,必須呼叫
AskUserQuestion詢問使用者是否繼續等待或殺死任務。
執行工作流
規劃任務:$ARGUMENTS
階段 1:完整上下文檢索 (Full Context Retrieval)
[Mode: Research]
1.1 提示詞增強 (必須首先執行)
必須呼叫 mcp__ace-tool__enhance_prompt 工具:
mcp__ace-tool__enhance_prompt({
prompt: "$ARGUMENTS",
conversation_history: "<最近 5-10 輪對話>",
project_root_path: "$PWD"
})
等待增強後的提示詞,並在後續所有階段中 將原始 $ARGUMENTS 替換為增強後的結果。
1.2 上下文檢索
呼叫 mcp__ace-tool__search_context 工具:
mcp__ace-tool__search_context({
query: "<基於增強後需求的語義查詢>",
project_root_path: "$PWD"
})
- 使用自然語言構建語義查詢 (Where/What/How)。
- 絕對不要基於假設進行回答。
- 若 MCP 不可用:回退到使用 Glob + Grep 進行檔案發現與關鍵符號定位。
1.3 完整性檢查
- 必須獲取相關類別、函式、變數的 完整定義與簽名。
- 若上下文不足,觸發 遞迴檢索。
- 優先輸出:入口檔案 + 行號 + 關鍵符號名稱;僅在消除歧義必要時加入最小代碼片段。
1.4 需求對齊
- 若需求仍有歧義,必須 輸出引導性問題供使用者回答。
- 直到需求邊界清晰 (無遺漏、無冗餘)。
階段 2:多模型協作分析 (Multi-Model Collaborative Analysis)
[Mode: Analysis]
2.1 分派輸入
平行呼叫 Codex 與 Gemini (run_in_background: true):
將 原始需求 (不帶預設意見) 分派給兩個模型:
-
Codex 後端分析:
- ROLE_FILE:
~/.claude/.ccg/prompts/codex/analyzer.md - 關注點:技術可行性、架構影響、效能考量、潛在風險。
- 輸出:多維度解決方案 + 優缺點分析。
- ROLE_FILE:
-
Gemini 前端分析:
- ROLE_FILE:
~/.claude/.ccg/prompts/gemini/analyzer.md - 關注點:UI/UX 影響、使用者體驗、視覺設計。
- 輸出:多維度解決方案 + 優缺點分析。
- ROLE_FILE:
使用 TaskOutput 等待兩個模型的完整結果。儲存 SESSION_ID (CODEX_SESSION 與 GEMINI_SESSION)。
2.2 交叉驗證
整合觀點並進行優化迭代:
- 識別共識 (強力信號)。
- 識別分歧 (需要權衡)。
- 優勢互補:後端邏輯以 Codex 為準,前端設計以 Gemini 為準。
- 邏輯推理:消除方案中的邏輯漏洞。
2.3 (選擇性但建議執行) 雙模型計畫草案
為了減少 Claude 綜合計畫中的遺漏風險,可以平行要求兩個模型輸出「計畫草案」 (依然 不允許 修改檔案):
-
Codex 計畫草案 (後端權威):
- ROLE_FILE:
~/.claude/.ccg/prompts/codex/architect.md - 輸出:逐步計畫 + 偽代碼 (關注點:資料流/邊緣情況/錯誤處理/測試策略)。
- ROLE_FILE:
-
Gemini 計畫草案 (前端權威):
- ROLE_FILE:
~/.claude/.ccg/prompts/gemini/architect.md - 輸出:逐步計畫 + 偽代碼 (關注點:資訊架構/互動/無障礙/視覺一致性)。
- ROLE_FILE:
使用 TaskOutput 等待結果,記錄建議中的關鍵差異。
2.4 生成實作計畫 (Claude 最終版本)
綜合雙方分析,生成 逐步實作計畫:
## 實作計畫:<任務名稱>
### 任務類型
- [ ] 前端 (→ Gemini)
- [ ] 後端 (→ Codex)
- [ ] 全端 (→ 平行處理)
### 技術方案
<從 Codex + Gemini 分析中綜合出的最佳方案>
### 實作步驟
1. <步驟 1> - 預期交付物
2. <步驟 2> - 預期交付物
...
### 關鍵檔案
| 檔案 | 操作 | 描述 |
|------|-----------|-------------|
| path/to/file.ts:L10-L50 | 修改 | 描述 |
### 風險與修補建議
| 風險 | 修補建議 |
|------|------------|
### SESSION_ID (供 /ccg:execute 使用)
- CODEX_SESSION: <session_id>
- GEMINI_SESSION: <session_id>
階段 2 結束:計畫交付 (而非執行)
/ccg:plan 的職責到此結束,必須執行以下動作:
-
向使用者展示完整的實作計畫 (包含偽代碼)。
-
將計畫儲存至
.claude/plan/<功能名稱>.md(從需求中擷取功能名稱,例如:user-auth,payment-module)。 -
以 粗體文字 輸出提示訊息 (必須使用實際儲存的檔案路徑):
計畫已生成並儲存至
.claude/plan/實際功能名稱.md