[보관] 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 정신).
1. 목적
섹션 제목: “1. 목적”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)의 전제 데이터 가 됨.
2. 반증 조건 사전 명시
섹션 제목: “2. 반증 조건 사전 명시”다음 중 하나라도 도달하면 P1은 폐기 또는 보류.
- R1 (가치 부재): trajectory 메트릭이 정량 8-지표 + 정성 메모와 완전히 같은 도구 우열 을 가리킴 → trajectory 추가 가치 없음
- R2 (실용성 실패): parse 스크립트 작성·실행이 1.5h 이상 소요 → 비용 가정 깨짐, “공짜 메트릭” 정신 위반
- R3 (해석 불가): trajectory 메트릭 값이 두 도구에서 해석 가능한 차이 를 안 만듦 (예: 둘 다 unique_tools=1로 동일) → 본 페르소나·태스크 셋에선 변별 못 함
R1·R2는 명백 측정. R3는 정성 판단(W6 식 함정 보정 후 재검토 1회 허용).
3. 단계 (총 4~6h)
섹션 제목: “3. 단계 (총 4~6h)”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.csv1행 +runs/notes.jsonl1엔트리
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: distincttool_name수call_sequence: tool_name의 시간순 리스트has_external_call: Discord/Slack/Gmail/Calendar 등 외부 도구 1회 이상 호출됐나 booleaninternal_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)
Step 5 — 세 정보 비교 (45분)
섹션 제목: “Step 5 — 세 정보 비교 (45분)”- 정량 8-지표·정성 메모·trajectory 메트릭 셋을 한 표에 나란히
- 다음 3 항목에서 차이가 1개 이상이면 probe pass:
- 결론이 가리키는 도구
- 결론이 가리키는 지표 사망 후보
- 결론이 가리키는 정성-정량 불일치
- 결과를 §5에 기록
4. C-제약 정합성
섹션 제목: “4. C-제약 정합성”| 제약 | 정합 | 비고 |
|---|---|---|
| C3 환경 격리 | OK | ~/.hermes/·~/.openclaw/ 그대로 사용 |
| C4 페르소나 모드 | OK | 자연어 지시만, parse 스크립트는 평가자 측 도구 |
| C5 측정 무결성 | OK | 시간 분리 30분 텀 자연 포함 (Step 4) |
| C6 비용 한계 | OK | Track A 단독, 추가 호출 0 |
| C7 3단 채집 | OK | runs.csv + notes.jsonl + raw log 모두 채집됨. trajectory는 raw에서 자동 파생이라 양식 변경 X |
| C8 반증 사전 | OK | §2에 R1·R2·R3 사전 명시 |
| C9 평가 fork | OK | quant/qual 시간 분리 유지, anonymous 라벨 유지 |
5. 결과 (실행 후 채움)
섹션 제목: “5. 결과 (실행 후 채움)”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 데이터).
5.1 Sample run 메타
섹션 제목: “5.1 Sample run 메타”- 시작 시각: 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의 직접 메커니즘 노출.
5.2 Trajectory metrics
섹션 제목: “5.2 Trajectory metrics”| 지표 | Hermes | OpenClaw |
|---|---|---|
| tool_calls_count | 0 | 0 |
| unique_tools_used | 0 | 0 |
| call_sequence | [] | [] |
| has_external_call | N | N |
| internal_only_calls | 0 | 0 |
핵심 관찰 — 두 도구 모두 외부 도구 호출 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-labdata/sandbox는 시야 밖. - Hermes:
~/.hermes/(Hermes 자체 메모리·스킬·세션). 마찬가지로 sandbox 시야 밖.
→ 두 도구 모두 외부 통합 시도 부재. 톤 차별화는 AI 일반지식 + 한국 메신저 컨벤션 학습에서 발생, 민지 커뮤니티 데이터(data/members.csv·channel_activity.json) 와 무관.
5.3 정성 메모 (anonymous)
섹션 제목: “5.3 정성 메모 (anonymous)”- tool_X (openclaw) + tool_Y (hermes) 통합 메모 (사용자 직접 인용, 두 trial 종료 직후): “둘이 사실 비슷하게 느껴져 나는. 좀 특징이 다르긴한데 호불호의 영역인거 같아.”
- 30분 텀 분리 채집 원칙(C5)은 P1 본 시퀀스에서 trial 비교 직후 발화된 메타 직관으로 대체. tool 익명 라벨링은 위 §5.1·5.2에서 평가 종료 후 부착.
- 자세한 +30분 메모는 별도 entry로
runs/notes.jsonl에 추가 가능 — 본 §5.3은 결정 시점의 메타 직관 보존.
5.4 세 정보 비교
섹션 제목: “5.4 세 정보 비교”| 비교 축 | 정량 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 명시 |
차이 발견된 항목 수:
- 결론이 가리키는 도구 — 정량(살짝 우위) vs 정성(동률) vs trajectory(동률) → 차이 1 (정량만 다른 신호)
- 어느 지표가 죽일 후보 — 세 데이터 소스 각자 다른 후보 지목 → 차이 2 (서로 다른 죽일 후보)
- 정성-정량 불일치 위치 — 정량의 미세한 우위 신호 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가 더 풍부 → 빈칸 더 두드러짐 → 즉시사용성 인지에 페널티)
5.5 raw 데이터 위치
섹션 제목: “5.5 raw 데이터 위치”- 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.csvline 2 (openclaw), line 3 (hermes)
6. 결정
섹션 제목: “6. 결정”시각: 2026-04-28 ~15:30 KST
- 채택 — trajectory 메트릭을 채집 양식에 정식 추가, 단 해석 룰과 함께
채택 사유
섹션 제목: “채택 사유”§5.4의 차이 3/3 통과. 본 P1 1 trial 1 task로 trajectory가 도구 변별을 안 한 것 자체가 정량 7-지표·정성 메모와 다른 결론(둘 다 외부 통합 0)을 드러냄. 정량/정성으론 그 사실을 직접 못 잡음 (정량은 미세 점수 차, 정성은 호불호로 종결).
채택 후 적용
섹션 제목: “채택 후 적용”runs/runs.csv헤더는 그대로 — 이미tool_calls_count·unique_tools_used·has_external_call컬럼 있음- 새 해석 룰 (
07-indicator-spec.md에 후속 cascade로 박을 것):- 정량 점수 차이 < 1.0 (전체) + trajectory 둘 다 0 → “변별 신호 없음, 호불호로 결론 보호”
- trajectory 변별 X 자체가 외부 통합 강조한 도구가 실제론 안 쓴다의 직접 증거
- TTC(I3) 본 P1에선 무효화 → post-Slack 메신저 probe로 이월. 단, 메신저 probe 진입 전엔
runs.csv에 빈칸 정책
v2 본 운용 진입에 미치는 영향
섹션 제목: “v2 본 운용 진입에 미치는 영향”- P1 채택 1건 확보
- 변별을 못 했다는 사실도 가치 데이터 → P9 통합 분석에서 “trajectory의 진짜 가치는 R1(가치 부재) 검증보다 외부 통합 검증에 있다” 재정의 가능
- P5(I5 2-차원 분해) 정당성 데이터 1건 확보 (정량 미세 차이가 호불호로 평탄화 → 1차원 quality_score 위험 노출)
history commit: history/42-p1-decision.md (다음 단계)