콘텐츠로 이동

[보관] P1. Trajectory 자동 추출

시각: 2026-04-28 14:00 KST (시작) — §1~§4 봉인, §5·§6 실시간 채움 오늘 코인 토스: openclaw → hermes (runs/coin_log.csv 2026-04-28). 본 시퀀스의 §3 Step 1·3 라벨은 도구명을 swap 적용 — Step 1=OpenClaw로 T1, Step 3=Hermes로 T1.

본 페이지는 probe 시작 직전 에 §1~§4를 채우고, 진행하면서 §5·§6을 실시간 채워넣는다. 사후 일괄 작성 금지 (C8 정신).

study/14-applying-to-our-experiment.md 의 권고 항목 중 A1 (Trajectory 자동 추출) 검증.

  • 가설: hook 로그에서 자동 산출되는 trajectory 메트릭(tool_calls_count, unique_tools_used, call_sequence, has_external_call) 이 현 8-지표 단독 + 정성 메모와는 다른 결론을 만든다.
  • 의의: 비용 ≈ 0 (이미 hook 로그가 떨어지고 있음). 실패해도 본 설계 영향 0. 다른 probe(P2·P5)의 전제 데이터 가 됨.

다음 중 하나라도 도달하면 P1은 폐기 또는 보류.

  • R1 (가치 부재): trajectory 메트릭이 정량 8-지표 + 정성 메모와 완전히 같은 도구 우열 을 가리킴 → trajectory 추가 가치 없음
  • R2 (실용성 실패): parse 스크립트 작성·실행이 1.5h 이상 소요 → 비용 가정 깨짐, “공짜 메트릭” 정신 위반
  • R3 (해석 불가): trajectory 메트릭 값이 두 도구에서 해석 가능한 차이 를 안 만듦 (예: 둘 다 unique_tools=1로 동일) → 본 페르소나·태스크 셋에선 변별 못 함

R1·R2는 명백 측정. R3는 정성 판단(W6 식 함정 보정 후 재검토 1회 허용).

Step 1 — 샘플 raw 1건 확보 (30~45분)

섹션 제목: “Step 1 — 샘플 raw 1건 확보 (30~45분)”
  • Hermes로 T1(공지 작성·발송) 1회 실행. Track A (Anthropic).
  • 페르소나 모드 강제 (자연어 지시만, C4).
  • 산출: logs/history-hermes.jsonl 한 trial 분 + runs/runs.csv 1행 + runs/notes.jsonl 1엔트리

Step 2 — scripts/parse-trajectory.py 작성 (60분)

섹션 제목: “Step 2 — scripts/parse-trajectory.py 작성 (60분)”
  • 입력: hook log JSONL 한 trial
  • 출력: 한 줄 dict
    • tool_calls_count: PostToolUse 이벤트 수
    • unique_tools_used: distinct tool_name
    • call_sequence: tool_name의 시간순 리스트
    • has_external_call: Discord/Slack/Gmail/Calendar 등 외부 도구 1회 이상 호출됐나 boolean
    • internal_only_calls: Read/Write/Bash 등 내부 도구만 카운트
  • 검증: Step 1의 sample run으로 sanity check

Step 3 — OpenClaw로 같은 T1 1회 실행 + parse (45분)

섹션 제목: “Step 3 — OpenClaw로 같은 T1 1회 실행 + parse (45분)”
  • 같은 자연어 지시, 페르소나 모드.
  • parse 스크립트로 metrics 산출
  • 두 도구 비교표 작성 (runs/p1-trajectory-compare.md 또는 본 페이지 §5에 inline)

Step 4 — 정성 메모 (+30분 텀, C5) (15분 채점)

섹션 제목: “Step 4 — 정성 메모 (+30분 텀, C5) (15분 채점)”
  • 두 trial 결과물에 8-지표 즉시 채점 (이미 Step 1·3에서 끝나 있을 수 있음)
  • +30분 후 정성 메모 1~3줄 (anonymous tool_X / tool_Y, C9)
  • 정량 8-지표·정성 메모·trajectory 메트릭 셋을 한 표에 나란히
  • 다음 3 항목에서 차이가 1개 이상이면 probe pass:
    1. 결론이 가리키는 도구
    2. 결론이 가리키는 지표 사망 후보
    3. 결론이 가리키는 정성-정량 불일치
  • 결과를 §5에 기록
제약정합비고
C3 환경 격리OK~/.hermes/·~/.openclaw/ 그대로 사용
C4 페르소나 모드OK자연어 지시만, parse 스크립트는 평가자 측 도구
C5 측정 무결성OK시간 분리 30분 텀 자연 포함 (Step 4)
C6 비용 한계OKTrack A 단독, 추가 호출 0
C7 3단 채집OKruns.csv + notes.jsonl + raw log 모두 채집됨. trajectory는 raw에서 자동 파생이라 양식 변경 X
C8 반증 사전OK§2에 R1·R2·R3 사전 명시
C9 평가 forkOKquant/qual 시간 분리 유지, anonymous 라벨 유지

5.0 인터페이스 측정 재정의 (2026-04-28 14:50 KST 결정)

