claude-code/claude-zh/commands/multi-plan.md

201 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 規劃 (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`)
**原始需求** (不帶預設意見) 分派給兩個模型:
1. **Codex 後端分析**
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/analyzer.md`
- 關注點:技術可行性、架構影響、效能考量、潛在風險。
- 輸出:多維度解決方案 + 優缺點分析。
2. **Gemini 前端分析**
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/analyzer.md`
- 關注點UI/UX 影響、使用者體驗、視覺設計。
- 輸出:多維度解決方案 + 優缺點分析。
使用 `TaskOutput` 等待兩個模型的完整結果。**儲存 SESSION_ID** (`CODEX_SESSION` 與 `GEMINI_SESSION`)。
#### 2.2 交叉驗證
整合觀點並進行優化迭代:
1. **識別共識** (強力信號)。
2. **識別分歧** (需要權衡)。
3. **優勢互補**:後端邏輯以 Codex 為準,前端設計以 Gemini 為準。
4. **邏輯推理**:消除方案中的邏輯漏洞。
#### 2.3 (選擇性但建議執行) 雙模型計畫草案
為了減少 Claude 綜合計畫中的遺漏風險,可以平行要求兩個模型輸出「計畫草案」 (依然 **不允許** 修改檔案)
1. **Codex 計畫草案** (後端權威)
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/architect.md`
- 輸出:逐步計畫 + 偽代碼 (關注點:資料流/邊緣情況/錯誤處理/測試策略)。
2. **Gemini 計畫草案** (前端權威)
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/architect.md`
- 輸出:逐步計畫 + 偽代碼 (關注點:資訊架構/互動/無障礙/視覺一致性)。
使用 `TaskOutput` 等待結果,記錄建議中的關鍵差異。
#### 2.4 生成實作計畫 (Claude 最終版本)
綜合雙方分析,生成 **逐步實作計畫**
```markdown
## 實作計畫:<任務名稱>
### 任務類型
- [ ] 前端 (→ 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` 的職責到此結束,必須執行以下動作**
1. 向使用者展示完整的實作計畫 (包含偽代碼)。
2. 將計畫儲存至 `.claude/plan/<功能名稱>.md` (從需求中擷取功能名稱,例如:`user-auth`, `payment-module`)。
3.**粗體文字** 輸出提示訊息 (必須使用實際儲存的檔案路徑)
---
**計畫已生成並儲存至 `.claude/plan/實際功能名稱.md`**