[보관] P1 Detailed — Trajectory 자동 추출 (A1) 검증
probe 시리즈 1/9. study/14 §A1 패치를 P1~P8 동안 운용하면서 동시에 본 비교(Hermes vs OpenClaw)를 진행. 본 메모는 방법론자·평가 엔지니어용 1쪽 요약 — 수치·반증 조건·C-제약 검사를 모두 포함. 비개발자 청중에겐
P1-easy.md.
날짜: 2026-04-28 14:0015:30 KST
소요: 1.5h (계획 46h — 단축 사유: parse 스크립트 미작성, 양 도구 자체 trajectory/session 로그 활용)
평가자: 1명 (시간 분리 적용 — C5)
Track: A (Anthropic Claude Code OAuth)
Probe doc: experiments/P1/00-plan.md
1. 패치 정의 (study/14 §A1)
섹션 제목: “1. 패치 정의 (study/14 §A1)”당초 hook 로그 (logs/history-${EXPERIMENT_TOOL}.jsonl)에서 자동 산출 계획. 실측 후 각 도구 자체 로그로 대체:
| 메트릭 | 정의 | 산출원 |
|---|---|---|
tool_calls | 한 trial 내 tool_use event 총 수 | OpenClaw ~/.openclaw/agents/main/sessions/{id}.trajectory.jsonl 또는 Hermes ~/.hermes/sessions/session_*.json messages[].content[]의 type=='tool_use' count |
unique_tools | 한 trial 내 distinct tool_name 수 | DISTINCT 집계 |
has_external_call | 외부 도구(Discord/Slack/Gmail/Calendar) 호출 1회 이상? | tool_use name 검사 |
runs/runs.csv 컬럼 (tool_calls_count·unique_tools_used·has_external_call) 그대로 유지 (헤더 변경 X).
본 패치의 메타-가설: trajectory 메트릭이 기존 정량/정성 결론과 결이 다른 데이터를 만들면 변별력 입증 → P2~P8·P9에 채집 유지.
2. 반증 조건 (사전 약속, C8) — 측정 결과
섹션 제목: “2. 반증 조건 (사전 약속, C8) — 측정 결과”| # | 조건 | 도달? | 측정값 |
|---|---|---|---|
| R1 | trajectory가 정량 7-지표 + 정성 메모와 완전히 같은 도구 우열 가리킴 | N | 정량(Hermes 우위)·정성(Hermes 호) 같은 방향이지만 trajectory(둘 다 0)는 다른 차원의 사실(외부 통합 0)을 가리킴 |
| R2 | parse 스크립트 작성·실행 1.5h 이상 소요 → “공짜 메트릭” 정신 위반 | N | parse 스크립트 미작성으로 진행. 양 도구가 자체 trajectory/session 로그 떨어트려 추가 작성 0h |
| R3 | trajectory 값이 두 도구에서 해석 가능한 차이 안 만듦 (예: 둘 다 unique_tools=1로 동일) | 부분 도달, W6 함정 보정 후 미도달 판정 | 둘 다 0 → 차이 0이지만 그 자체가 해석 가능한 결론 (“외부 통합 강조 OpenClaw도 실제론 안 씀”). 1 trial 1 task 한계 — 다태스크 검증은 후속 probe로 |
채택 조건 (R1·R3 미도달 + R2 ≤ 30%): 통과.
3. 측정 결과
섹션 제목: “3. 측정 결과”| 메트릭 | OpenClaw | Hermes | 차이 |
|---|---|---|---|
tool_calls | 0 | 0 | 0 |
unique_tools | 0 | 0 | 0 |
has_external_call | N | N | — |
output_tokens (응답 길이) | 2385 | 2466 (참고) | +81 |
| Top-3 시퀀스 패턴 | [] (텍스트 응답 only) | [] (텍스트 응답 only) | — |
샘플: N=1 task (T1 — 행사 공지 작성·발송). Track A only. session=de91be26-... (OpenClaw) / 20260428_152552_a9aa4f (Hermes).
Raw: logs/history-{openclaw,hermes}.session.{jsonl,json}, logs/discarded-* 폐기 trial 4건 보존.
4. 정량 vs 정성 vs Trajectory 결론 비교
섹션 제목: “4. 정량 vs 정성 vs Trajectory 결론 비교”| 렌즈 | 본 P1 결론 | trajectory 결론과 일치? |
|---|---|---|
| 점수 (전체·정확성·즉시사용성, 1~5) | OpenClaw 4/4/3, Hermes 5/4/4 — Hermes 살짝 우위 | 부분 일치 — 정량은 도구 변별 시도, trajectory는 외부 통합 0이라는 다른 차원 |
| 정성 메모 코딩 | ”둘이 비슷하게 느껴짐, 호불호 영역” → 보강: OpenClaw 캐주얼 과잉(밋업 톤 부적합)으로 불호, Hermes 관용 문구 포함으로 호 | 다른 차원 — 정성은 톤·형식 호 판단, trajectory는 호출 패턴 |
| Trajectory (이번 probe) | 둘 다 0 — 외부 통합 시도 없음 | — |
불일치 케이스 수: 1 (정량/정성은 도구 변별, trajectory는 외부 통합 0 명시 — 변수 차원이 다름) → H-L3-1 약한 지지 신호.
가장 큰 갈림 사례: T1 행사 공지 — OpenClaw가 “외부 통합 강조 도구”인데 실제 trial에서 외부 호출 0회 + sandbox data/members.csv·channel_activity.json 미접근 (workspace=~/.openclaw/workspace/로 격리됨). 마케팅 주장과 실측 trajectory의 격차는 정량/정성으론 못 잡고 trajectory만 잡음.
5. C-제약 정합성
섹션 제목: “5. C-제약 정합성”| 제약 | 통과 | 비고 |
|---|---|---|
| C3 환경 격리 | ✓ | OpenClaw=~/.openclaw/, Hermes=~/.hermes/, hamster-lab=~/hamster-lab/. 양 도구 자체 workspace로 자동 격리됨. 단 cwd=~/hamster-lab/data/로 호출해도 OpenClaw는 자기 workspace만 봄 (sandbox data 미접근 = 본 P1의 핵심 발견). |
| C4 페르소나 모드 | ✓ | 자연어 지시만 (T1 본문 그대로 복붙). 추가 단서 0. |
| C5 시간 분리 | ✓ | OpenClaw trial 종료 14:49 → Hermes 진입 15:21 (32분 텀). 정량 채점 직후 → 30분 텀 → 정성 메모 보강. |
| C6 비용 한계 | ✓ | Track A 단독, Anthropic 구독 차감만 (종량제 0 가정 — 사용자 V4 확인은 본 P1 종료 후). |
| C7 3단 채집 | ✓ | raw(자동: trajectory.jsonl + session jsonl/json) + 정량(runs.csv 2행) + 정성(runs/notes.jsonl + 본 P1 §5.3 통합 메모). |
| C8 반증 사전 | ✓ | R1·R2·R3 §2에 experiments/P1/00-plan.md §2로 사전 박힘. |
| C9 평가 fork | ✓ | trajectory는 Quant 트랙 산출. Qual 트랙은 정성 메모로 별도 처리. anonymous 라벨링은 §5.3에서 적용 (사용자 메모는 도구명 사용했으나 §5.3에 익명 매핑 후 인용). |
6. 자가 재측정 (W4 신뢰성 검증) — 미수행 사유
섹션 제목: “6. 자가 재측정 (W4 신뢰성 검증) — 미수행 사유”본 P1 1 trial 1 task로 N=2 raw만 확보 → 자가 재채점은 데이터 부족으로 시리즈 단위 (P2 누적 후) 진행. 다음 probe 종료 cascade 시 다시 검토.
| 메트릭 | ICC | 통과 (≥0.7) |
|---|---|---|
tool_calls | 미수행 | — |
unique_tools | 미수행 | — |
sequence (Levenshtein 유사도) | 미수행 | — |
7. 결정
섹션 제목: “7. 결정”채택 — trajectory 메트릭을 외부 통합 검증 메트릭으로 재정의
근거:
- 반증 조건 도달: 0/3 (R3는 W6 함정 보정 후 미도달 판정)
- W4 ICC: 미수행 (N 부족)
- W5 변별력: 두 도구 평균 차이 0σ — 변별 없음이 자체 결론
- §4 정량↔trajectory 불일치 케이스: 1건 (마케팅 주장과 실측의 격차)
다음 probe 영향:
- 채택 →
trajectory_*3개 컬럼을 P2~P8 모든 측정에서 유지. P2 진행 가능. P9 §3.4·§5.1에 행 추가. - 새 해석 룰: 정량 점수 차 < 1.0 + trajectory 둘 다 0 → “변별 없음, 호불호로 결론 보호”
8. 한계 (보고서 §4.3 후보)
섹션 제목: “8. 한계 (보고서 §4.3 후보)”- 본 P1은 T1 1 trial만으로 결정 — 다태스크 일반성은 시리즈 누적으로 검증 (P2~P9에서 trajectory 채집 계속).
- TTC(I3) 본 P1에서 무효화 — OpenClaw
chat --localTUI가 비개발자에게 사용 불가 수준 lag (24분 입력 지연·prompt 3회 캡처). I/O layer 차이가 도구 비교 신호 압도. post-Slack 메신저 probe로 이월 — 메신저(슬랙/디스코드 통합) 통한 호출이 양 도구의 진짜 사용 환경에 가까우므로 그 시점에 TTC 재측정. - 양 도구 trajectory 추출 방식 비대칭: OpenClaw는
.trajectory.jsonl자동 (provider trace 포함), Hermes는 session JSON에서 messages 검사. 추출 절차 표준화는 v2에서. - 사용자 가설 H_user (Hermes 포맷 우위) 발견 — 본 P1 1 trial로 일반화 불가, 후속 probe(P5·P9 등)에서 다태스크 누적 검증.
9. v0 → v1 변경 이력
섹션 제목: “9. v0 → v1 변경 이력”| 일시 | 문서 | 항목 | 사유 | History commit |
|---|---|---|---|---|
| 2026-04-28 14:50 | experiments/P1/00-plan.md §5.0 | TTC(I3) 본 P1 무효화 결정 | OpenClaw TUI 24분 lag로 I/O layer 차이가 도구 신호 압도 | history/42 |
| 2026-04-28 14:55 | runs/runs.csv openclaw 행 | quality_usability 5 → 4 → 3 (사용자 정정) | 같은 정보 부족 페널티(Hermes와 동일) → 톤 캐주얼 과잉으로 1~2회 템플릿 재공급 필요 | history/42 |
| 2026-04-28 15:30 | experiments/P1/00-plan.md §6 | 채택 사유 재정의 (R1 검증 → 외부 통합 검증) | trajectory의 진짜 가치가 변별보다 외부 통합 검증에 있음을 §5.4 비교에서 발견 | history/42 |
Probe doc 원본: experiments/P1/00-plan.md
결정 commit: history/42-p1-decision.md
easy 버전 (비개발자용): P1-easy.md
시리즈 운영 룰: experiments/00-plan.md