# Harness Evaluate Performance

> 效果量化评估技能，评估任务执行效果、生成性能指标、验证目标达成

- Skill: `konglong87/harness-evaluate-performance` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add konglong87/harness-evaluate-performance`
- Raw SKILL.md: https://api.skillmd.com/api/skills/konglong87/harness-evaluate-performance/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: konglong87 (https://skillmd.com/u/konglong87)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/konglong87/harness-evaluate-performance

---


# harness-evaluate-performance 效果量化评估技能

## 核心能力
1. 检查前置条件（harness-merge-subharness-result）
2. 读取执行追踪文件（GLOBAL_TRACE.md）
3. 量化评估任务执行效果
4. 生成性能指标报告
5. 验证目标达成情况
6. 生成改进建议
7. 记录评估事件
8. 更新全局状态

## 前置条件
- harness-init 已完成
- harness-merge-subharness-result 已完成
- GLOBAL_TRACE.md 文件存在（或可创建）

## 执行步骤

### Step 1: 检查前置条件

使用 Read 工具读取：`.EnjoyHarness/SKILL_REGISTRY.md`

检查条件：
- harness-merge-subharness-result 已标记为完成

如果未完成：
```
❌ 错误: 结果合并未执行
💡 请先运行: harness-merge-subharness-result
```

### Step 2: 读取执行追踪文件

使用 Read 工具读取：`.trace/GLOBAL_TRACE.md`

如果文件不存在，使用 Write 工具创建：

```markdown
---
created_at: {当前时间}
total_traces: 0
---

# EnjoyHarness 全局执行追踪

## 追踪记录格式
时间 | 任务ID | 技能 | 操作类型 | 操作详情 | Token消耗 | 耗时(ms)

## 追踪列表
（暂无追踪记录）
```

### Step 3: 提取执行数据

使用 Bash 工具查询：

```bash
# 获取当前任务的执行数据
CURRENT_TASK=$(grep -A 10 "current_task" .EnjoyHarness/GLOBAL_STATE.md | grep "task_id" | awk '{print $2}')

# 统计任务相关的所有事件
TASK_EVENTS=$(grep "$CURRENT_TASK" .trace/GLOBAL_TRACE.md)

echo "任务执行数据："
echo "$TASK_EVENTS"

# 统计事件数量
EVENT_COUNT=$(echo "$TASK_EVENTS" | wc -l)
echo "事件总数: $EVENT_COUNT"
```

### Step 4: 量化评估指标

#### 4.1 时间效率指标

```bash
# 计算总耗时
START_TIME=$(grep "$CURRENT_TASK" .trace/GLOBAL_TRACE.md | head -1 | awk '{print $1}')
END_TIME=$(grep "$CURRENT_TASK" .trace/GLOBAL_TRACE.md | tail -1 | awk '{print $1}')

# 转换为时间戳
START_TS=$(date -d "$START_TIME" +%s)
END_TS=$(date -d "$END_TIME" +%s)

TOTAL_TIME=$((END_TS - START_TS))

echo "开始时间: $START_TIME"
echo "结束时间: $END_TIME"
echo "总耗时: ${TOTAL_TIME}秒"
```

#### 4.2 Token消耗指标

```bash
# 统计Token消耗
TOTAL_TOKEN=0

# 从每个技能执行记录中提取Token消耗
while read line; do
  TOKEN=$(echo "$line" | awk '{print $7}')
  if [[ "$TOKEN" =~ ^[0-9]+$ ]]; then
    TOTAL_TOKEN=$((TOTAL_TOKEN + TOKEN))
  fi
done <<< "$TASK_EVENTS"

echo "Token总消耗: $TOTAL_TOKEN"
echo "Token效率: {任务复杂度}/$TOTAL_TOKEN"
```

#### 4.3 成功率指标

```bash
# 统计成功和失败事件
SUCCESS_COUNT=$(grep "$CURRENT_TASK" .trace/GLOBAL_TRACE.md | grep "SUCCESS" | wc -l)
FAILURE_COUNT=$(grep "$CURRENT_TASK" .trace/GLOBAL_TRACE.md | grep "FAILURE" | wc -l)

TOTAL_COUNT=$((SUCCESS_COUNT + FAILURE_COUNT))

if [ $TOTAL_COUNT -gt 0 ]; then
  SUCCESS_RATE=$((SUCCESS_COUNT * 100 / TOTAL_COUNT))
  echo "成功率: ${SUCCESS_RATE}%"
else
  echo "成功率: N/A"
fi
```

#### 4.4 技能执行效率

```bash
# 统计各技能的执行次数和耗时
echo "技能执行统计:"

for skill in $(grep "$CURRENT_TASK" .trace/GLOBAL_TRACE.md | awk '{print $3}' | sort -u); do
  SKILL_COUNT=$(grep "$CURRENT_TASK" .trace/GLOBAL_TRACE.md | grep "$skill" | wc -l)
  echo " - $skill: ${SKILL_COUNT}次"
