콘텐츠로 이동

[보관] 실험 약속 (제약 C1~C9) — 쉬운 버전

통계 용어 없이 쓴 9가지 약속. 깊이 있는 메소드 버전은 02-constraints.md, 용어 풀이는 experiments/glossary-easy.md.

왜 약속이 중요한가: 실험 도중에 룰을 바꾸면 결과를 원하는 대로 짜맞출 수 있음. 시작 전에 박아두는 게 결과의 신뢰성을 만듦.

#약속한 줄
C1두-트랙 백엔드”Claude로 한 번, ChatGPT로 한 번 — 따로 측정하고 비교”
C2어댑터 자작 안 함”도구 호환 안 되면 빠지고, 우회 도구 직접 만들지 않음”
C3폴더 격리”Hermes·OpenClaw·평소 Claude 폴더 서로 안 건드림”
C4자연어만”민지처럼 — 코드 직접 수정 X, 자연어 지시만”
C5측정 무결성”한 도구 결과를 다른 도구한테 안 보여줌. 점수 매기고 30분 후 메모”
C6비용 한도”두 구독 같이 운영. 돈이 아니라 호출 한도가 진짜 비용”
C73단 채집”매 작업마다 점수·메모·자동로그 셋 다 남김”
C8실패 조건 미리”이러면 폐기다를 시작 전에 적어둠”
C9평가 분리”점수와 메모는 다른 트랙으로 따로 굴림”

두 도구(Hermes·OpenClaw)를 두 LLM 백엔드에서 각각 굴려본다.

  • Track A: 둘 다 Claude(Anthropic) 백엔드
  • Track B: 둘 다 ChatGPT(Codex) 백엔드

왜 두 번? 한 번만 하면 “이게 도구 차이인지, LLM 차이인지” 못 가림. 두 번 비교하면 도구가 LLM에 얼마나 의존하는가를 부수적으로 알 수 있음.

같은 트랙 안에서는 LLM 고정 → 도구 비교만. 트랙 사이 차이 = LLM 변량.


C2. 어댑터 자작 안 함 (폐기 결정)

섹션 제목: “C2. 어댑터 자작 안 함 (폐기 결정)”

만약 OpenClaw가 ChatGPT 백엔드를 못 받으면? 그 트랙에서 OpenClaw 빠짐. 우회 도구를 직접 안 만듦.

왜? 우회 어댑터를 끼우면 도구 학습 신호가 왜곡됨. “이게 도구 본연의 능력인지, 어댑터가 도와준 건지” 못 가림.


~/.hermes/ ← Hermes 자체 메모리·스킬
~/.openclaw/ ← OpenClaw 설정·스킬
~/.claude/ ← 평소 쓰는 Claude Code (실험 영향 X)

세 폴더는 서로 안 건드림. 평소 Claude Code 작업이 실험에 영향 주거나, 실험이 평소 작업에 영향 주면 안 됨.

진짜 커뮤니티 데이터는 금지. 가짜 샌드박스 데이터(data/)로만.


페르소나 “민지”는 비개발자라 코드 직접 수정 못 함.

  • 모든 지시는 자연어로만: “공지 작성해줘”, “보내줘”
  • 코드·JSON·YAML 직접 작성 금지
  • 셋업도 “코딩 없이” 모드. 못 깐다면 그게 데이터.

예외 1개: T_burst (한도 부하 테스트)는 스크립트 호출이 본질이라 페르소나 모드 외부. 모든 측정 끝난 후 마지막에 1회만.


  • 한 도구 결과를 다른 도구한테 보여주지 않기 — 오염 차단
  • 도구 사용 순서는 매번 코인토스로 무작위
  • OpenClaw 셋업은 P1 시작 전 한 번만 — 이후 모든 probe 동안 동결
  • Hermes 자동 학습은 의도된 강점이라 그대로 둠
  • 평가자 1명 운영 — 시간 분리 강제: 작업 직후 즉시 점수 → 30분 후 메모. 동시 수행 X (점수가 메모에 영향 못 미치게)
  • T_concurrent(동시 작업 측정)는 단발 측정과 별도 슬롯. T_burst는 모든 측정 끝난 후 마지막 1회만

두 구독 같이 운영:

  • Anthropic Claude Code OAuth
  • ChatGPT Plus 또는 Pro

트랙 분리라 한 시점엔 한 구독만 가동되면 됨.

모니터링은 돈이 아니라 호출 한도 — Claude는 5시간 윈도우당 메시지 수, ChatGPT는 시간당 메시지 수. 한도 도달 시 잔여 작업 다음 probe로 이월.

호출 한도 도달이 측정에 미치는 영향: 응답 거부로 인해 시간(TTC)이 인위적으로 부풀려짐 → 측정 오염. 그래서 T_burst는 마지막에만.


매 작업 실행 시 다음 셋을 모두 남긴다. 어느 하나라도 빠지면 그 작업은 사후 분석에서 제외됨.

채집어디에무엇
정량runs/runs.csv점수표 — TTC·개입수·점수 1~5 등 숫자
정성runs/notes.jsonl1~3줄 자유 메모. 도구명 안 적고 tool_X / tool_Y로
자동 로그logs/, ~/.{hermes,openclaw}/logs/도구가 무엇을 어떤 순서로 했나 (자동 기록)

왜 도구명 안 적나? 사후에 “어느 도구 결과인지 가린 채로” 분석할 수 있게. 평가자(나)가 내심 편향된 결론을 내리는 걸 막음.

매핑은 runs/.tool_map.json에만 (gitignore, 사용자만 보관).


C8. 실패 조건 시작 전에 미리 적기

섹션 제목: “C8. 실패 조건 시작 전에 미리 적기”

“이러면 이 실험은 실패다”를 실험 시작 적어둔다.

왜? 끝나고 떠올리면 결과 보고 유리하게 해석함. 사후 짜맞춤이 됨. L2/L3 산출물의 신뢰성이 사라짐.

지표별 4종 실패 (어느 하나라도 도달 시 그 지표 폐기):

  1. 변별 못 함 — 두 도구 값이 비슷해서 차이 안 남
  2. 신뢰 못 함 — 내가 두 번 매긴 점수가 너무 다름
  3. 다른 결론 — 메모와 점수가 정반대
  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 정확 정의·예외·근거
매일 빠르게 점검용학술·재현 키트 정확성
짧고 얕음길고 깊음

정의 충돌 시 메소드 버전이 맞음.