Files
everything-claude-code/docs/zh-CN/commands/multi-execute.md
2026-03-22 15:39:24 -07:00

322 lines
10 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.
# 执行 - 多模型协同执行
多模型协同执行 - 从计划获取原型 → Claude 重构并实施 → 多模型审计与交付。
$ARGUMENTS
***
## 核心协议
* **语言协议**:与工具/模型交互时使用**英语**,与用户沟通时使用用户的语言
* **代码主权**:外部模型**零文件系统写入权限**,所有修改由 Claude 执行
* **脏原型重构**:将 Codex/Gemini 统一差异视为“脏原型”,必须重构为生产级代码
* **止损机制**:当前阶段输出未经验证前,不得进入下一阶段
* **前提条件**仅在用户明确回复“Y”到 `/ccg:plan` 输出后执行(如果缺失,必须先确认)
***
## 多模型调用规范
**调用语法**(并行:使用 `run_in_background: true`
```
# 恢复会话调用(推荐)- 实现原型
Bash({
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
ROLE_FILE: <role prompt path>
<TASK>
Requirement: <task description>
Context: <plan content + target files>
</TASK>
OUTPUT: Unified Diff Patch ONLY. Strictly prohibit any actual modifications.
EOF",
run_in_background: true,
timeout: 3600000,
description: "简要描述"
})
# 新建会话调用 - 实现原型
Bash({
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
ROLE_FILE: <role prompt path>
<TASK>
Requirement: <task description>
Context: <plan content + target files>
</TASK>
OUTPUT: Unified Diff Patch ONLY. Strictly prohibit any actual modifications.
EOF",
run_in_background: true,
timeout: 3600000,
description: "简要描述"
})
```
**审计调用语法**(代码审查 / 审计):
```
Bash({
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
ROLE_FILE: <role prompt path>
<TASK>
Scope: 审计最终的代码变更。
Inputs:
- 已应用的补丁 (git diff / final unified diff)
- 涉及的文件 (必要时提供相关摘录)
Constraints:
- 请勿修改任何文件。
- 请勿输出假设有文件系统访问权限的工具命令。
</TASK>
OUTPUT:
1) 一个按优先级排序的问题列表 (严重程度, 文件, 理由)
2) 具体的修复方案;如果需要更改代码,请包含在一个用围栏代码块包裹的 Unified Diff Patch 中。
EOF",
run_in_background: true,
timeout: 3600000,
description: "简要描述"
})
```
**模型参数说明**
* `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview`(注意尾随空格);对于 codex 使用空字符串
**角色提示**
| 阶段 | Codex | Gemini |
|-------|-------|--------|
| 实施 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/frontend.md` |
| 审查 | `~/.claude/.ccg/prompts/codex/reviewer.md` | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
**会话重用**:如果 `/ccg:plan` 提供了 SESSION\_ID使用 `resume <SESSION_ID>` 来重用上下文。
**等待后台任务**(最大超时 600000ms = 10 分钟):
```
TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
```
**重要**
* 必须指定 `timeout: 600000`,否则默认 30 秒会导致过早超时
* 如果 10 分钟后仍未完成,继续使用 `TaskOutput` 轮询,**切勿终止进程**
* 如果因超时而跳过等待,**必须调用 `AskUserQuestion` 询问用户是继续等待还是终止任务**
***
## 执行工作流
**执行任务**$ARGUMENTS
### 阶段 0读取计划
`[Mode: Prepare]`
1. **识别输入类型**
* 计划文件路径(例如 `.claude/plan/xxx.md`
* 直接任务描述
2. **读取计划内容**
* 如果提供了计划文件路径,读取并解析
* 提取任务类型、实施步骤、关键文件、SESSION\_ID
3. **执行前确认**
* 如果输入是“直接任务描述”或计划缺少 `SESSION_ID` / 关键文件:先与用户确认
* 如果无法确认用户已回复“Y”到计划在继续前必须再次确认
4. **任务类型路由**
| 任务类型 | 检测 | 路由 |
|-----------|-----------|-------|
| **前端** | 页面、组件、UI、样式、布局 | Gemini |
| **后端** | API、接口、数据库、逻辑、算法 | Codex |
| **全栈** | 包含前端和后端 | Codex ∥ Gemini 并行 |
***
### 阶段 1快速上下文检索
`[Mode: Retrieval]`
**如果 ace-tool MCP 可用**,使用它进行快速上下文检索:
基于计划中的“关键文件”列表,调用 `mcp__ace-tool__search_context`
```
mcp__ace-tool__search_context({
query: "<基于计划内容的语义查询,包括关键文件、模块、函数名>",
project_root_path: "$PWD"
})
```
**检索策略**
* 从计划的“关键文件”表中提取目标路径
* 构建语义查询,涵盖:入口文件、依赖模块、相关类型定义
* 如果结果不足,添加 1-2 次递归检索
**如果 ace-tool MCP 不可用**,使用 Claude Code 内置工具作为后备方案:
1. **Glob**:从计划的“关键文件”表中查找目标文件(例如,`Glob("src/components/**/*.tsx")`
2. **Grep**:在代码库中搜索关键符号、函数名、类型定义
3. **Read**:读取发现的文件以收集完整的上下文
4. **Task (探索代理)**:对于更广泛的探索,使用 `Task``subagent_type: "Explore"`
**检索后**
* 组织检索到的代码片段
* 确认实施所需的完整上下文
* 进入阶段 3
***
### 阶段 3原型获取
`[Mode: Prototype]`
**基于任务类型路由**
#### 路由 A前端/UI/样式 → Gemini
**限制**:上下文 < 32k 令牌
1. 调用 Gemini使用 `~/.claude/.ccg/prompts/gemini/frontend.md`
2. 输入:计划内容 + 检索到的上下文 + 目标文件
3. 输出:`Unified Diff Patch ONLY. Strictly prohibit any actual modifications.`
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 ONLY. Strictly prohibit any actual modifications.`
4. **Codex 是后端逻辑权威,利用其逻辑推理和调试能力**
5. 如果计划包含 `CODEX_SESSION`:优先使用 `resume <CODEX_SESSION>`
#### 路由 C全栈 → 并行调用
1. **并行调用**`run_in_background: true`
* Gemini处理前端部分
* Codex处理后端部分
2. 使用 `TaskOutput` 等待两个模型的完整结果
3. 每个模型使用计划中相应的 `SESSION_ID` 作为 `resume`(如果缺失则创建新会话)
**遵循上面 `IMPORTANT` 中的 `Multi-Model Call Specification` 指令**
***
### 阶段 4代码实施
`[Mode: Implement]`
**Claude 作为代码主权执行以下步骤**
1. **读取差异**:解析 Codex/Gemini 返回的统一差异补丁
2. **心智沙盒**
* 模拟将差异应用到目标文件
* 检查逻辑一致性
* 识别潜在冲突或副作用
3. **重构与清理**
* 将“脏原型”重构为**高度可读、可维护、企业级代码**
* 移除冗余代码
* 确保符合项目现有代码标准
* **除非必要,不要生成注释/文档**,代码应具有自解释性
4. **最小范围**
* 更改仅限于需求范围
* **强制审查**副作用
* 进行针对性修正
5. **应用更改**
* 使用编辑/写入工具执行实际修改
* **仅修改必要代码**,绝不影响用户的其他现有功能
6. **自验证**(强烈推荐):
* 运行项目现有的 lint / 类型检查 / 测试(优先考虑最小相关范围)
* 如果失败:先修复回归问题,然后进入阶段 5
***
### 阶段 5审计与交付
`[Mode: Audit]`
#### 5.1 自动审计
**更改生效后,必须立即并行调用** Codex 和 Gemini 进行代码审查:
1. **Codex 审查**`run_in_background: true`
* ROLE\_FILE`~/.claude/.ccg/prompts/codex/reviewer.md`
* 输入:更改的差异 + 目标文件
* 重点:安全性、性能、错误处理、逻辑正确性
2. **Gemini 审查**`run_in_background: true`
* ROLE\_FILE`~/.claude/.ccg/prompts/gemini/reviewer.md`
* 输入:更改的差异 + 目标文件
* 重点:可访问性、设计一致性、用户体验
使用 `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. **代码主权** 所有文件修改由 Claude 执行,外部模型零写入权限
2. **脏原型重构** Codex/Gemini 输出视为草稿,必须重构
3. **信任规则** 后端遵循 Codex前端遵循 Gemini
4. **最小更改** 仅修改必要代码,无副作用
5. **强制审计** 更改后必须执行多模型代码审查
***
## 使用方法
```bash
# Execute plan file
/ccg:execute .claude/plan/feature-name.md
# Execute task directly (for plans already discussed in context)
/ccg:execute implement user authentication based on previous plan
```
***
## 与 /ccg:plan 的关系
1. `/ccg:plan` 生成计划 + SESSION\_ID
2. 用户用“Y”确认
3. `/ccg:execute` 读取计划,重用 SESSION\_ID执行实施