done
```

### Step 5: 生成性能指标报告

使用 Write 工具创建文件：`.EnjoyHarness/PERFORMANCE_REPORT.md`

```markdown
---
generated_at: {当前时间}
task_id: {任务ID}
evaluation_status: COMPLETED
---

# 效果量化评估报告

## 评估概况
- 评估时间: {当前时间}
- 任务ID: {任务ID}
- 评估状态: COMPLETED

## 时间效率指标

### 总体时间
- 开始时间: {开始时间}
- 结束时间: {结束时间}
- 总耗时: {总耗时}秒
- 平均每个技能: {平均耗时}秒

### 时间分布
- 初始化阶段: {耗时}秒 ({百分比}%)
- 执行阶段: {耗时}秒 ({百分比}%)
- 验证阶段: {耗时}秒 ({百分比}%)

### 时间效率评级
- ⭐⭐⭐⭐⭐ 优秀（< 30秒）
- ⭐⭐⭐⭐ 良好（30-60秒）
- ⭐⭐⭐ 一般（60-120秒）
- ⭐⭐ 较慢（120-300秒）
- ⭐ 很慢（> 300秒）

**评级结果**: {评级}

## Token消耗指标

### 总体Token
- Token总消耗: {数量}
- 平均每个技能: {平均值}
- Token效率: {任务复杂度}/Token

### Token分布
- Read操作: {数量} ({百分比}%)
- Write操作: {数量} ({百分比}%)
- Edit操作: {数量} ({百分比}%)
- Bash操作: {数量} ({百分比}%)

### Token消耗评级
- ⭐⭐⭐⭐⭐ 极优（< 3000）
- ⭐⭐⭐⭐ 优秀（3000-6000）
- ⭐⭐⭐ 良好（6000-10000）
- ⭐⭐ 一般（10000-15000）
- ⭐ 较高（> 15000）

**评级结果**: {评级}

## 成功率指标

### 事件统计
- 成功事件: {数量}次
- 失败事件: {数量}次
- 总事件: {数量}次
- 成功率: {百分比}%

### 失败分析
{如果有失败事件，列出失败原因和分布}

### 成功率评级
- ⭐⭐⭐⭐⭐ 完美（100%）
- ⭐⭐⭐⭐ 优秀（95-99%）
- ⭐⭐⭐ 良好（85-94%）
- ⭐⭐ 一般（70-84%）
- ⭐ 较低（< 70%）

**评级结果**: {评级}

## 技能执行效率

### 技能执行统计
| 技能名称 | 执行次数 | 平均耗时 | Token消耗 | 成功率 |
|---------|---------|---------|----------|--------|
| harness-init | {次数} | {耗时} | {token} | {成功率} |
| harness-validate-output | {次数} | {耗时} | {token} | {成功率} |
| {其他技能} | {次数} | {耗时} | {token} | {成功率} |

### 最耗时技能
- 第1名: {技能名称}（{耗时}秒）
- 第2名: {技能名称}（{耗时}秒）
- 第3名: {技能名称}（{耗时}秒）

### 最高Token消耗技能
- 第1名: {技能名称}（{token}）
- 第2名: {技能名称}（{token}）
- 第3名: {技能名称}（{token}）

## 目标达成验证

### 原始目标
{从harness-goal中读取的SMART目标}

### 实际达成
{对比目标与实际结果}

### 目标达成评估
- [ ] 具体目标是否达成？
- [ ] 衡量标准是否满足？
- [ ] 时间限制是否遵守？

**达成结果**: {✅完全达成 / ⚠️部分达成 / ❌未达成}

### 差距分析
{如果有差距，分析原因}

## 综合评估

### 综合评分
- 时间效率: {分数}/5
- Token效率: {分数}/5
- 成功率: {分数}/5
- 目标达成: {分数}/5

**综合得分**: {平均分}/5

### 评级
- ⭐⭐⭐⭐⭐ 卓越（4.5-5.0）
- ⭐⭐⭐⭐ 优秀（4.0-4.4）
- ⭐⭐⭐ 良好（3.0-3.9）
- ⭐⭐ 一般（2.0-2.9）
- ⭐ 较差（< 2.0）

**最终评级**: {评级}

## 改进建议

### 时间优化
- {具体的优化建议}

### Token优化
- {具体的优化建议}

### 成功率优化
- {具体的优化建议}

### 流程优化
- {具体的优化建议}

## 历史对比

### 与上次任务对比
- 时间效率: {对比结果}
- Token效率: {对比结果}
- 成功率: {对比结果}

### 趋势分析
- 时间趋势: {改善/持平/下降}
- Token趋势: {改善/持平/下降}
- 成功率趋势: {改善/持平/下降}