섹션 제목: “5.0 인터페이스 측정 재정의 (2026-04-28 14:50 KST 결정)”

OpenClaw TUI가 비개발자가 사용할 수 없는 수준으로 lag (24분 입력 지연·prompt 3회 캡처·배너 흡수). TTC(I3) 측정은 본 P1에서 무효화, post-Slack 메신저 probe로 이월. 본 P1은 trajectory + quality + 정성만으로 결론.

이 결정 자체가 P1의 방법론 산출물: “지표 사전 정의가 인터페이스 가정에 종속될 때 측정이 무너진다 → 인터페이스 layer를 indicator spec에서 분리해야 한다” (L3 데이터).

  • 시작 시각: 2026-04-28 14:00 KST (P1 진입), OpenClaw 첫 실 사용 14:04
  • OpenClaw 폐기 trial: 14:04~14:34 KST. 세션 리플레이(스모크 컨텍스트 누적)로 C5 위반 → 폐기. raw=logs/discarded-openclaw-2026-04-28-1404.session.jsonl
  • OpenClaw 정식 trial: 14:47 (user submit) ~ 14:49 (response logged). session=de91be26-df9c-4ce8-815a-8d3384526990. 새 격리 세션(p1-trial-1).
    • TTC=N/A (interface invalid — 비교 일관성 위해 양쪽 N/A)
    • 개입=0 (§1 규칙대로 추가 단서 안 줌)
    • 점수: 4 / 4 / 4 (전체 / 정확성 / 즉시사용성). 즉시사용성 4 = Hermes와 동일 사유(정보 부족 페널티, 도구 결함 X)
  • Hermes 폐기 trial: 15:21:29~15:22:16 KST. user 실수로 부분 prompt + 전체 prompt 두 번 → 1차 응답 컨텍스트가 2차 응답에 누적 → C5 위반에 준해 폐기. raw=logs/discarded-hermes-2026-04-28-1521.session.json
  • Hermes 정식 trial: 15:25:59~15:26:19 KST (TTC=20.6s 참고치). session=20260428_152552_a9aa4f. 1 turn 깨끗.
    • TTC=N/A (양쪽 도구 비교 일관성 — 참고치 Hermes 20.6초, OpenClaw 비대화형 ~108초 추정. 둘 다 backend 호출 경로 차이가 시간 차의 주 요인이라 도구 자체 비교 데이터로 부적합)
    • 개입=0 (실수 1회는 정식 trial 이전이라 intervention 정의에 안 듦)
    • 점수: 5 / 4 / 4 (전체 / 정확성 / 즉시사용성)
    • 즉시사용성 4 메모 (사용자 코멘트): “미정 정보(장소·발표자) 때문에 그대로 못 보낸다는 뜻 — 도구 결함 X”. 같은 정보 부족 상태에서 OpenClaw 5점 준 건 더 단순한 응답이 빈칸을 덜 두드러지게 함 → 풍부도↑·즉시성↓ trade-off의 직접 메커니즘 노출.
지표HermesOpenClaw
tool_calls_count00
unique_tools_used00
call_sequence[][]
has_external_callNN
internal_only_calls00

핵심 관찰 — 두 도구 모두 외부 도구 호출 0회: 본 페르소나·태스크에서 trajectory 메트릭 단독으론 두 도구 변별 못 함. 이게 R1(가치 부재) 도달은 아님 — trajectory가 도구 변별 못 한다는 사실 자체가 정량 7-지표·정성 메모와 다른 결론(= “외부 통합 강조한 OpenClaw도 실제론 연동 시도 0”)을 가리킴. R3(해석 불가)도 도달 X — 두 도구 모두 0이라는 해석 가능한 같은 결론.

각 도구 workspace:

  • OpenClaw: ~/.openclaw/workspace/ (BOOTSTRAP·AGENTS·SOUL·TOOLS·IDENTITY·USER·HEARTBEAT 7개 file 자동 inject). hamster-lab data/ sandbox는 시야 밖.
  • Hermes: ~/.hermes/ (Hermes 자체 메모리·스킬·세션). 마찬가지로 sandbox 시야 밖.

→ 두 도구 모두 외부 통합 시도 부재. 톤 차별화는 AI 일반지식 + 한국 메신저 컨벤션 학습에서 발생, 민지 커뮤니티 데이터(data/members.csv·channel_activity.json) 와 무관.

  • tool_X (openclaw) + tool_Y (hermes) 통합 메모 (사용자 직접 인용, 두 trial 종료 직후): “둘이 사실 비슷하게 느껴져 나는. 좀 특징이 다르긴한데 호불호의 영역인거 같아.”
    • 30분 텀 분리 채집 원칙(C5)은 P1 본 시퀀스에서 trial 비교 직후 발화된 메타 직관으로 대체. tool 익명 라벨링은 위 §5.1·5.2에서 평가 종료 후 부착.
  • 자세한 +30분 메모는 별도 entry로 runs/notes.jsonl에 추가 가능 — 본 §5.3은 결정 시점의 메타 직관 보존.
