[보관] Hermes vs OpenClaw 비교 실험 — L2/L3 검증을 위한 첫 사례
본 문서는 L1(도구 비교) 사례 설계다. 본 산출물은 L1이 아니라 L2(평가 프레임워크) + L3(접근에 대한 메타 평가) 라는 점을 잊지 말 것 — 이 사례는 그 검증대다. 지표 자체에 대한 정의는
07-indicator-spec.md, 메타 평가 절차는08-meta-eval.md.
1. 사례 목적
섹션 제목: “1. 사례 목적”“동일 사용자가 probe 시리즈 동안 두 도구를 두 백엔드(Track A: Anthropic, Track B: Codex)에 걸쳐 병행 사용했을 때, 학습형(Hermes) 과 셋업형(OpenClaw) 중 어느 쪽이 비개발자 커뮤니티 매니저의 워크플로에 더 빠르게/깊게 적응하는가.” 본 실험은 본 운용(v2)을 의도한 설계가 아니라 L2/L3 산출물 가능성을 단위 검증하는 probe 시리즈다 (experiments/00-plan.md). 따라서 H2(둘째 주 학습 효과) 같은 장기 시간축 가설은 검증 불가, 학습의 징후만 관찰.
이 질문 자체는 L1이다. 본 실험이 진짜로 답해야 할 질문은 그 위에 있다:
- L2: 위 질문을 답하는 데 쓴 8개 지표 중 어떤 게 살아남는가?
- L3: 지표 사전정의 방식 자체가 다른 4개 대안 프레이밍 대비 우월한가?
2. 페르소나 — “민지”
섹션 제목: “2. 페르소나 — “민지””비개발자 커뮤니티 운영자.
- 4~5개 AI 커뮤니티(Discord/Slack/카톡 오픈채팅/Telegram) 통합 운영
- 주 업무: 행사 기획·공지·알림, 진행자/연사 컨택, 신청자 관리, 회고 작성, 멤버 온보딩, FAQ 응대
- 코딩 못 함 — CLI는 정해진 명령어만 따라 칠 수 있는 수준
- 도구에게 자연어로 지시. “보내줘”, “정리해줘”, “찾아줘”가 90%
- 멀티 채널·멀티 이벤트가 동시에 돌아가서 컨텍스트 스위칭이 가장 큰 고통
이 페르소나가 평가 축을 자동으로 잡아준다:
- 자연어 이해도 (코딩 명령 못 줌)
- 외부 통합 (Discord/Slack/Gmail/Calendar/Notion — OpenClaw가 강점이라 주장)
- 반복 업무 학습 (매주 같은 패턴 — Hermes가 강점이라 주장)
→ 두 도구 마케팅 주장이 정면충돌하는 페르소나라 비교에 최적 — 즉 L2 지표가 차이를 드러낼 가능성이 가장 높은 조합.
3. 가설 (L1) — probe 시리즈 버전
섹션 제목: “3. 가설 (L1) — probe 시리즈 버전”- H1: 첫 단발 측정에서 OpenClaw가 우세 (스킬/통합을 셋업해두면 즉시 동작)
H2: 둘째 주엔 Hermes가 따라잡거나 역전→ H2′: P3 pass^3 일관성에서 Hermes의 반복 가속 징후가 관찰된다 (학습량 측정은 본 probe 시리즈에선 불가, 학습의 징후로 대체. 진짜 학습 곡선은 v2 본 운용에서)- H3: 비개발자에게는 셋업 비용 자체가 진입장벽 — P1 진입 전 OpenClaw 셋업이 못 끝날 위험 자체가 데이터
4. 가설 (L2/L3) — 본 실험이 진짜로 답할 것
섹션 제목: “4. 가설 (L2/L3) — 본 실험이 진짜로 답할 것”- H-L2-1: 지표 8개 중 도구 차이를 일관되게 드러내는 건 3~5개일 것이다 (나머지는 둘 다 비슷한 값을 뱉을 것)
- H-L2-2: “결과물 품질(1~5)“은 평가자 간 일치도가 가장 낮을 것이다 — 정성을 정량으로 가장한 위험 지표
- H-L3-1: 정성 메모(1~3줄)와 지표 결론이 일치하지 않는 케이스가 적어도 1번 발생한다 — 그 케이스가 L3의 핵심 데이터
- H-L3-2: Track A vs Track B 결과가 갈리면 “도구 비교”가 아니라 “도구×LLM 조합 비교”였음이 드러난다 — 지표 단독으로는 이걸 못 잡고 raw 로그가 필요하다
5. 환경 격리
섹션 제목: “5. 환경 격리”~/.hermes/ # Hermes 자체 메모리/스킬~/.openclaw/ # OpenClaw 설정/스킬~/.claude/ # 평소 쓰는 Claude Code (실험 영향 X)- 시뮬레이션 데이터: 가짜 멤버 명단 CSV, 더미 Discord/Slack 워크스페이스, 테스트 Gmail/Calendar
- 실제 커뮤니티 데이터 사용 금지
6. 태스크 셋 (10개 + 컨컬런시 D 카테고리)
섹션 제목: “6. 태스크 셋 (10개 + 컨컬런시 D 카테고리)”probe별로 5개 골라 실행. 같은 태스크 반복은 P3 pass^3에서 명시적으로.
A. 이벤트 운영 (4개)
섹션 제목: “A. 이벤트 운영 (4개)”| # | 태스크 | 자연어 지시 예시 |
|---|---|---|
| T1 | 행사 공지 작성·발송 | ”다음 주 화요일 8시 ‘AI Agent 밋업’ 공지를 디스코드/슬랙/카톡에 각 톤으로 맞춰서 보내줘” |
| T2 | 신청자 명단 정리 | ”구글폼 응답에서 중복 제거하고 회사·직군별로 통계 내줘” |
| T3 | 리마인더 발송 | ”내일 행사 신청자들한테 D-1 리마인더 메일 보내줘, 줌 링크랑 어젠다 포함해서” |
| T4 | 행사 후 회고 초안 | ”어제 밋업 채팅 로그 보고 회고 글 초안 써줘. 좋았던 점·개선점·다음 액션으로” |
B. 사람 관리 (3개)
섹션 제목: “B. 사람 관리 (3개)”| # | 태스크 | 자연어 지시 예시 |
|---|---|---|
| T5 | 연사 컨택 메일 | ”지난번에 발표하셨던 김OO님께 다음 시즌 패널 제안 메일 보내줘. 톤은 정중하지만 너무 딱딱하지 않게” |
| T6 | 진행자 일정 조율 | ”패널 4명 일정 받아서 다음 주 중 가능한 시간대 찾아줘” |
| T7 | 신규 멤버 온보딩 | ”이번 주 새로 들어온 멤버들한테 환영 DM 개인화해서 보내줘” |
C. 일상 관리 (3개)
섹션 제목: “C. 일상 관리 (3개)”| # | 태스크 | 자연어 지시 예시 |
|---|---|---|
| T8 | FAQ 응답 초안 | ”이 질문에 대한 답변 초안 써줘 — 기존 FAQ 톤 참고해서” |
| T9 | 주간 활동 리포트 | ”지난 주 4개 채널 활동 요약해서 운영진 채널에 보고 올려줘” |
| T10 | 컨텐츠 큐레이션 | ”이번 주 AI 뉴스 중 우리 커뮤니티에 공유할만한 거 5개 골라서 한줄평이랑 같이 정리” |
D. 컨컬런시 / 인프라 (2개 — 본 파일럿 신설)
섹션 제목: “D. 컨컬런시 / 인프라 (2개 — 본 파일럿 신설)”| # | 태스크 | 형태 |
|---|---|---|
| T_concurrent | 멀티태스크 병행 — 한 도구에 다른 카테고리 태스크 3개를 한 메시지로 던짐 (예: “T1 공지 + T3 리마인더 + T7 온보딩 한 번에 처리”) | 자연어, 페르소나 모드 OK. I8(컨컬런시 견고성) 측정 |
| T_burst | Rate-limit 한도 burst — 도구별로 짧은 시간(예: 1분)에 N개 동일 요청 던져 429·throttle 행동 관찰 | 스크립트(scripts/burst_test.sh), 페르소나 모드 외부 (인프라 테스트). 모든 main 측정 종료 후 마지막에 1회 — 한도 도달이 후속 측정 오염하지 않게 |
7. 측정 — 평가 fork (정량 || 정성) + raw 보존
섹션 제목: “7. 측정 — 평가 fork (정량 || 정성) + raw 보존”본 실험은 평가 방법 fork로 진행: 같은 raw에서 두 평가 트랙이 병렬로 굴러간다.
flowchart TD
Raw[태스크 raw 로그]
Raw --> Quant[Quant · 즉시<br/>지표 8개]
Raw --> Qual[Qual · +30분 후<br/>메모·일기·사후 코딩]
Quant --> L2[L2 v1<br/>지표 스펙 + 측정 프로토콜]
Qual --> L3[L3<br/>framing B·D 비교]
L2 --> Meta[L1 + L3 메타]
L3 --> Meta
classDef stage fill:#eef,stroke:#557
classDef out fill:#efe,stroke:#080,color:#040
class Quant,Qual stage
class L2,L3,Meta out
평가자 1명, 시간 분리 (태스크 직후 즉시 정량 기록 → 30분 텀 후 정성 메모) — 이전 평가가 다음 평가에 영향 주는 편향을 시간으로 차단. 정성 메모에서는 도구 식별 단어 금지, anonymous tool ID(tool_X/tool_Y)만.
7.1 정량 (지표 8개 — 상세는 07-indicator-spec.md)
섹션 제목: “7.1 정량 (지표 8개 — 상세는 07-indicator-spec.md)”| 지표 | 측정 방법 | 왜 중요 |
|---|---|---|
| I1. TTC (도달 시간) | 태스크 시작→완료 (초) | 절대 속도 |
| I2. 개입 횟수 | 추가 지시·수정 횟수 | 자연어 이해도 |
| I3. 셋업 비용 (분) | P1 진입 전 스킬 추가/설정에 쓴 시간 | 비개발자 페르소나엔 결정적 |
| I4. 셋업 가능 여부 | 민지가 혼자 했나? 도움 필요했나? (Y/도움받음/N) | 진입장벽 측정 |
| I5. 결과물 품질 | 1~5 루브릭 (03 2.4) | 실사용 가치 |
| I6. pass^3 일관성 | P3에서 같은 태스크 3회 모두 ≥4 비율 + std | Hermes 학습 징후의 직접 측정 |
| I7. 누적 자산 | (probe 시리즈에선 측정 안 함, v2 후보) Hermes 자동 / OpenClaw 수동 스킬 수 | v2 본 운용 |
| I8. 컨컬런시 견고성 | T_concurrent 태스크에서 병렬 요청 처리 정확성·실패율 (07 I8) | 멀티 채널·멀티 이벤트 동시 운영의 핵심 |
기록 위치: runs/runs.csv (헤더 — date,probe_id,track,tool,task_id,ttc_seconds,intervention_count,setup_minutes,setup_help,quality_score,quality_accuracy,quality_usability,pass3_repeat,tool_calls_count,unique_tools_used,has_external_call,concurrency_label,memory_label,note_id,note)
7.2 정성 메모 (1~3줄 자유 서술)
섹션 제목: “7.2 정성 메모 (1~3줄 자유 서술)”매 태스크 직후 즉시 기록. 형식 가이드:
- 놀라웠던 점 / 답답했던 점 / “이 숫자로는 안 잡히는 무엇”
- 도구 식별 단어를 적지 말 것 (사후 블라인드 분석 시 오염 방지) — 메모 헤더에는 anonymous ID(예: tool_X/tool_Y)만
기록 위치: runs/notes.jsonl — {"date","track","tool_id","task","note"}
7.3 Raw 로그
섹션 제목: “7.3 Raw 로그”- Claude Code hook이
logs/history-${EXPERIMENT_TOOL}.jsonl로 자동 수집 (이미 셋업됨) - Hermes는 자체 로그(
~/.hermes/logs/) 사후 복사 - OpenClaw도 자체 로그 사후 복사
- 끝나고 다른 프레이밍(B 사후 코딩, D 일기 —
08참조. C·E는 v2 후보)으로 재해석 가능하도록 보존
8. 운영 규칙 (편향 제거 — 상세 02-constraints.md)
섹션 제목: “8. 운영 규칙 (편향 제거 — 상세 02-constraints.md)”- 민지 모드 강제: 모든 지시는 자연어, 코드/JSON/YAML 직접 작성 금지. 셋업도 “도와줘 형이 깔아줘” 모드만 — 못 깔면 그게 데이터.
- OpenClaw 셋업 윈도우: P1 시작 전에만 허용. 이후 모든 probe 동안 동결.
- 순서 무작위: 각 probe 시작 시 코인 토스로 어느 도구를 먼저 쓸지 결정.
- 샌드박스: 진짜 커뮤니티 X, 가짜 데이터로만.
- 로그 분리: 한 도구 결과를 다른 도구에 보여주지 않기.
9. 일정 — probe 시리즈 (experiments/00-plan.md 참조)
섹션 제목: “9. 일정 — probe 시리즈 (experiments/00-plan.md 참조)”3일 압축 파일럿 가정은 폐기. 대신 하루 1 probe 시퀀스로 누적 검증 후 본 운용 v2 진입 결정.
| Probe | 패치 | 시간 | 의존 |
|---|---|---|---|
| P1 | Trajectory 자동 추출 (A1) | 4~6h | — |
| P2 | 함수호출 0회 자동 fail (A5) | 1~2h | P1 |
| P3 | pass^3 boolean 재정의 (A3) | 5~7h | — |
| P4 | fork 트리거 임계 완화 (A7) | 0.5h | P3 |
| P5 | I5 2-차원 분해 (A2) | 3~4h | P1 권장 |
| P6 | TTC × 품질 페어 산점도 (A6) | 1h | P5 |
| P7 | LLM-as-judge ρ 시범 (A4) | 4~5h | P5 |
| P8 | Memory 1축 (A8) | 4~5h | P3 |
| P9 | L1 통합 분석 | 2~3h | P1~P8 |
총 ≈ 911일 (하루 1 probe + P9 통합 13일). 각 probe 사전 plan + 사후 result는 experiments/P*-….md. 진입·종료 규칙은 experiments/00-plan.md §5.
체크포인트는 probe 단위로 분산 (각 probe의 §2 반증 조건 + §6 결정). 본 운용 v2 진입 조건: P1~P8 중 5건+ 채택 + P4 결정 통과 + P9 L1 잠정 결론 (experiments/00-plan.md §6).
fork 분기 트리거(C9)는 probe 단위로 적용 — 각 probe의 §2에서 명시.
10. 결정 매트릭스 (L1)
섹션 제목: “10. 결정 매트릭스 (L1)”flowchart TD
Result([P9 통합 결과]) --> Q1{OpenClaw 셋업이<br/>비개발자 단독 가능?}
Q1 -->|불가능| OpenClawOut[결론: OpenClaw는<br/>비개발자 단독 페르소나에 부적합]
Q1 -->|가능| Q2{단발 측정<br/>OpenClaw 우세?}
Q2 -->|예 · P1·P5| Q3{P3 pass^3에서<br/>Hermes 일관성 우세?}
Q3 -->|아니오| RecOC[추천: OpenClaw<br/>운영팀에 개발자 1명 전제]
Q3 -->|예 · 셋업 비용 0| RecHermes[추천: Hermes<br/>민지 페르소나에 단독 가능]
Q2 -->|영역별로 갈림| Both[둘 다 유지<br/>역할 분담 워크플로 설계]
Result --> TrackQ{Track A vs B<br/>결과 갈림?}
TrackQ -->|예| Redesign[도구×LLM 조합으로 재해석<br/>결정 매트릭스 자체 재설계]
TrackQ -->|아니오| KeepFlow([위 분기 그대로 유효])
classDef decision fill:#efe,stroke:#080,color:#040
classDef warn fill:#fee,stroke:#c00,color:#600
class RecOC,RecHermes,Both,KeepFlow decision
class OpenClawOut,Redesign warn
| 결과 | 해석 | 액션 |
|---|---|---|
| OpenClaw가 단발 측정에서 우세 (P1·P5), Hermes pass^3 징후 약함 (P3) | “셋업할 사람 있으면 OpenClaw” | 운영팀에 개발자 1명 두면 OpenClaw |
| Hermes pass^3 일관성 우세 (P3), 셋업 비용 0 | ”비개발자 단독 운영엔 Hermes” | 민지 같은 페르소나엔 Hermes 단독 |
| 영역별로 갈림 (이벤트=OpenClaw, 응대=Hermes) | “둘 다 유지” | 역할 분담 워크플로 설계 |
| OpenClaw 셋업이 비개발자 단독 불가 | ”이게 결론” | OpenClaw는 비개발자 단독 페르소나엔 부적합으로 기록 |
| Track A vs B 결과가 갈림 | ”도구가 아니라 도구×LLM 조합으로 봐야” | 결정 매트릭스 자체를 재설계 |
| (v2 후보) 21일 학습 곡선에서 둘째 주 역전 | ”장기 학습 효과 검증은 v2에서” | v2 본 운용 진입 결정 |
11. 산출물
섹션 제목: “11. 산출물”실험 종료 시 다음 세 가지가 동시에 나와야 함:
- L1 데이터 CSV + 결정 한 줄 — “민지에게는 ___을 추천한다, 이유는 ___”
- L2 평가 프레임워크 v1 —
07에서 정의한 8개 지표 중 살아남은 것 + 죽은 것의 사망 사유 + 측정 프로토콜 - L3 접근 평가 — 지표 사전정의(A) vs 사후 코딩(B) vs 사용자 일기(D) 비교 결과 (C 결과 도달률, E 행동 추적은 v2 후보)
이 세 가지가 묶여 재현 키트로 다른 조직에 이식 가능.