## 下一步行动

### 立即改进
- [ ] {改进项1}
- [ ] {改进项2}

### 中期改进
- [ ] {改进项1}
- [ ] {改进项2}

### 长期改进
- [ ] {改进项1}
- [ ] {改进项2}
```

### Step 6: 验证目标达成情况

使用 Read 工具读取：`memory/goals/{目标文件}`

提取SMART目标：
- Specific（具体目标）
- Measurable（衡量标准）
- Achievable（可实现性）
- Relevant（相关性）
- Time-bound（时限）

对比实际执行结果：

```markdown
### 目标验证

**原始目标**:
- Specific: {具体目标}
- Measurable: {衡量标准}
- Time-bound: {时限}

**实际结果**:
- 达成情况: {描述}
- 衡量结果: {数据}
- 耗时: {实际时间}

**验证结果**:
- Specific: {✅达成 / ❌未达成}
- Measurable: {✅达成 / ❌未达成}
- Time-bound: {✅达成 / ❌未达成}

**总体评价**: {✅完全达成 / ⚠️部分达成 / ❌未达成}
```

### Step 7: 生成改进建议

根据评估结果生成建议：

#### 时间优化建议
```markdown
- 减少不必要的文件读取
- 使用缓存机制
- 并行执行独立任务
- 优化文件搜索范围
```

#### Token优化建议
```markdown
- 精准加载必要文件
- 减少P1-P3级文件加载
- 使用上下文索引
- 避免重复读取
```

#### 成功率优化建议
```markdown
- 增加前置检查
- 增强错误处理
- 使用熔断机制
- 增加重试逻辑
```

### Step 8: 记录评估事件

使用 Edit 工具追加内容到：`.EnjoyHarness/EVENT_LOG.md`

```markdown
{当前时间} | PERFORMANCE_EVALUATION | harness-evaluate-performance | 评估任务: {任务ID} | SUCCESS
{当前时间} | EVALUATION_RESULT | harness-evaluate-performance | 综合得分: {分数}/5, 评级: {评级} | SUCCESS
```

### Step 9: 更新全局状态

使用 Edit 工具更新：`.EnjoyHarness/GLOBAL_STATE.md`

```yaml
last_evaluation: {当前时间}
evaluation_status: COMPLETED
performance_score: {分数}
performance_rating: {评级}
goal_achieved: {YES/PARTIAL/NO}
```

### Step 10: 更新事件计数

使用 Edit 工具更新：`.EnjoyHarness/EVENT_LOG.md`

old_string: `total_events: N`
new_string: `total_events: N+2`

### Step 11: 更新技能注册表

使用 Edit 工具更新：`.EnjoyHarness/SKILL_REGISTRY.md`

old_string: `- [ ] harness-evaluate-performance - 效果评估技能`
new_string: `- [x] harness-evaluate-performance - 效果评估技能 ✅`

### Step 12: 输出完成信息

使用 Bash 工具输出：

```bash
echo ""
echo "✅ harness-evaluate-performance 完成!"
echo ""
echo "📊 评估结果:"
echo " - 时间效率: {分数}/5 ⭐"
echo " - Token效率: {分数}/5 ⭐"
echo " - 成功率: {分数}/5 ⭐"
echo " - 目标达成: {分数}/5 ⭐"
echo ""
echo "📋 综合得分: {分数}/5"
echo "🏆 最终评级: {评级}"
echo ""
echo "📄 报告:"
echo " - 性能报告: .EnjoyHarness/PERFORMANCE_REPORT.md"
echo ""
echo "🎯 下一步:"
if [ {目标达成} == "YES" ]; then
  echo " - 目标已达成，可结束任务"
else
  echo " - 目标未完全达成，需继续优化"
