建立和維護效能基準,追蹤改善進度
基準線機制提供參考標準,用於評估每次執行的表現並追蹤長期改善趨勢。
.claude/memory/metrics/summary/baseline.yaml
# .claude/memory/metrics/summary/baseline.yaml
# 元數據
metadata:
version: 1
created: "2026-01-15T10:00:00Z"
last_updated: "2026-01-24T12:00:00Z"
sample_size: 10
update_method: "rolling_average"
# 基準線數值
baseline:
# 執行指標
execution:
duration_sec:
average: 2850
p50: 2700
p90: 3500
min: 1800
max: 4200
stage_duration_percent:
research: 0.15
plan: 0.20
implement: 0.35
review: 0.15
verify: 0.15
agent_success_rate:
average: 0.95
min: 0.85
# 效率指標
efficiency:
rollback_count:
average: 0.3
p50: 0
p90: 1
max: 3
first_pass_rate: 0.7
pass_at_k:
k1: 0.7 # 第一次通過率
k2: 0.85 # 前兩次通過率
k3: 0.95 # 前三次通過率
total_iterations:
average: 1.3
max: 3
# 品質指標
quality:
issues_per_workflow:
average: 6.2
by_severity:
blocker: 0.1
high: 0.8
medium: 2.3
low: 3.0
false_positive_rate: 0.08
# 目標值
targets:
duration_sec:
value: 2400
improvement: -0.16 # 減少 16%
rollback_count:
value: 0.2
improvement: -0.33 # 減少 33%
first_pass_rate:
value: 0.85
improvement: 0.15 # 增加 15pp
false_positive_rate:
value: 0.05
improvement: -0.38 # 減少 38%
# 警戒閾值
thresholds:
warning:
duration_sec: 3500 # 超過此值顯示警告
rollback_count: 2
issues_blocker: 2
critical:
duration_sec: 4500 # 超過此值顯示嚴重警告
rollback_count: 3
issues_blocker: 3首次執行工作流時自動建立初始基準線:
initial_baseline:
trigger: "first_workflow_complete"
# 使用首次執行的數據
# 或使用預設值
defaults:
duration_sec: 3600 # 1 小時
rollback_count: 1
first_pass_rate: 0.5
issues_per_workflow: 10首次工作流完成
↓
檢查 baseline.yaml 是否存在
↓
不存在
↓
使用首次數據建立基準線
↓
設定預設目標(改善 20%)
↓
儲存 baseline.yaml
每次工作流完成後更新基準線:
update_policy:
method: "rolling_average"
window_size: 10 # 最近 10 次執行
update_frequency: "per_workflow"
# 計算方式
# new_baseline = (old_baseline * (n-1) + new_value) / n
# 其中 n = min(current_count, window_size)工作流完成
↓
讀取當前 baseline.yaml
↓
計算滾動平均
↓
更新 baseline 數值
↓
檢查是否達到目標
↓
├── 是 → 設定新目標
│
└── 否 → 保持目標
↓
儲存更新後的 baseline.yaml
def update_baseline(current_baseline, new_metrics, window_size=10):
"""
更新基準線(滾動平均)
"""
sample_size = current_baseline['metadata']['sample_size']
n = min(sample_size + 1, window_size)
# 計算新的平均值
for metric in ['duration_sec', 'rollback_count', 'issues']:
old_value = current_baseline['baseline'][metric]['average']
new_value = new_metrics[metric]
# 滾動平均公式
updated_value = (old_value * (n - 1) + new_value) / n
current_baseline['baseline'][metric]['average'] = updated_value
# 更新元數據
current_baseline['metadata']['sample_size'] = n
current_baseline['metadata']['last_updated'] = now()
return current_baseline# 重設為預設值
/multi-orchestrate --reset-baseline
# 使用指定執行作為新基準
/multi-orchestrate --set-baseline {workflow-id}
# 強制使用最近 N 次執行重新計算
/multi-orchestrate --recalculate-baseline --last 20| 場景 | 建議操作 |
|---|---|
| 重大架構變更 | 重設為預設值 |
| 異常值污染 | 排除異常後重新計算 |
| 新團隊成員 | 保持現有基準線 |
| 新專案開始 | 重設為預設值 |
## 與基準線對比
| 指標 | 本次 | 基準線 | 差異 | 評價 |
|------|------|--------|------|------|
| 總耗時 | 45 分鐘 | 47.5 分鐘 | -5% | 良好 |
| 回退次數 | 1 | 0.3 | +233% | 需改善 |
| 問題數 | 5 | 6.2 | -19% | 良好 |evaluation_criteria:
excellent:
condition: "value < baseline * 0.8"
label: "優秀"
good:
condition: "value < baseline * 1.0"
label: "良好"
normal:
condition: "value < baseline * 1.2"
label: "正常"
warning:
condition: "value < baseline * 1.5"
label: "需關注"
critical:
condition: "value >= baseline * 1.5"
label: "需改善"suggestion_rules:
- name: "high_duration"
condition: "duration > baseline.duration * 1.3"
suggestion: "執行時間超過基準線 30%,建議優化"
- name: "high_rollback"
condition: "rollback > baseline.rollback * 2"
suggestion: "回退次數超過基準線 2 倍,建議分析原因"當達到目標時自動設定新目標:
target_adjustment:
trigger: "target_achieved"
rules:
duration_sec:
improvement_step: 0.10 # 每次改善 10%
min_value: 1800 # 最小目標值
rollback_count:
improvement_step: 0.20 # 每次改善 20%
min_value: 0.1
first_pass_rate:
improvement_step: 0.05 # 每次改善 5pp
max_value: 0.95 # 最大目標值工作流完成
↓
計算近期平均值(最近 5 次)
↓
與目標對比
↓
├── 達標 → 設定新目標
│ ├── 記錄達標事件
│ └── 計算新目標值
│
└── 未達標 → 保持目標
└── 記錄差距
# 基準線狀態報告
**更新時間**: 2026-01-24 12:00
**樣本數量**: 10
## 當前基準線
| 指標 | 基準值 | 目標值 | 差距 |
|------|--------|--------|------|
| 平均耗時 | 47.5 分鐘 | 40 分鐘 | -16% |
| 回退次數 | 0.3 | 0.2 | -33% |
| 一次通過率 | 70% | 85% | +15pp |
| 誤報率 | 8% | 5% | -38% |
## 達標進度
平均耗時 [████████░░░░░░░░] 50% 回退次數 [██████████░░░░░░] 60% 一次通過率 [████████████░░░░] 75% 誤報率 [██████░░░░░░░░░░] 40%
## 歷史基準線
| 日期 | 平均耗時 | 回退次數 | 一次通過率 |
|------|----------|----------|------------|
| 01/24 | 47.5 分鐘 | 0.3 | 70% |
| 01/17 | 50 分鐘 | 0.5 | 65% |
| 01/10 | 55 分鐘 | 0.8 | 55% |