计划 - 多模型协同规划¶
多模型协同规划 - 上下文获取 + 双模型分析 → 生成分步实施计划。
前提条件: 此命令需要外部
ccg-workflow运行时。它不包含在基础 ECC 安装中。请运行npx ccg-workflow进行初始化,并配置此命令依赖的~/.claude/bin/codeagent-wrapper和~/.claude/.ccg/prompts/*角色文件。如果没有此运行时,该命令无法正常工作。
$ARGUMENTS
核心协议¶
- 语言协议:与工具/模型交互时使用英语,与用户则使用用户的语言沟通
- 强制并行:Codex/Gemini 调用必须使用
run_in_background: true(包括单模型调用,以避免阻塞主线程) - 代码主权:外部模型对文件系统零写入访问,所有变更均由 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>
Requirement: <強化された要件>
Context: <取得したプロジェクトコンテキスト>
</TASK>
OUTPUT: 疑似コードを含むステップバイステップの実装計画。ファイルを変更しない。
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/analyzer.md |
~/.claude/.ccg/prompts/gemini/analyzer.md |
| 计划 | ~/.claude/.ccg/prompts/codex/architect.md |
~/.claude/.ccg/prompts/gemini/architect.md |
会话复用:每次调用都会返回 SESSION_ID: xxx(通常由包装器输出),需要保存以供后续 /ccg:execute 使用。
等待后台任务(最大超时 600000ms = 10 分钟):
重要:
- 必须指定 timeout: 600000。否则默认 30 秒会提前超时
- 如果 10 分钟后仍未完成,继续使用 TaskOutput 轮询,不要强制终止进程
- 如果因超时而跳过等待,必须调用 AskUserQuestion 询问用户是继续等待还是强制终止任务
执行工作流¶
计划任务:$ARGUMENTS
阶段 1:完整上下文获取¶
[Mode: Research]
1.1 提示词增强(必须首先执行)¶
如果 ace-tool MCP 可用,调用 mcp__ace-tool__enhance_prompt 工具:
mcp__ace-tool__enhance_prompt({
prompt: "$ARGUMENTS",
conversation_history: "<直近5-10の会話ターン>",
project_root_path: "$PWD"
})
等待增强后的提示词,并用增强结果替换后续所有阶段中的原始 $ARGUMENTS。
如果 ace-tool MCP 不可用:跳过此步骤,并在后续所有阶段中直接使用原始 $ARGUMENTS。
1.2 上下文获取¶
如果 ace-tool MCP 可用,调用 mcp__ace-tool__search_context 工具:
- 使用自然语言构建语义查询(Where/What/How)
- 不要基于假设回答
如果 ace-tool MCP 不可用,使用 Claude Code 内置工具回退:
1. Glob:按模式搜索相关文件(例如:Glob("**/*.ts")、Glob("src/**/*.py"))
2. Grep:搜索关键符号、函数名、类定义(例如:Grep("className|functionName"))
3. Read:读取发现的文件并收集完整上下文
4. Task(Explore 代理):如果需要更深入的探索,使用 Task 并设置 subagent_type: "Explore"
1.3 完整性检查¶
- 必须获取相关类、函数、变量的完整定义和签名
- 如果上下文不足,触发递归获取
- 优先输出:入口文件 + 行号 + 关键符号名;仅在需要消除歧义时添加最小代码片段
1.4 需求一致性¶
- 如果需求仍存在歧义,必须向用户输出引导性问题
- 直到需求边界明确(无缺失、无冗余)
阶段 2:多模型协同分析¶
[Mode: Analysis]
2.1 输入分配¶
并行调用 Codex 和 Gemini(run_in_background: true):
将原始需求(无预设观点)分配给两个模型:
- Codex 后端分析:
- ROLE_FILE:
~/.claude/.ccg/prompts/codex/analyzer.md - 关注点:技术可行性、对架构的影响、性能考量、潜在风险
-
OUTPUT:多角度方案 + 优缺点分析
-
Gemini 前端分析:
- ROLE_FILE:
~/.claude/.ccg/prompts/gemini/analyzer.md - 关注点:对 UI/UX 的影响、用户体验、视觉设计
- OUTPUT:多角度方案 + 优缺点分析
使用 TaskOutput 等待两个模型的完整结果。保存 SESSION_ID(CODEX_SESSION 和 GEMINI_SESSION)。
2.2 交叉验证¶
整合视角,并迭代优化:
- 识别共识(强信号)
- 识别分歧(需要加权)
- 互补优势:后端逻辑遵循 Codex,前端设计遵循 Gemini
- 逻辑推理:排除方案中的逻辑缺口
2.3(可选但推荐)双模型计划草稿¶
为降低 Claude 整合计划中的遗漏风险,可以并行让两个模型输出“计划草稿”(但不允许修改文件):
- Codex 计划草稿(后端权威):
- ROLE_FILE:
~/.claude/.ccg/prompts/codex/architect.md -
OUTPUT:分步计划 + 伪代码(关注:数据流/边缘情况/错误处理/测试策略)
-
Gemini 计划草稿(前端权威):
- ROLE_FILE:
~/.claude/.ccg/prompts/gemini/architect.md - OUTPUT:分步计划 + 伪代码(关注:信息架构/交互/可访问性/视觉一致性)
使用 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/<feature-name>.md(从需求中提取功能名,例如:user-auth、payment-module) - 以粗体文本输出提示(必须使用实际保存的文件路径):
计划已生成,并保存到 .claude/plan/actual-feature-name.md
请审阅上述计划。你可以: - 修改计划:告诉我需要调整的内容,我会更新计划 - 执行计划:将以下命令复制到新会话
注意:上述 actual-feature-name.md 必须替换为实际保存的文件名!
- 立即结束当前响应(在此停止,不再进行任何工具调用。)
绝对禁止:
- 询问用户“Y/N”后自动执行(执行是 /ccg:execute 的职责)
- 对生产代码执行写入操作
- 自动调用 /ccg:execute 或任何实施操作
- 在用户未明确要求变更时继续触发模型调用
保存计划¶
计划完成后,将计划保存到以下位置:
- 初始计划:
.claude/plan/<feature-name>.md - 迭代版本:
.claude/plan/<feature-name>-v2.md、.claude/plan/<feature-name>-v3.md...
计划文件的写入必须在向用户展示计划之前完成。
计划变更流程¶
如果用户要求修改计划:
- 根据用户反馈调整计划内容
- 更新
.claude/plan/<feature-name>.md文件 - 重新展示修改后的计划
- 再次提示用户审阅或执行
下一步¶
用户批准后,手动执行:
重要规则¶
- 仅计划,不实现 – 此命令不会执行代码更改
- 无 Y/N 提示 – 仅展示计划,由用户决定下一步
- 信任规则 – 后端遵循 Codex,前端遵循 Gemini
- 外部模型对文件系统零写入访问
- SESSION_ID 传递 – 计划最后必须包含
CODEX_SESSION/GEMINI_SESSION(供使用/ccg:execute resume <SESSION_ID>)
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC