현재 위치: 1개월차 4주차
핵심 연구질문: CHO-FAM의 변경이 실제 개선인지 우연·표본 편향·측정 누수인지 구분할 수 있도록, 비교 가능하고 재현 가능한 실험을 어떻게 설계할 것인가?
전체 커리큘럼 · 1개월차 상세 · 3주차 · 4주차 HTML · Markdown 원문
대화형 학습에서 정리한 설계 판단입니다. 실제 벤치마크 성과와 구분하며, 상세 근거와 한계는 리포트에 기록했습니다.
1–3주차의 정규 학습성과는 완료된 선수 지식으로 간주한다. 3주차에서 정한 관찰 단위, 지표 레지스트리, 신뢰구간, 비용·지연 측정 규칙과 measurement harness는 이번 주 실험의 고정 입력으로 사용한다.
운영 원칙: 앞서 확인한 개념은 4주차의 새로운 구현과 실험에서 계산·판정에 필요한 만큼만 호출한다. 이를 복습·재학습·보충 과제로 편성하지 않으며, 이전 주 미진행분을 시간표·과제·산출물에 이월하지 않는다. 이번 주의 새 학습 대상은 가설 사전등록, 대조군, 무작위화·블록화, 표본·반복, 중단 규칙, 누수 방지와 재현성이다.
experiment.yaml 계약을 만든다.| 블록 | 시간 | 활동 | 종료 조건 |
|---|---|---|---|
| A. T1 정독 | 2시간 | T1 Ch.4의 평가 기준, 모델 선택, 평가 파이프라인 절 | 실험 설계 결정 5개를 독서 노트에 기록 |
| B. T5·확장 독서 | 1시간 | T5 Ch.10 §10.2와 S5 Ch.3의 관련 절 | 데이터셋·루브릭·유의성 위험을 각 1개 기록 |
| C. 논문·공식문서 세미나 | 1시간 | NIST 실험설계 절차와 온라인 통제실험 원칙 비교 | CHO-FAM 적용 규칙 4개 도출 |
| D. 프로토콜 구현 | 2시간 30분 | 스키마, 검증기, 배정표 생성기, 실행 manifest | 잘못된 설계가 검증 단계에서 실패 |
| E. 파일럿 실험 | 2시간 | baseline/candidate paired run, 결과 분석 | 동일 seed 재실행 결과와 manifest 일치 |
| F. 평가·연구노트 | 1시간 30분 | 결과 판정, 위협요인, 의사결정, 월말 회고 | 산출물 체크리스트와 월간 리뷰 완료 |
시간이 부족해도 이전 주 과제를 끌어오지 않는다. 4주차 범위 안에서 파일럿 케이스 수를 줄이되 프로토콜·검증·기록의 완결성을 유지한다.
experiments/week04/experiment.yaml을 만들고 아래 필드를
검증한다.
experiment_id: week04-baseline-vs-candidate
hypothesis: "candidate는 품질 hard gate를 유지하며 task_success를 개선한다"
unit: evaluation_case
arms: [baseline, candidate]
independent_variable: policy_version
dependent_metrics: [task_success, critical_error_rate, latency_p95_ms, cost_per_run]
hard_gates:
critical_error_rate_max: 0.00
latency_p95_regression_max_pct: 10
blocks: [task_type, difficulty]
seeds: [104, 208, 416]
stopping_rule: "manifest에 고정한 모든 case × arm × seed 실행 후 종료"
decision_rule: "hard gate 통과 후 paired task_success 개선과 비용 trade-off를 함께 검토"검증기는 필수 필드 누락, baseline/candidate 혼동, 결과를 본 뒤 바뀐 임계치, 중복 case ID, holdout label 노출을 실패 처리한다.
dev 20 / holdout 10으로
고정한다.task_type × difficulty 블록별 비율을 기록하고, 케이스
ID·입력 hash·기대 제약·허용 도구만 manifest에 둔다.scripts/validate_experiment.*: YAML·데이터·hard
gate·중단 규칙 정적 검증scripts/make_assignment.*: seed를 받아 블록 내 arm
순서를 무작위화하고 CSV 생성scripts/run_experiment.*: arm, case, seed, model/tool
version, timestamp, latency, cost를 JSONL로 저장scripts/analyze_experiment.*: paired delta, bootstrap
95% CI, hard gate, 블록별 오류표 생성tests/experiment_contract.*: 동일 seed 결정성, 누락
필드 거부, holdout 누수 방지 테스트make validate-experiment EXP=experiments/week04/experiment.yaml
make run-experiment EXP=experiments/week04/experiment.yaml
make analyze-experiment EXP=experiments/week04/experiment.yaml| 항목 | 설계 |
|---|---|
| 비교 | 동일 케이스에 baseline과 candidate를 적용하는 paired comparison |
| 블록 | task type과 difficulty; 블록 안에서 arm 실행 순서를 seed로 무작위화 |
| 반복 | 각 case·arm에 3개 seed; timeout·infra error는 별도 상태로 보존 |
| 주지표 | task success의 paired delta와 bootstrap 95% CI |
| 보호지표 | critical error rate, latency p95, cost per run |
| 누수 방지 | dev로 코드 점검 후 1회 frozen holdout 실행; 결과 확인 뒤 임계치 변경 금지 |
| 중단 | 사전등록된 전체 조합 완료 또는 명시된 안전 중단 사유 발생 |
experiment_id로 다시 사전등록한다.success / model_error / tool_error / timeout / invalid 중
하나로 종결되는가?docs/research/week-04-experiment-design.md — 가설,
변수, 교란요인, 설계 선택 근거experiments/week04/experiment.yaml — 사전등록 실험
계약experiments/week04/dataset-manifest.json — split,
block, hash, versionexperiments/week04/assignment.csv — 결정적 무작위
배정표experiments/week04/results/raw/*.jsonl — 원시 실행
기록experiments/week04/results/summary.csv — paired delta,
CI, 비용·지연·hard gateexperiments/week04/experiment-report.md — 결과,
위협요인, 채택/보류/기각 결정tests/experiment_contract.* — 계약·재현성·누수 방지
테스트docs/research/month-01-review.md — 1개월차
질문·측정·실험설계 통합 회고다음 주차 상세 파일은 미리 만들지 않는다.