with one click
harness-build-deterministic-workflow
构建确定性工作流,将任务拆解为确定性节点和Agentic节点,实现可预测的执行路径
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
构建确定性工作流,将任务拆解为确定性节点和Agentic节点,实现可预测的执行路径
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
EnjoyHarness 唯一强制入口,初始化全局状态、文件体系、技能注册表
配置文件读取和验证技能,确保用户配置正确且完整
全流程自动执行超级组合技能,编排所有16个基础技能,从用户需求到完整交付的全自动化流程
头脑风暴技能,在实现前探索用户意图、需求和设计,防止返工
实施计划执行技能,逐任务执行实施计划,支持检查点、错误恢复和进度跟踪
10倍产能提效超级组合技能,通过并行执行、智能调度、优化策略实现10倍开发效率提升
Based on SOC occupation classification
| name | harness-build-deterministic-workflow |
| description | 构建确定性工作流,将任务拆解为确定性节点和Agentic节点,实现可预测的执行路径 |
| trigger_words | ["harness-build-deterministic-workflow","构建工作流","deterministic-workflow","workflow"] |
| priority | HIGH |
| dependencies | ["harness-build-context-index"] |
| version | v3.0.0 |
使用 Read 工具读取:.EnjoyHarness/SKILL_REGISTRY.md
检查条件:
如果未完成:
❌ 错误: 上下文索引未构建
💡 请先运行: harness-build-context-index
使用 Write 工具创建文件:.EnjoyHarness/WORKFLOW_TEMPLATES.md
内容:
---
version: v3.0.0
created_at: 2026-03-28T11:00:00+08:00
total_workflows: 5
---
# EnjoyHarness 工作流模板库
## 确定性节点 vs Agentic 节点
### 确定性节点(Deterministic Nodes)
**特征**: 无需LLM决策,规则明确,结果可预测
**优势**:
- 执行速度快(毫秒级)
- Token消耗低(仅验证)
- 结果可复现
- 易于测试
**示例**:
- 文件格式校验(JSON/YAML/Markdown)
- 代码风格检查(lint)
- 测试运行(unit/integration)
- 构建编译(compile)
- Git 操作(commit/push)
### Agentic 节点(Agentic Nodes)
**特征**: 需要LLM决策,涉及理解、创造、推理
**特点**:
- 执行速度慢(秒级)
- Token消耗高
- 结果不确定
- 需要验证
**示例**:
- 需求理解(用户意图分析)
- 架构设计(技术选型)
- 代码实现(功能开发)
- 错误诊断(根因分析)
- 文档编写(说明文档)
## 工作流模板
### 模板 1: 功能开发工作流
```mermaid
graph TD
A[需求输入] --> B[确定性: 格式校验]
B --> C[Agentic: 需求理解]
C --> D[Agentic: 架构设计]
D --> E[确定性: 设计校验]
E --> F[Agentic: 功能实现]
F --> G[确定性: 代码检查]
G --> H[Agentic: 测试编写]
H --> I[确定性: 测试运行]
I --> J[确定性: 结果归档]
节点详情:
| 节点 | 类型 | 执行方式 | Token消耗 | 失败处理 |
|---|---|---|---|---|
| A: 需求输入 | 输入 | 用户输入 | 0 | 终止 |
| B: 格式校验 | 确定性 | JSON Schema校验 | ~100 | 返回B,提示修正 |
| C: 需求理解 | Agentic | LLM分析 | ~2000 | 返回A,补充信息 |
| D: 架构设计 | Agentic | LLM推理 | ~3000 | 返回C,简化需求 |
| E: 设计校验 | 确定性 | 架构护栏检查 | ~200 | 返回D,重新设计 |
| F: 功能实现 | Agentic | LLM编码 | ~5000 | 返回F,重试1次 |
| G: 代码检查 | 确定性 | Lint + 架构检查 | ~500 | 返回F,修复问题 |
| H: 测试编写 | Agentic | LLM生成测试 | ~3000 | 返回H,补充用例 |
| I: 测试运行 | 确定性 | 测试框架执行 | ~1000 | 返回F,修复失败 |
| J: 结果归档 | 确定性 | 文件写入 | ~200 | 终止,触发自动失败处理;真实阻塞再升级 |
Token 预算: ~14,800 tokens 预计时长: 10-15分钟
graph TD
A[Bug报告输入] --> B[确定性: 信息提取]
B --> C[Agentic: 根因分析]
C --> D[Agentic: 修复方案]
D --> E[确定性: 方案校验]
E --> F[Agentic: 修复实现]
F --> G[确定性: 回归测试]
G --> H[确定性: 修复验证]
节点详情:
| 节点 | 类型 | 执行方式 | Token消耗 | 失败处理 |
|---|---|---|---|---|
| A: Bug报告输入 | 输入 | 用户提交 | 0 | 终止 |
| B: 信息提取 | 确定性 | 正则提取 | ~100 | 返回A,补充信息 |
| C: 根因分析 | Agentic | LLM推理 | ~4000 | 返回A,补充日志 |
| D: 修复方案 | Agentic | LLM推理 | ~2000 | 返回C,重新分析 |
| E: 方案校验 | 确定性 | 架构检查 | ~200 | 返回D,调整方案 |
| F: 修复实现 | Agentic | LLM编码 | ~3000 | 返回F,重试1次 |
| G: 回归测试 | 确定性 | 测试框架 | ~1000 | 返回F,修复问题 |
| H: 修复验证 | 确定性 | 手动验证 | ~500 | 返回F,重新修复 |
Token 预算: ~10,800 tokens 预计时长: 8-12分钟
graph TD
A[优化目标输入] --> B[Agentic: 影响范围分析]
B --> C[确定性: 依赖检查]
C --> D[Agentic: 重构方案]
D --> E[确定性: 风险评估]
E --> F[Agentic: 重构实现]
F --> G[确定性: 性能测试]
G --> H[确定性: 回归测试]
节点详情:
| 节点 | 类型 | 执行方式 | Token消耗 | 失败处理 |
|---|---|---|---|---|
| A: 优化目标输入 | 输入 | 用户输入 | 0 | 终止 |
| B: 影响范围分析 | Agentic | LLM分析 | ~3000 | 返回A,明确范围 |
| C: 依赖检查 | 确定性 | AST分析 | ~500 | 返回A,调整范围 |
| D: 重构方案 | Agentic | LLM推理 | ~4000 | 返回B,重新分析 |
| E: 风险评估 | 确定性 | 规则检查 | ~300 | 返回D,降低风险 |
| F: 重构实现 | Agentic | LLM编码 | ~5000 | 返回F,重试1次 |
| G: 性能测试 | 确定性 | Benchmark | ~1000 | 返回F,优化性能 |
| H: 回归测试 | 确定性 | 测试框架 | ~1000 | 返回F,修复问题 |
Token 预算: ~14,800 tokens 预计时长: 15-20分钟
graph TD
A[文档需求输入] --> B[确定性: 模板选择]
B --> C[Agentic: 内容生成]
C --> D[确定性: 格式校验]
D --> E[Agentic: 内容优化]
E --> F[确定性: 文档归档]
节点详情:
| 节点 | 类型 | 执行方式 | Token消耗 | 失败处理 |
|---|---|---|---|---|
| A: 文档需求输入 | 输入 | 用户输入 | 0 | 终止 |
| B: 模板选择 | 确定性 | 规则匹配 | ~100 | 默认模板 |
| C: 内容生成 | Agentic | LLM生成 | ~3000 | 返回A,补充信息 |
| D: 格式校验 | 确定性 | Markdown检查 | ~200 | 返回C,修正格式 |
| E: 内容优化 | Agentic | LLM优化 | ~2000 | 返回C,重新生成 |
| F: 文档归档 | 确定性 | 文件写入 | ~100 | 终止,触发自动失败处理;真实阻塞再升级 |
Token 预算: ~5,400 tokens 预计时长: 5-8分钟
graph TD
A[配置变更输入] --> B[确定性: 格式校验]
B --> C[确定性: 依赖检查]
C --> D[确定性: 变更应用]
D --> E[确定性: 配置验证]
E --> F[确定性: 服务重启]
F --> G[确定性: 健康检查]
节点详情:
| 节点 | 类型 | 执行方式 | Token消耗 | 失败处理 |
|---|---|---|---|---|
| A: 配置变更输入 | 输入 | 用户输入 | 0 | 终止 |
| B: 格式校验 | 确定性 | Schema校验 | ~100 | 返回A,修正格式 |
| C: 依赖检查 | 确定性 | 配置解析 | ~200 | 返回A,调整配置 |
| D: 变更应用 | 确定性 | 文件写入 | ~100 | 终止,触发自动失败处理;真实阻塞再升级 |
| E: 配置验证 | 确定性 | 配置测试 | ~300 | 回滚D |
| F: 服务重启 | 确定性 | 系统命令 | ~200 | 回滚D |
| G: 健康检查 | 确定性 | HTTP检查 | ~100 | 回滚D,触发自动失败处理;真实阻塞再升级 |
Token 预算: ~1,000 tokens 预计时长: 2-3分钟
任务类型识别:
包含关键词:
- "实现" / "开发" / "添加" → 功能开发工作流
- "修复" / "解决" / "Bug" → Bug修复工作流
- "重构" / "优化" / "改进" → 重构优化工作流
- "文档" / "说明" / "README" → 文档编写工作流
- "配置" / "更新" / "修改" → 配置更新工作流
用户指定:
示例: "使用 Bug修复工作流 修复登录失败问题"
动作: 直接应用模板 2
将重复性工作模板化:
将决策逻辑规则化:
使用专用工具替代LLM:
每个节点执行后:
- 记录到 .EnjoyHarness/EVENT_LOG.md
- 更新 .EnjoyHarness/GLOBAL_STATE.md
- 增加迭代计数 ITERATION_COUNTER.md
任务: 实现用户登录功能
识别: 功能开发工作流
节点执行:
1. 格式校验 ✅ (100 tokens)
2. 需求理解 ✅ (2000 tokens)
3. 架构设计 ✅ (3000 tokens)
4. 设计校验 ✅ (200 tokens)
5. 功能实现 ✅ (5000 tokens)
6. 代码检查 ✅ (500 tokens)
7. 测试编写 ✅ (3000 tokens)
8. 测试运行 ✅ (1000 tokens)
9. 结果归档 ✅ (200 tokens)
总Token: 14,000 tokens
总时长: 12分钟
任务: 修复登录失败Bug
识别: Bug修复工作流
节点执行:
1. 信息提取 ✅ (100 tokens)
2. 根因分析 ✅ (4000 tokens)
3. 修复方案 ✅ (2000 tokens)
4. 方案校验 ✅ (200 tokens)
5. 修复实现 ✅ (3000 tokens)
6. 回归测试 ✅ (1000 tokens)
7. 修复验证 ✅ (500 tokens)
总Token: 10,800 tokens
总时长: 10分钟
### Step 3: 更新事件日志
使用 Edit 工具追加内容到:`.EnjoyHarness/EVENT_LOG.md`
追加内容:
```markdown
2026-03-28T11:00:00+08:00 | SKILL_START | harness-build-deterministic-workflow | 开始构建工作流模板 | SUCCESS
2026-03-28T11:00:00+08:00 | SKILL_COMPLETE | harness-build-deterministic-workflow | 工作流模板构建完成 | SUCCESS
使用 Edit 工具更新:.EnjoyHarness/EVENT_LOG.md
old_string: total_events: 8
new_string: total_events: 10
使用 Edit 工具更新:.EnjoyHarness/SKILL_REGISTRY.md
old_string: - [ ] harness-build-deterministic-workflow - 构建工作流技能
new_string: - [x] harness-build-deterministic-workflow - 构建工作流技能 ✅
使用 Bash 工具输出:
echo ""
echo "✅ harness-build-deterministic-workflow 完成!"
echo ""
echo "📋 工作流模板文件:"
echo " - .EnjoyHarness/WORKFLOW_TEMPLATES.md"
echo ""
echo "📊 工作流统计:"
echo " - 功能开发工作流: 10个节点 (确定性4个 + Agentic 6个)"
echo " - Bug修复工作流: 8个节点 (确定性5个 + Agentic 3个)"
echo " - 重构优化工作流: 8个节点 (确定性5个 + Agentic 3个)"
echo " - 文档编写工作流: 6个节点 (确定性4个 + Agentic 2个)"
echo " - 配置更新工作流: 7个节点 (全部确定性)"
echo ""
echo "💡 Token优化:"
echo " - 确定性节点占比: 58% (无需LLM)"
echo " - 平均Token降低: 40%"
echo ""
echo "🎯 下一步:"
echo " 运行 harness-spawn-subharness-agent 实现子代理生成"
echo ""
本技能执行预计迭代次数: 约 5 次(Write 1次 + Edit 3次 + Read 1次)
输入: 在上下文索引未构建时运行 期望输出: 错误提示"上下文索引未构建" 验证方式: 删除 CONTEXT_INDEX.md 后运行
输入: 执行 harness-build-deterministic-workflow
期望输出: WORKFLOW_TEMPLATES.md 包含5个工作流模板
验证方式: grep -c "模板" .EnjoyHarness/WORKFLOW_TEMPLATES.md
输入: 读取 WORKFLOW_TEMPLATES.md
期望输出: 包含确定性节点和Agentic节点对比表
验证方式: grep "确定性节点" .EnjoyHarness/WORKFLOW_TEMPLATES.md
输入: 读取 SKILL_REGISTRY.md
期望输出: harness-build-deterministic-workflow 标记为完成
验证方式: grep "harness-build-deterministic-workflow" .EnjoyHarness/SKILL_REGISTRY.md
输入: 读取 EVENT_LOG.md
期望输出: 包含 harness-build-deterministic-workflow 启动和完成事件
验证方式: grep "harness-build-deterministic-workflow" .EnjoyHarness/EVENT_LOG.md