效果量化评估技能,评估任务执行效果、生成性能指标、验证目标达成
使用 Read 工具读取:.EnjoyHarness/SKILL_REGISTRY.md
检查条件:
如果未完成:
❌ 错误: 结果合并未执行
💡 请先运行: harness-merge-subharness-result
使用 Read 工具读取:.trace/GLOBAL_TRACE.md
如果文件不存在,使用 Write 工具创建:
---
created_at: {当前时间}
total_traces: 0
---
# EnjoyHarness 全局执行追踪
## 追踪记录格式
时间 | 任务ID | 技能 | 操作类型 | 操作详情 | Token消耗 | 耗时(ms)
## 追踪列表
(暂无追踪记录)
使用 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"
# 计算总耗时
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}秒"
# 统计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"
# 统计成功和失败事件
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
# 统计各技能的执行次数和耗时
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
使用 Write 工具创建文件:.EnjoyHarness/PERFORMANCE_REPORT.md
---
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}
使用 Read 工具读取:memory/goals/{目标文件}
提取SMART目标:
对比实际执行结果:
### 目标验证
**原始目标**:
- Specific: {具体目标}
- Measurable: {衡量标准}
- Time-bound: {时限}
**实际结果**:
- 达成情况: {描述}
- 衡量结果: {数据}
- 耗时: {实际时间}
**验证结果**:
- Specific: {✅达成 / ❌未达成}
- Measurable: {✅达成 / ❌未达成}
- Time-bound: {✅达成 / ❌未达成}
**总体评价**: {✅完全达成 / ⚠️部分达成 / ❌未达成}
根据评估结果生成建议:
- 减少不必要的文件读取
- 使用缓存机制
- 并行执行独立任务
- 优化文件搜索范围
- 精准加载必要文件
- 减少P1-P3级文件加载
- 使用上下文索引
- 避免重复读取
- 增加前置检查
- 增强错误处理
- 使用熔断机制
- 增加重试逻辑
使用 Edit 工具追加内容到:.EnjoyHarness/EVENT_LOG.md
{当前时间} | PERFORMANCE_EVALUATION | harness-evaluate-performance | 评估任务: {任务ID} | SUCCESS
{当前时间} | EVALUATION_RESULT | harness-evaluate-performance | 综合得分: {分数}/5, 评级: {评级} | SUCCESS
使用 Edit 工具更新:.EnjoyHarness/GLOBAL_STATE.md
last_evaluation: {当前时间}
evaluation_status: COMPLETED
performance_score: {分数}
performance_rating: {评级}
goal_achieved: {YES/PARTIAL/NO}
使用 Edit 工具更新:.EnjoyHarness/EVENT_LOG.md
old_string: total_events: N
new_string: total_events: N+2
使用 Edit 工具更新:.EnjoyHarness/SKILL_REGISTRY.md
old_string: - [ ] harness-evaluate-performance - 效果评估技能
new_string: - [x] harness-evaluate-performance - 效果评估技能 ✅
使用 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 ""
本技能执行预计迭代次数: 约 10 次(Read 3次 + Write 1次 + Edit 3次 + Bash 3次)
输入: 在结果合并未执行时运行 期望输出: 错误提示"结果合并未执行" 验证方式: 删除合并记录后运行
输入: 提供执行时间数据 期望输出: 正确的时间效率指标 验证方式: 手动计算验证
输入: 提供Token使用数据 期望输出: 正确的Token消耗统计 验证方式: 累加验证
输入: 提供成功/失败事件数据 期望输出: 正确的成功率百分比 验证方式: 手动计算验证
输入: 执行评估
期望输出: 生成 PERFORMANCE_REPORT.md
验证方式: ls .EnjoyHarness/PERFORMANCE_REPORT.md
输入: 读取目标文件 期望输出: 正确的目标达成评估 验证方式: 对比SMART目标
输入: 读取 GLOBAL_STATE.md
期望输出: evaluation_status 为 COMPLETED
验证方式: grep "evaluation_status" .EnjoyHarness/GLOBAL_STATE.md
输入: 读取 EVENT_LOG.md
期望输出: 包含 PERFORMANCE_EVALUATION 事件
验证方式: grep "PERFORMANCE_EVALUATION" .EnjoyHarness/EVENT_LOG.md
计算方式: 任务总耗时 / 预期耗时
评级标准:
- 优秀: < 30秒
- 良好: 30-60秒
- 一般: 60-120秒
- 较慢: 120-300秒
- 很慢: > 300秒
优化方向:
- 减少文件I/O操作
- 使用缓存机制
- 并行执行任务
计算方式: 总Token消耗 / 任务复杂度
评级标准:
- 极优: < 3000
- 优秀: 3000-6000
- 良好: 6000-10000
- 一般: 10000-15000
- 较高: > 15000
优化方向:
- 精准加载文件
- 减少上下文大小
- 使用上下文索引
计算方式: 成功事件数 / 总事件数
评级标准:
- 完美: 100%
- 优秀: 95-99%
- 良好: 85-94%
- 一般: 70-84%
- 较低: < 70%
优化方向:
- 增强错误处理
- 增加前置检查
- 使用熔断机制
任务: 简单文件生成
时间: 25秒
Token: 2500
成功率: 100%
评估结果:
- 时间效率: ⭐⭐⭐⭐⭐
- Token效率: ⭐⭐⭐⭐⭐
- 成功率: ⭐⭐⭐⭐⭐
- 综合得分: 5.0/5
- 最终评级: ⭐⭐⭐⭐⭐ 卓越
任务: 复杂功能开发
时间: 75秒
Token: 8500
成功率: 92%
评估结果:
- 时间效率: ⭐⭐⭐
- Token效率: ⭐⭐⭐
- 成功率: ⭐⭐⭐
- 综合得分: 3.0/5
- 最终评级: ⭐⭐⭐ 良好
任务: 大规模重构
时间: 350秒
Token: 16000
成功率: 65%
评估结果:
- 时间效率: ⭐
- Token效率: ⭐
- 成功率: ⭐⭐
- 综合得分: 1.3/5
- 最终评级: ⭐ 较差
建议: 需要优化执行流程
harness-merge-subharness-result(合并结果)
↓
harness-evaluate-performance(评估效果)
↓
判断: 目标是否达成?
├─ 是 → 任务完成
└─ 否 → harness-diagnose-and-improve(诊断改进)
场景: 执行代码生成任务
阶段1: 合并结果
- harness-merge-subharness-agent → 合并子代理结果
阶段2: 评估效果
- harness-evaluate-performance → 评估执行效果
├─ 时间效率: 45秒 ⭐⭐⭐⭐
├─ Token效率: 5500 ⭐⭐⭐⭐
├─ 成功率: 98% ⭐⭐⭐⭐
└─ 综合得分: 4.0/5 ⭐⭐⭐⭐ 优秀
阶段3: 验证目标
- harness-goal → 验证目标达成
├─ Specific: ✅ 达成
├─ Measurable: ✅ 达成
└─ Time-bound: ✅ 达成
阶段4: 后续动作
- 目标已达成 → 任务完成
- 目标未达成 → 继续优化