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

205 lines
6.7 KiB
Markdown
Raw Permalink 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.

# 多模型執行 (Multi-Model Execute)
結構化執行工作流:讀取計畫 → 檢索上下文 → 獲取原型 → 程式碼實作 → 稽核與交付。
## 執行流程
1. **識別輸入類型**
- 計畫檔案路徑 (例如:`.claude/plan/xxx.md`)
- 直接的任務描述
2. **讀取計畫內容**
- 如果提供了計畫檔案路徑,則讀取並解析。
- 擷取任務類型、實作步驟、關鍵檔案、SESSION_ID。
3. **執行前確認**
- 如果輸入是「直接任務描述」或缺少 `SESSION_ID` / 關鍵檔案,則先向使用者確認。
- 如果無法確認使用者對計畫回覆了 "Y",則在繼續之前必須再次確認。
4. **任務類型路由**
| 任務類型 | 偵測指標 | 路由路徑 |
|-----------|-----------|-------|
| **前端 (Frontend)** | 頁面、元件、UI、樣式、佈局 | Gemini |
| **後端 (Backend)** | API、介面、資料庫、邏輯、演算法 | Codex |
| **全端 (Fullstack)** | 同時包含前端與後端行為 | Codex ∥ Gemini 平行處理 |
---
### 階段 1快速上下文檢索 (Quick Context Retrieval)
`[Mode: Retrieval]`
**必須使用 MCP 工具進行快速上下文檢索,不得手動逐一讀取檔案。**
根據計畫中的「關鍵檔案」列表,呼叫 `mcp__ace-tool__search_context`
```
mcp__ace-tool__search_context({
query: "<基於計畫內容的語義查詢,包含關鍵檔案、模組、函式名稱>",
project_root_path: "$PWD"
})
```
**檢索策略**
- 從計畫的「關鍵檔案」表格中擷取目標路徑。
- 構建語義查詢,涵蓋:入口檔案、依賴模組、相關型別定義。
- 如果結果不足,則增加 1-2 次遞迴檢索。
- **絕對不要**使用 Bash + find/ls 手動探索專案結構。
**檢索之後**
- 整理檢索到的程式碼片段。
- 確認實作所需的上下文已齊全。
- 進入階段 3。
---
### 階段 3獲取原型 (Prototype Acquisition)
`[Mode: Prototype]`
**依據任務類型進行路由**
#### 路徑 A前端/UI/樣式 → Gemini
**限制**:上下文 < 32k tokens
1. 呼叫 Gemini (使用 `~/.claude/.ccg/prompts/gemini/frontend.md`)。
2. 輸入計畫內容 + 檢索到的上下文 + 目標檔案
3. 輸出`僅限 Unified Diff Patch嚴禁進行任何實際修改。`
4. **Gemini 是前端設計權威,其產出的 CSS/React/Vue 原型即為最終視覺基準。**
5. **警告**忽略 Gemini 關於後端邏輯的建議
6. 如果計畫包含 `GEMINI_SESSION`優先使用 `resume <GEMINI_SESSION>`
#### 路徑 B後端/邏輯/演算法 → Codex
1. 呼叫 Codex (使用 `~/.claude/.ccg/prompts/codex/architect.md`)。
2. 輸入計畫內容 + 檢索到的上下文 + 目標檔案
3. 輸出`僅限 Unified Diff Patch嚴禁進行任何實際修改。`
4. **Codex 是後端邏輯權威,善用其邏輯推理與偵錯能力。**
5. 如果計畫包含 `CODEX_SESSION`優先使用 `resume <CODEX_SESSION>`
#### 路徑 C全端 → 平行呼叫
1. **平行呼叫** (`run_in_background: true`)
- Gemini處理前端部分
- Codex處理後端部分
2. 使用 `TaskOutput` 等待兩個模型的完整結果
3. 各自使用計畫中對應的 `SESSION_ID` 進行 `resume` (若缺失則建立新會話)。
**請遵循上方「多模型呼叫規範」中的「重要」指令。**
---
### 階段 4程式碼實作 (Code Implementation)
`[Mode: Implement]`
**Claude 作為程式碼主權者 (Code Sovereign) 執行以下步驟**
1. **讀取 Diff**解析 Codex/Gemini 返回的 Unified Diff Patch
2. **心智沙盒**
- 模擬將 Diff 應用到目標檔案
- 檢查邏輯一致性
- 識別潛在衝突或副作用
3. **重構與清理**
- 髒原型 (dirty prototype)」重構為**高可讀性具維護性企業級的程式碼**。
- 移除冗餘程式碼
- 確保符合專案現有的程式碼規範
- **除非必要否則不要生成註釋/文件**程式碼應能自我解釋 (Self-explanatory)。
4. **最小範圍**
- 修改僅限於需求範圍
- **強制審查**副作用
- 進行針對性的修正
5. **套用變更**
- 使用 Edit/Write 工具執行實際修改
- **僅修改必要程式碼**絕對不影響使用者現有的其他功能
6. **自我驗證** (強烈建議)
- 執行專案現有的 lint / 型別檢查 / 測試 (優先針對最小相關範圍)。
- 若失敗先修復迴歸問題 (Regressions)再進入階段 5
---
### 階段 5稽核與交付 (Audit and Delivery)
`[Mode: Audit]`
#### 5.1 自動稽核
**變更生效後,必須立即平行呼叫** Codex Gemini 進行程式碼審查 (Code Review)
1. **Codex 審查** (`run_in_background: true`)
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/reviewer.md`
- 輸入變更後的 Diff + 目標檔案
- 關注點安全性性能錯誤處理邏輯正確性
2. **Gemini 審查** (`run_in_background: true`)
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/reviewer.md`
- 輸入變更後的 Diff + 目標檔案
- 關注點無障礙性設計一致性使用者體驗
使用 `TaskOutput` 等待兩個模型的完整審查結果優先重用階段 3 的工作階段 (`resume <SESSION_ID>`) 以保持上下文一致性。
#### 5.2 整合與修復
1. 綜合 Codex + Gemini 的審查回饋。
2. 根據信任規則進行權衡:後端以 Codex 為準,前端以 Gemini 為準。
3. 執行必要的修復。
4. 視需要重複階段 5.1 (直到風險降至可接受範圍)。
#### 5.3 交付確認
稽核通過後,向使用者報告:
```markdown
## 執行完成
### 變更摘要
| 檔案 | 操作 | 描述 |
|------|-----------|-------------|
| path/to/file.ts | 已修改 | 說明 |
### 稽核結果
- Codex: <通過 / 發現 N 個問題>
- Gemini: <通過 / 發現 N 個問題>
### 後續建議
1. [ ] <建議的測試步驟>
2. [ ] <建議的驗證步驟>
```
---
## 關鍵規則
1. **程式碼主權 (Code Sovereignty)** 所有檔案修改均由 Claude 執行,外部模型無寫入權限。
2. **重構原始原型** Codex/Gemini 的輸出被視為草稿,必須經過重構。
3. **信任規則** 後端信任 Codex前端信任 Gemini。
4. **最小變更** 僅修改必要程式碼,無副作用。
5. **強制稽核** 變更後必須進行多模型程式碼審查。
---
## 使用方式
```bash
# 執行計畫檔案
/ccg:execute claude/plan/feature-name.md
# 直接執行任務 (針對已在上下文中討論過的計畫)
/ccg:execute 根據之前的計畫實作用戶身分驗證
```
---
## 與 /ccg:plan 的關係
1. `/ccg:plan` 生成計畫 + SESSION_ID。
2. 使用者以 "Y" 確認。
3. `/ccg:execute` 讀取計畫,重用 SESSION_ID並執行實作。