Files
company-haness/benchmark/benchmark-rubric.yaml
T

63 lines
2.9 KiB
YAML

# benchmark-rubric.yaml — 골든태스크 채점 루브릭 (리뷰 3주차 측정 항목)
# =============================================================================
# 리뷰가 요구한 측정 항목을 그대로 dimension으로 둔다. 각 dimension은 0..1(또는 카운트).
# 두 arm(plain Claude / harness)을 같은 과제로 실행 후 이 dimension으로 채점하고,
# benchmark.py compare 가 arm 간 차이(delta)를 집계한다. delta>0 = 하네스 이득.
# =============================================================================
benchmark-rubric:
version: 1
arms: [plain, harness] # plain = 하네스 없이 Claude 단독 / harness = org-os 파이프라인
dimensions:
first-pass-acceptance:
type: bool # 1회차에 수용기준 전부 충족?
direction: higher-better
weight: 3
tests-pass-rate:
type: ratio # 통과 테스트 / 전체
direction: higher-better
weight: 3
requirements-met:
type: ratio # 충족 수용기준 / 전체 수용기준
direction: higher-better
weight: 3
unnecessary-change-lines:
type: count # 과제와 무관하게 바꾼 diff 라인
direction: lower-better
weight: 2
rework-count:
type: count # 수용까지 재작업 횟수
direction: lower-better
weight: 2
unsupported-claims:
type: count # 근거 없이 단정한 주장 수(hallucination 대리지표)
direction: lower-better
weight: 2
escaped-defects:
type: count # 수용 후 발견된 결함
direction: lower-better
weight: 3
human-interventions:
type: count # 사람이 손대야 했던 횟수
direction: lower-better
weight: 1
tokens:
type: count # 소비 토큰(비용)
direction: lower-better
weight: 1
latency-sec:
type: count # 벽시계 시간
direction: lower-better
weight: 1
task-score:
type: ratio # 카테고리별 종합(코드/문서/디자인/결정) 0..1
direction: higher-better
weight: 3
rules:
- "채점은 acceptance-criteria 기반(주관 최소화). 애매하면 근거(diff/test 로그/산출물)를 첨부한다."
- "arm 간 비교는 **같은 과제·같은 판정자**로. 판정자는 과제 실행자와 분리(감사 독립성)."
- "delta = harness - plain (higher-better) / plain - harness (lower-better). 양수 = 하네스 이득."
- "표본이 arm당 과제 1회 이상 있어야 비교에 포함(없으면 '미실행'으로 정직 표시)."
decision-rule: >
카테고리에서 하네스가 plain 대비 종합 delta<=0 이면, 그 카테고리에 붙은 role/fan-out/framework는
비용만 늘리는 것이므로 제거/경량화 후보다(리뷰 최종 판단).