跳转至

Execute - 多模型协同实现

多模型协同实现 - 从计划获取原型 → Claude 重构并实现 → 多模型审计与交付。

前提条件: 此命令需要外部 ccg-workflow 运行时。它不包含在基础 ECC 安装中。请运行 npx ccg-workflow 进行初始化,并配置此命令所依赖的 ~/.claude/bin/codeagent-wrapper 和 ~/.claude/.ccg/prompts/* 角色文件。如果没有此运行时,此命令无法正常工作。

$ARGUMENTS


核心协议

  • 语言协议:与工具/模型交互时使用英语,与用户沟通时使用用户的语言
  • 代码主权:外部模型对文件系统零写入访问权限,所有变更均由 Claude 执行
  • 重构脏原型:将 Codex/Gemini 的统一差异视为“脏原型”,需要重构为生产级代码
  • 损失限制机制:在当前阶段输出经过验证之前,不进入下一阶段
  • 前提条件:仅在用户针对 /ccg:plan 的输出明确回复“Y”后执行(如果缺失,则必须先确认)

多模型调用规范

调用语法(并行:使用 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: <ロールプロンプトパス>
<TASK>
Requirement: <タスクの説明>
Context: <計画内容 + 対象ファイル>
</TASK>
OUTPUT: 統一差分パッチのみ。実際の変更を厳格に禁止。
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: <ロールプロンプトパス>
<TASK>
Requirement: <タスクの説明>
Context: <計画内容 + 対象ファイル>
</TASK>
OUTPUT: 統一差分パッチのみ。実際の変更を厳格に禁止。
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: <ロールプロンプトパス>
<TASK>
Scope: 最終的なコード変更を監査。
Inputs:
- 適用されたパッチ(git diff / 最終的な統一差分)
- 変更されたファイル(必要に応じて関連する抜粋)
Constraints:
- ファイルを変更しない。
- ファイルシステムアクセスを前提とするツールコマンドを出力しない。
</TASK>
OUTPUT:
1) 優先順位付けされた問題リスト(重大度、ファイル、根拠)
2) 具体的な修正; コード変更が必要な場合は、フェンスされたコードブロックに統一差分パッチを含める。
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. 识别输入类型:
  2. 计划文件路径(例如:.claude/plan/xxx.md)
  3. 直接的任务说明

  4. 读取计划内容:

  5. 如果提供了计划文件路径,则读取并解析
  6. 提取:任务类型、实现步骤、关键文件、SESSION_ID

  7. 执行前确认:

  8. 如果输入是“直接的任务说明”,或者计划中缺少 SESSION_ID / 关键文件:先向用户确认
  9. 如果无法确认用户已对计划回复“Y”:在继续之前需要再次确认

  10. 任务类型路由:

任务类型 检测 路由
前端 页面、组件、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(Explore 代理):如果需要更广泛的探索,使用 Task 并设置 subagent_type: "Explore"

检索后: - 整理检索到的代码片段 - 确认用于实现的完整上下文 - 进入阶段 3


阶段 3:原型获取

[Mode: Prototype]

根据任务类型路由:

路由 A:前端/UI/样式 → Gemini

限制:上下文 < 32k 令牌

  1. 调用 Gemini(使用 ~/.claude/.ccg/prompts/gemini/frontend.md)
  2. 输入:计划内容 + 检索到的上下文 + 目标文件
  3. 输出:統一差分パッチのみ。実際の変更を厳格に禁止。
  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. 输出:統一差分パッチのみ。実際の変更を厳格に禁止。
  4. Codex 是后端逻辑的权威,利用其逻辑推理和调试能力
  5. 如果计划中包含 CODEX_SESSION:优先使用 resume <CODEX_SESSION>

路由 C:全栈 → 并行调用

  1. 并行调用(run_in_background: true):
  2. Gemini:处理前端部分
  3. Codex:处理后端部分
  4. 使用 TaskOutput 等待两个模型的完整结果
  5. 分别使用计划中对应的 SESSION_ID 进行 resume(如果缺失则创建新会话)

请遵循上述 マルチモデル呼び出し仕様 的 重要 指示


阶段 4:代码实现

[Mode: Implement]

作为代码主权者的 Claude 执行以下步骤:

  1. 读取差异:解析 Codex/Gemini 返回的统一差异补丁

  2. 心理沙盒:

  3. 模拟将差异应用到目标文件
  4. 检查逻辑一致性
  5. 识别潜在冲突或副作用

  6. 重构与清理:

  7. 将“脏原型”重构为高可读性、可维护性、企业级代码
  8. 删除冗余代码
  9. 确保符合项目现有代码标准
  10. 除非必要,否则不生成注释/文档,代码应当自解释

  11. 最小范围:

  12. 变更仅限于需求范围内
  13. 副作用的强制审查
  14. 实施有针对性的修复

  15. 应用变更:

  16. 使用 Edit/Write 工具执行实际变更
  17. 仅修改必要的代码,不影响用户的其他现有功能

  18. 自我验证(强烈建议):

  19. 运行项目现有的 lint / typecheck / tests(优先最小相关范围)
  20. 如果失败:先修复回归,然后进入阶段 5

阶段 5:审计与交付

[Mode: Audit]

5.1 自动审计

在变更生效后,必须立即并行调用 Codex 和 Gemini 进行代码审查:

  1. Codex 审查(run_in_background: true):
  2. ROLE_FILE: ~/.claude/.ccg/prompts/codex/reviewer.md
  3. 输入:变更的 diff + 目标文件
  4. 关注点:安全性、性能、错误处理、逻辑正确性

  5. Gemini 审查(run_in_background: true):

  6. ROLE_FILE: ~/.claude/.ccg/prompts/gemini/reviewer.md
  7. 输入:变更的 diff + 目标文件
  8. 关注点:可访问性、设计一致性、用户体验

等待 TaskOutput 中两个模型的完整审查结果。为了保持上下文一致性,优先复用阶段 3 的会话(resume <SESSION_ID>)。

5.2 整合与修正

  1. 整合 Codex + Gemini 审查反馈
  2. 根据信任规则进行加权:后端遵循 Codex,前端遵循 Gemini
  3. 执行必要的修正
  4. 必要时重复阶段 5.1(直到风险可接受)

5.3 交付确认

审计通过后,向用户报告:

## 実装完了

### 変更の概要
| ファイル | 操作 | 説明 |
|------|-----------|-------------|
| path/to/file.ts | 変更 | 説明 |

### 監査結果
- Codex: <合格/N個の問題を発見>
- Gemini: <合格/N個の問題を発見>

### 推奨事項
1. [ ] <推奨されるテスト手順>
2. [ ] <推奨される検証手順>

重要规则

  1. 代码主权 – 所有文件变更均由 Claude 执行,外部模型零写入访问
  2. 脏原型重构 – 将 Codex/Gemini 的输出视为草稿,需要重构
  3. 信任规则 – 后端遵循 Codex,前端遵循 Gemini
  4. 最小化变更 – 仅修改必要的代码,无副作用
  5. 强制审计 – 变更后必须执行多模型代码审查

使用方法

# 計画ファイルを実行
/ccg:execute .claude/plan/feature-name.md

# タスクを直接実行(コンテキストで既に議論された計画の場合)
/ccg:execute 前の計画に基づいてユーザー認証を実装

与 /ccg:plan 的关系

  1. /ccg:plan 生成计划 + SESSION_ID
  2. 用户以“Y”确认
  3. /ccg:execute 读取计划,复用 SESSION_ID,并执行实现

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC