[보관] 실험 약속 (제약 C1~C9) — 쉬운 버전
통계 용어 없이 쓴 9가지 약속. 깊이 있는 메소드 버전은
02-constraints.md, 용어 풀이는experiments/glossary-easy.md.왜 약속이 중요한가: 실험 도중에 룰을 바꾸면 결과를 원하는 대로 짜맞출 수 있음. 시작 전에 박아두는 게 결과의 신뢰성을 만듦.
한 줄 요약 (9개)
섹션 제목: “한 줄 요약 (9개)”| # | 약속 | 한 줄 |
|---|---|---|
| C1 | 두-트랙 백엔드 | ”Claude로 한 번, ChatGPT로 한 번 — 따로 측정하고 비교” |
| C2 | 어댑터 자작 안 함 | ”도구 호환 안 되면 빠지고, 우회 도구 직접 만들지 않음” |
| C3 | 폴더 격리 | ”Hermes·OpenClaw·평소 Claude 폴더 서로 안 건드림” |
| C4 | 자연어만 | ”민지처럼 — 코드 직접 수정 X, 자연어 지시만” |
| C5 | 측정 무결성 | ”한 도구 결과를 다른 도구한테 안 보여줌. 점수 매기고 30분 후 메모” |
| C6 | 비용 한도 | ”두 구독 같이 운영. 돈이 아니라 호출 한도가 진짜 비용” |
| C7 | 3단 채집 | ”매 작업마다 점수·메모·자동로그 셋 다 남김” |
| C8 | 실패 조건 미리 | ”이러면 폐기다를 시작 전에 적어둠” |
| C9 | 평가 분리 | ”점수와 메모는 다른 트랙으로 따로 굴림” |
C1. 두-트랙 백엔드
섹션 제목: “C1. 두-트랙 백엔드”두 도구(Hermes·OpenClaw)를 두 LLM 백엔드에서 각각 굴려본다.
- Track A: 둘 다 Claude(Anthropic) 백엔드
- Track B: 둘 다 ChatGPT(Codex) 백엔드
왜 두 번? 한 번만 하면 “이게 도구 차이인지, LLM 차이인지” 못 가림. 두 번 비교하면 도구가 LLM에 얼마나 의존하는가를 부수적으로 알 수 있음.
같은 트랙 안에서는 LLM 고정 → 도구 비교만. 트랙 사이 차이 = LLM 변량.
C2. 어댑터 자작 안 함 (폐기 결정)
섹션 제목: “C2. 어댑터 자작 안 함 (폐기 결정)”만약 OpenClaw가 ChatGPT 백엔드를 못 받으면? 그 트랙에서 OpenClaw 빠짐. 우회 도구를 직접 안 만듦.
왜? 우회 어댑터를 끼우면 도구 학습 신호가 왜곡됨. “이게 도구 본연의 능력인지, 어댑터가 도와준 건지” 못 가림.
C3. 폴더 격리
섹션 제목: “C3. 폴더 격리”~/.hermes/ ← Hermes 자체 메모리·스킬~/.openclaw/ ← OpenClaw 설정·스킬~/.claude/ ← 평소 쓰는 Claude Code (실험 영향 X)세 폴더는 서로 안 건드림. 평소 Claude Code 작업이 실험에 영향 주거나, 실험이 평소 작업에 영향 주면 안 됨.
진짜 커뮤니티 데이터는 금지. 가짜 샌드박스 데이터(data/)로만.
C4. 자연어만 (민지 모드)
섹션 제목: “C4. 자연어만 (민지 모드)”페르소나 “민지”는 비개발자라 코드 직접 수정 못 함.
- 모든 지시는 자연어로만: “공지 작성해줘”, “보내줘”
- 코드·JSON·YAML 직접 작성 금지
- 셋업도 “코딩 없이” 모드. 못 깐다면 그게 데이터.
예외 1개: T_burst (한도 부하 테스트)는 스크립트 호출이 본질이라 페르소나 모드 외부. 모든 측정 끝난 후 마지막에 1회만.
C5. 측정 무결성
섹션 제목: “C5. 측정 무결성”- 한 도구 결과를 다른 도구한테 보여주지 않기 — 오염 차단
- 도구 사용 순서는 매번 코인토스로 무작위
- OpenClaw 셋업은 P1 시작 전 한 번만 — 이후 모든 probe 동안 동결
- Hermes 자동 학습은 의도된 강점이라 그대로 둠
- 평가자 1명 운영 — 시간 분리 강제: 작업 직후 즉시 점수 → 30분 후 메모. 동시 수행 X (점수가 메모에 영향 못 미치게)
- T_concurrent(동시 작업 측정)는 단발 측정과 별도 슬롯. T_burst는 모든 측정 끝난 후 마지막 1회만
C6. 비용 한도
섹션 제목: “C6. 비용 한도”두 구독 같이 운영:
- Anthropic Claude Code OAuth
- ChatGPT Plus 또는 Pro
트랙 분리라 한 시점엔 한 구독만 가동되면 됨.
모니터링은 돈이 아니라 호출 한도 — Claude는 5시간 윈도우당 메시지 수, ChatGPT는 시간당 메시지 수. 한도 도달 시 잔여 작업 다음 probe로 이월.
호출 한도 도달이 측정에 미치는 영향: 응답 거부로 인해 시간(TTC)이 인위적으로 부풀려짐 → 측정 오염. 그래서 T_burst는 마지막에만.
C7. 3단 데이터 채집 (가장 중요)
섹션 제목: “C7. 3단 데이터 채집 (가장 중요)”매 작업 실행 시 다음 셋을 모두 남긴다. 어느 하나라도 빠지면 그 작업은 사후 분석에서 제외됨.
| 채집 | 어디에 | 무엇 |
|---|---|---|
| 정량 | runs/runs.csv | 점수표 — TTC·개입수·점수 1~5 등 숫자 |
| 정성 | runs/notes.jsonl | 1~3줄 자유 메모. 도구명 안 적고 tool_X / tool_Y로 |
| 자동 로그 | logs/, ~/.{hermes,openclaw}/logs/ | 도구가 무엇을 어떤 순서로 했나 (자동 기록) |
왜 도구명 안 적나? 사후에 “어느 도구 결과인지 가린 채로” 분석할 수 있게. 평가자(나)가 내심 편향된 결론을 내리는 걸 막음.
매핑은 runs/.tool_map.json에만 (gitignore, 사용자만 보관).
C8. 실패 조건 시작 전에 미리 적기
섹션 제목: “C8. 실패 조건 시작 전에 미리 적기”“이러면 이 실험은 실패다”를 실험 시작 전에 적어둔다.
왜? 끝나고 떠올리면 결과 보고 유리하게 해석함. 사후 짜맞춤이 됨. L2/L3 산출물의 신뢰성이 사라짐.
지표별 4종 실패 (어느 하나라도 도달 시 그 지표 폐기):
- 변별 못 함 — 두 도구 값이 비슷해서 차이 안 남
- 신뢰 못 함 — 내가 두 번 매긴 점수가 너무 다름
- 다른 결론 — 메모와 점수가 정반대
- 부담 큼 — 점수 적느라 작업 시간의 30% 이상 씀
각 probe의 §2에 매번 미리 적음.
C9. 평가 분리 (정량과 정성 동시 굴리기)
섹션 제목: “C9. 평가 분리 (정량과 정성 동시 굴리기)”평가는 두 트랙으로 갈라져 병렬로 굴러간다.
| 트랙 | 무엇 | 산출물 |
|---|---|---|
| 점수 트랙 (정량) | 매 작업 직후 7개 지표 즉시 기록 | L2 평가 프레임워크 v1 |
| 메모 트랙 (정성) | 30분 텀 후 자유 메모 + 매일 일기 | L3 다른 시각 비교 데이터 |
평가자는 1명이지만 시간 분리로 두 트랙 직렬 처리. 점수가 메모에 영향 못 미치게.
자동 분기 트리거: 어떤 probe에서 점수 항목 5개 이상이 한꺼번에 사망하면 → 다음 probe는 메모 비중 70%로 자동 전환. (P4 채택 시 임계 3개로 완화)
채택된 다른 시각: 사후 코딩(B) + 일기(D) 두 가지. 결과 도달률(C)·행동 추적(E)는 v2 후보로 보류.
약속을 깨면?
섹션 제목: “약속을 깨면?”각 약속은 결과의 신뢰성을 만드는 장치. 깨지면:
- C3 깨짐 → 평소 Claude Code 작업에 실험이 영향 줘서 일상 손상
- C4 깨짐 → 페르소나(민지) 가정이 깨져서 결과가 비개발자에게 안 통함
- C5 깨짐 → 점수 편향, 결과 못 믿음
- C7 깨짐 → 사후 분석에서 그 작업은 없는 셈
- C8 깨짐 → “사후 짜맞춤”이라 평가 자체 무가치
약속을 일부러 어기는 게 적절한 경우 (예: T_burst가 C4 예외)는 본 doc에 명시적 예외로 박혀있음. 박혀있지 않은 위반은 위반.
본 페이지 vs 02-constraints.md (메소드 버전)
섹션 제목: “본 페이지 vs 02-constraints.md (메소드 버전)”| 본 페이지 (쉬운) | 02-constraints.md (메소드) |
|---|---|
| 통계 용어 0개 | C1~C9 정확 정의·예외·근거 |
| 매일 빠르게 점검용 | 학술·재현 키트 정확성 |
| 짧고 얕음 | 길고 깊음 |
정의 충돌 시 메소드 버전이 맞음.