层级 5: 智能工作流
复杂度: 所有层级 | 产物: 完整状态持久化 | 自动化: 完全自动化
层级 5 工作流提供最智能的自动化功能 - 带有顺序执行和状态持久化的自动命令链编排。它们能够自动分析需求、推荐最优命令链,并端到端执行。
概述
包含的工作流: ccw-coordinator
自动分析并推荐命令链,支持顺序执行
命令
/ccw-coordinator "使用 OAuth2 实现用户认证"
# 或者简单输入
/ccw "添加用户认证"
核心概念: 最小执行单元
定义: 一组必须作为原子组一起执行的命令,以实现有意义的工作流里程碑。
为什么重要:
- 防止不完整状态: 避免在生成任务后停止而不执行
- 用户体验: 用户获得完整结果,而非需要手动跟进的中间产物
- 工作流完整性: 保持多步骤操作的逻辑连贯性
最小执行单元
规划 + 执行单元
| 单元名称 | 命令 | 目的 | 输出 |
|---|---|---|---|
| 快速实现 | lite-plan -> lite-execute | 轻量级规划和立即执行 | 工作代码 |
| 多 CLI 规划 | multi-cli-plan -> lite-execute | 多视角分析和执行 | 工作代码 |
| Bug 修复 | lite-fix -> lite-execute | 快速 bug 诊断和修复执行 | 修复后的代码 |
| 完整规划 + 执行 | plan -> execute | 详细规划和执行 | 工作代码 |
| 验证规划 + 执行 | plan -> plan-verify -> execute | 带验证的规划和执行 | 工作代码 |
| 重新规划 + 执行 | replan -> execute | 更新计划并执行变更 | 工作代码 |
| TDD 规划 + 执行 | tdd-plan -> execute | 测试驱动开发规划和执行 | 工作代码 |
| 测试生成 + 执行 | test-gen -> execute | 生成测试套件并执行 | 生成的测试 |
测试单元
| 单元名称 | 命令 | 目的 | 输出 |
|---|---|---|---|
| 测试验证 | test-fix-gen -> test-cycle-execute | 生成测试任务并执行测试-修复循环 | 测试通过 |
审查单元
| 单元名称 | 命令 | 目的 | 输出 |
|---|---|---|---|
| 代码审查 (会话) | review-session-cycle -> review-fix | 完整审查循环并应用修复 | 修复后的代码 |
| 代码审查 (模块) | review-module-cycle -> review-fix | 模块审查循环并应用修复 | 修复后的代码 |
三阶段工作流
阶段 1: 分析需求
解析任务描述以提取: 目标、范围、约束、复杂度和任务类型。
function analyzeRequirements(taskDescription) {
return {
goal: extractMainGoal(taskDescription), // 例如: "实现用户注册"
scope: extractScope(taskDescription), // 例如: ["auth", "user_management"]
constraints: extractConstraints(taskDescription), // 例如: ["无破坏性变更"]
complexity: determineComplexity(taskDescription), // 'simple' | 'medium' | 'complex'
task_type: detectTaskType(taskDescription) // 见下方的任务类型模式
};
}
// 任务类型检测模式
function detectTaskType(text) {
// 优先顺序 (第一个匹配胜出)
if (/fix|bug|error|crash|fail|debug|diagnose/.test(text)) return 'bugfix';
if (/tdd|test-driven|test first/.test(text)) return 'tdd';
if (/test fail|fix test|failing test/.test(text)) return 'test-fix';
if (/generate test|add test/.test(text)) return 'test-gen';
if (/review/.test(text)) return 'review';
if (/explore|brainstorm/.test(text)) return 'brainstorm';
if (/multi-perspective|comparison/.test(text)) return 'multi-cli';
return 'feature'; // 默认
}
// 复杂度评估
function determineComplexity(text) {
let score = 0;
if (/refactor|migrate|architect|system/.test(text)) score += 2;
if (/multiple|across|all|entire/.test(text)) score += 2;
if (/integrate|api|database/.test(text)) score += 1;
if (/security|performance|scale/.test(text)) score += 1;
return score >= 4 ? 'complex' : score >= 2 ? 'medium' : 'simple';
}
阶段 2: 发现命令并推荐命令链
使用基于端口匹配的动态命令链组装。
向用户显示:
推荐命令链:
管道 (可视化):
需求 -> lite-plan -> 计划 -> lite-execute -> 代码 -> test-cycle-execute -> 测试通过
命令:
1. /workflow:lite-plan
2. /workflow:lite-execute
3. /workflow:test-cycle-execute
继续? [确认 / 显示详情 / 调整 / 取消]
阶段 3: 顺序执行命令链
async function executeCommandChain(chain, analysis) {
const sessionId = `ccw-coord-${Date.now()}`;
const stateDir = `.workflow/.ccw-coordinator/${sessionId}`;
// 初始化状态
const state = {
session_id: sessionId,
status: 'running',
created_at: new Date().toISOString(),
analysis: analysis,
command_chain: chain.map((cmd, idx) => ({ ...cmd, index: idx, status: 'pending' })),
execution_results: [],
prompts_used: []
};
// 保存初始状态
Write(`${stateDir}/state.json`, JSON.stringify(state, null, 2));
for (let i = 0; i < chain.length; i++) {
const cmd = chain[i];
// 组装提示词
let prompt = formatCommand(cmd, state.execution_results, analysis);
prompt += `\n\nTask: ${analysis.goal}`;
if (state.execution_results.length > 0) {
prompt += '\nPrevious results:\n';
state.execution_results.forEach(r => {
if (r.session_id) {
prompt += `- ${r.command}: ${r.session_id}\n`;
}
});
}
// 在后台启动 CLI
const taskId = Bash(
`ccw cli -p "${escapePrompt(prompt)}" --tool claude --mode write`,
{ run_in_background: true }
).task_id;
// 保存检查点
state.execution_results.push({
index: i,
command: cmd.command,
status: 'in-progress',
task_id: taskId,
session_id: null,
artifacts: [],
timestamp: new Date().toISOString()
});
// 在此停止 - 等待 hook 回调
Write(`${stateDir}/state.json`, JSON.stringify(state, null, 2));
break;
}
state.status = 'waiting';
Write(`${stateDir}/state.json`, JSON.stringify(state, null, 2));
return state;
}
状态文件结构
位置: .workflow/.ccw-coordinator/{session_id}/state.json
{
"session_id": "ccw-coord-20250203-143025",
"status": "running|waiting|completed|failed",
"created_at": "2025-02-03T14:30:25Z",
"updated_at": "2025-02-03T14:35:45Z",
"analysis": {
"goal": "实现用户注册",
"scope": ["authentication", "user_management"],
"constraints": ["无破坏性变更"],
"complexity": "medium",
"task_type": "feature"
},
"command_chain": [
{
"index": 0,
"command": "/workflow:plan",
"name": "plan",
"status": "completed"
},
{
"index": 1,
"command": "/workflow:execute",
"name": "execute",
"status": "running"
}
],
"execution_results": [
{
"index": 0,
"command": "/workflow:plan",
"status": "completed",
"task_id": "task-001",
"session_id": "WFS-plan-20250203",
"artifacts": ["IMPL_PLAN.md"],
"timestamp": "2025-02-03T14:30:25Z",
"completed_at": "2025-02-03T14:30:45Z"
}
]
}
完整生命周期决策流程图
使用场景
何时使用
- 复杂的多步骤工作流
- 不确定使用哪些命令
- 需要端到端自动化
- 需要完整的状态跟踪和可恢复性
- 团队协作需要统一的执行流程
何时不使用
- 简单的单命令任务 (直接使用层级 1-4)
- 已经知道确切的所需命令 (直接使用层级 1-4)
与其他层级的关系
| 层级 | 手动程度 | CCW Coordinator 角色 |
|---|---|---|
| 层级 1-4 | 手动选择命令 | 自动组合这些命令 |
| 层级 5 | 自动选择命令 | 智能编排器 |
CCW Coordinator 内部使用层级 1-4:
- 分析任务 -> 自动选择合适的层级
- 组装命令链 -> 包含层级 1-4 的命令
- 顺序执行 -> 遵循最小执行单元
相关工作流
- 层级 1: 超轻量级 - 快速执行
- 层级 2: 快速 - 轻量级规划
- 层级 3: 标准 - 完整规划
- 层级 4: 头脑风暴 - 多角色探索
- 常见 问题 - 常见问题
命令参考
参见 命令文档 了解:
/ccw-coordinator- 智能工作流编排器/ccw- 主工作流编排器