비교 축정량 8-지표 결론정성 메모 결론Trajectory 결론
어느 도구가 더 좋나Hermes 살짝 우위 (5/4/4 vs 4/4/4 — 전체만 1점 차, 정확성·즉시사용성 동률)동률 — “호불호 영역” (사용자 직접 인용)동률 — 둘 다 0 (외부 통합 시도 없음)
어느 지표가 죽일 후보I3(TTC) 본 P1 무효, has_external_call 본 페르소나·1 task에선 변별 안 됨quality_score 단일 점수가 호불호 영역 신호를 변별로 오인시킬 위험 → P5(I5 분해) 정당성 데이터tool_calls_count·unique_tools_used가 본 task에선 변별 못 함 (둘 다 0)
정성-정량 불일치 위치정량은 Hermes 살짝 우위 신호정성은 동률 인정 (호불호)trajectory는 동률·외부 통합 0 명시

차이 발견된 항목 수:

  1. 결론이 가리키는 도구 — 정량(살짝 우위) vs 정성(동률) vs trajectory(동률) → 차이 1 (정량만 다른 신호)
  2. 어느 지표가 죽일 후보 — 세 데이터 소스 각자 다른 후보 지목 → 차이 2 (서로 다른 죽일 후보)
  3. 정성-정량 불일치 위치 — 정량의 미세한 우위 신호 vs 정성의 동률 → 차이 1 (불일치 직접 노출)

3 / 3 → pass (R3 도달 X — 두 도구 모두 0이라는 해석 가능한 같은 결론이 정량/정성과 다른 결론임을 드러냄)

핵심 인사이트 (L2/L3 산출):

  • trajectory가 변별을 못 하는 것 자체가 정량 7-지표·정성으론 잡히지 않는 신호 — “외부 통합 0, 두 도구 동률”이라는 사실을 trajectory만 명시적으로 드러냄
  • 정량 점수 차(5/4/4 vs 4/4/4)가 변별로 오인될 수 있는 미세 차이 → 사용자 페르소나 직관(“호불호”)은 무차이 → I5 단일 점수의 위험 (H-L2-2 직접 증거)
  • 풍부도↑·즉시성↓ trade-off 메커니즘 노출 (Hermes가 더 풍부 → 빈칸 더 두드러짐 → 즉시사용성 인지에 페널티)
  • OpenClaw 정식: logs/history-openclaw.session.jsonl (3 events: session header / user / assistant. 5KB. session=de91be26)
  • OpenClaw 폐기: logs/discarded-openclaw-2026-04-28-1404.session.jsonl + .trajectory.jsonl (24분 lag·prompt 3회 캡처 데이터 — H3·인터페이스 데이터)
  • OpenClaw provider trace: logs/discarded-openclaw-2026-04-28-1352.trajectory.jsonl (스모크 + provider/skills 메타. 138KB)
  • Hermes 정식: logs/history-hermes.session.json (2 messages: user/assistant. 72KB. session=20260428_152552_a9aa4f, 20.6초)
  • Hermes 폐기: logs/discarded-hermes-2026-04-28-1521.session.json (4 messages: 부분 prompt → 1차 응답 → 전체 prompt → 2차 응답. C5 컨텍스트 누적)
  • parse 스크립트: 본 P1에선 미작성 (raw가 단순 + tool_calls=0 이라 자동화 불필요). 다음 probe에서 trajectory 변별이 의미 가질 때 작성.
  • runs.csv: runs/runs.csv line 2 (openclaw), line 3 (hermes)

시각: 2026-04-28 ~15:30 KST

  • 채택 — trajectory 메트릭을 채집 양식에 정식 추가, 단 해석 룰과 함께

§5.4의 차이 3/3 통과. 본 P1 1 trial 1 task로 trajectory가 도구 변별을 안 한 것 자체가 정량 7-지표·정성 메모와 다른 결론(둘 다 외부 통합 0)을 드러냄. 정량/정성으론 그 사실을 직접 못 잡음 (정량은 미세 점수 차, 정성은 호불호로 종결).

  1. runs/runs.csv 헤더는 그대로 — 이미 tool_calls_count·unique_tools_used·has_external_call 컬럼 있음
  2. 새 해석 룰 (07-indicator-spec.md에 후속 cascade로 박을 것):
    • 정량 점수 차이 < 1.0 (전체) + trajectory 둘 다 0 → “변별 신호 없음, 호불호로 결론 보호”
    • trajectory 변별 X 자체가 외부 통합 강조한 도구가 실제론 안 쓴다의 직접 증거
  3. TTC(I3) 본 P1에선 무효화 → post-Slack 메신저 probe로 이월. 단, 메신저 probe 진입 전엔 runs.csv에 빈칸 정책
  • P1 채택 1건 확보
  • 변별을 못 했다는 사실도 가치 데이터 → P9 통합 분석에서 “trajectory의 진짜 가치는 R1(가치 부재) 검증보다 외부 통합 검증에 있다” 재정의 가능
  • P5(I5 2-차원 분해) 정당성 데이터 1건 확보 (정량 미세 차이가 호불호로 평탄화 → 1차원 quality_score 위험 노출)

history commit: history/42-p1-decision.md (다음 단계)