fi
echo ""
```

## 成功标准
- [ ] 读取执行追踪文件
- [ ] 量化评估时间效率
- [ ] 量化评估Token消耗
- [ ] 量化评估成功率
- [ ] 生成性能指标报告
- [ ] 验证目标达成情况
- [ ] 生成改进建议
- [ ] 记录评估事件
- [ ] 更新全局状态
- [ ] 更新事件日志
- [ ] 技能注册表已更新

## 失败兜底
- harness-merge-subharness-result 未完成 → 终止执行，提示运行前置技能
- 无执行数据 → 输出"暂无数据需要评估"

## 联动关系
- 前置: harness-merge-subharness-result
- 自动触发: harness-goal（验证目标达成）或继续执行

## 迭代计数
本技能执行预计迭代次数: 约 10 次（Read 3次 + Write 1次 + Edit 3次 + Bash 3次）

## 测试用例

### 测试 1: 前置条件检查
**输入**: 在结果合并未执行时运行
**期望输出**: 错误提示"结果合并未执行"
**验证方式**: 删除合并记录后运行

### 测试 2: 时间效率计算
**输入**: 提供执行时间数据
**期望输出**: 正确的时间效率指标
**验证方式**: 手动计算验证

### 测试 3: Token消耗统计
**输入**: 提供Token使用数据
**期望输出**: 正确的Token消耗统计
**验证方式**: 累加验证

### 测试 4: 成功率计算
**输入**: 提供成功/失败事件数据
**期望输出**: 正确的成功率百分比
**验证方式**: 手动计算验证

### 测试 5: 性能报告生成
**输入**: 执行评估
**期望输出**: 生成 PERFORMANCE_REPORT.md
**验证方式**: `ls .EnjoyHarness/PERFORMANCE_REPORT.md`

### 测试 6: 目标达成验证
**输入**: 读取目标文件
**期望输出**: 正确的目标达成评估
**验证方式**: 对比SMART目标

### 测试 7: 全局状态更新
**输入**: 读取 GLOBAL_STATE.md
**期望输出**: evaluation_status 为 COMPLETED
**验证方式**: `grep "evaluation_status" .EnjoyHarness/GLOBAL_STATE.md`

### 测试 8: 事件日志记录
**输入**: 读取 EVENT_LOG.md
**期望输出**: 包含 PERFORMANCE_EVALUATION 事件
**验证方式**: `grep "PERFORMANCE_EVALUATION" .EnjoyHarness/EVENT_LOG.md`

## 评估指标体系

### 时间效率指标
```yaml
计算方式: 任务总耗时 / 预期耗时
评级标准:
  - 优秀: < 30秒
  - 良好: 30-60秒
  - 一般: 60-120秒
  - 较慢: 120-300秒
  - 很慢: > 300秒

优化方向:
  - 减少文件I/O操作
  - 使用缓存机制
  - 并行执行任务
```

### Token消耗指标
```yaml
计算方式: 总Token消耗 / 任务复杂度
评级标准:
  - 极优: < 3000
  - 优秀: 3000-6000
  - 良好: 6000-10000
  - 一般: 10000-15000
  - 较高: > 15000

优化方向:
  - 精准加载文件
  - 减少上下文大小
  - 使用上下文索引
```

### 成功率指标
```yaml
计算方式: 成功事件数 / 总事件数
评级标准:
  - 完美: 100%
  - 优秀: 95-99%
  - 良好: 85-94%
  - 一般: 70-84%
  - 较低: < 70%

优化方向:
  - 增强错误处理
  - 增加前置检查
  - 使用熔断机制
```

## 使用示例

### 示例 1: 高效任务评估
```yaml
任务: 简单文件生成
时间: 25秒
Token: 2500
成功率: 100%

评估结果:
- 时间效率: ⭐⭐⭐⭐⭐
- Token效率: ⭐⭐⭐⭐⭐
- 成功率: ⭐⭐⭐⭐⭐
- 综合得分: 5.0/5
- 最终评级: ⭐⭐⭐⭐⭐ 卓越
```

### 示例 2: 中等效率任务评估
```yaml
任务: 复杂功能开发
时间: 75秒
Token: 8500
成功率: 92%

评估结果:
- 时间效率: ⭐⭐⭐
- Token效率: ⭐⭐⭐
- 成功率: ⭐⭐⭐
- 综合得分: 3.0/5
- 最终评级: ⭐⭐⭐ 良好
```

### 示例 3: 低效任务评估
```yaml
任务: 大规模重构
时间: 350秒
Token: 16000
成功率: 65%

评估结果:
- 时间效率: ⭐
- Token效率: ⭐
- 成功率: ⭐⭐
- 综合得分: 1.3/5
- 最终评级: ⭐ 较差

建议: 需要优化执行流程
```

## 与其他技能的协作

### 协作流程
```
harness-merge-subharness-result（合并结果）
↓
harness-evaluate-performance（评估效果）
↓
判断: 目标是否达成?
├─ 是 → 任务完成
└─ 否 → harness-diagnose-and-improve（诊断改进）
```

### 协作示例
```yaml
场景: 执行代码生成任务

阶段1: 合并结果
- harness-merge-subharness-agent → 合并子代理结果

阶段2: 评估效果
- harness-evaluate-performance → 评估执行效果
  ├─ 时间效率: 45秒 ⭐⭐⭐⭐
  ├─ Token效率: 5500 ⭐⭐⭐⭐
  ├─ 成功率: 98% ⭐⭐⭐⭐
  └─ 综合得分: 4.0/5 ⭐⭐⭐⭐ 优秀

阶段3: 验证目标
- harness-goal → 验证目标达成
  ├─ Specific: ✅ 达成
  ├─ Measurable: ✅ 达成
  └─ Time-bound: ✅ 达成

阶段4: 后续动作
- 目标已达成 → 任务完成
- 目标未达成 → 继续优化
```

