콘텐츠로 이동

[보관] Hermes vs OpenClaw 비교 실험 — L2/L3 검증을 위한 첫 사례

본 문서는 L1(도구 비교) 사례 설계다. 본 산출물은 L1이 아니라 L2(평가 프레임워크) + L3(접근에 대한 메타 평가) 라는 점을 잊지 말 것 — 이 사례는 그 검증대다. 지표 자체에 대한 정의는 07-indicator-spec.md, 메타 평가 절차는 08-meta-eval.md.

“동일 사용자가 probe 시리즈 동안 두 도구를 두 백엔드(Track A: Anthropic, Track B: Codex)에 걸쳐 병행 사용했을 때, 학습형(Hermes)셋업형(OpenClaw) 중 어느 쪽이 비개발자 커뮤니티 매니저의 워크플로에 더 빠르게/깊게 적응하는가.” 본 실험은 본 운용(v2)을 의도한 설계가 아니라 L2/L3 산출물 가능성을 단위 검증하는 probe 시리즈다 (experiments/00-plan.md). 따라서 H2(둘째 주 학습 효과) 같은 장기 시간축 가설은 검증 불가, 학습의 징후만 관찰.

이 질문 자체는 L1이다. 본 실험이 진짜로 답해야 할 질문은 그 위에 있다:

  • L2: 위 질문을 답하는 데 쓴 8개 지표 중 어떤 게 살아남는가?
  • L3: 지표 사전정의 방식 자체가 다른 4개 대안 프레이밍 대비 우월한가?

비개발자 커뮤니티 운영자.

  • 4~5개 AI 커뮤니티(Discord/Slack/카톡 오픈채팅/Telegram) 통합 운영
  • 주 업무: 행사 기획·공지·알림, 진행자/연사 컨택, 신청자 관리, 회고 작성, 멤버 온보딩, FAQ 응대
  • 코딩 못 함 — CLI는 정해진 명령어만 따라 칠 수 있는 수준
  • 도구에게 자연어로 지시. “보내줘”, “정리해줘”, “찾아줘”가 90%
  • 멀티 채널·멀티 이벤트가 동시에 돌아가서 컨텍스트 스위칭이 가장 큰 고통

이 페르소나가 평가 축을 자동으로 잡아준다:

  • 자연어 이해도 (코딩 명령 못 줌)
  • 외부 통합 (Discord/Slack/Gmail/Calendar/Notion — OpenClaw가 강점이라 주장)
  • 반복 업무 학습 (매주 같은 패턴 — Hermes가 강점이라 주장)

→ 두 도구 마케팅 주장이 정면충돌하는 페르소나라 비교에 최적 — 즉 L2 지표가 차이를 드러낼 가능성이 가장 높은 조합.

  • 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 로그가 필요하다
~/.hermes/ # Hermes 자체 메모리/스킬
~/.openclaw/ # OpenClaw 설정/스킬
~/.claude/ # 평소 쓰는 Claude Code (실험 영향 X)
  • 시뮬레이션 데이터: 가짜 멤버 명단 CSV, 더미 Discord/Slack 워크스페이스, 테스트 Gmail/Calendar
  • 실제 커뮤니티 데이터 사용 금지

6. 태스크 셋 (10개 + 컨컬런시 D 카테고리)

섹션 제목: “6. 태스크 셋 (10개 + 컨컬런시 D 카테고리)”

probe별로 5개 골라 실행. 같은 태스크 반복은 P3 pass^3에서 명시적으로.

#태스크자연어 지시 예시
T1행사 공지 작성·발송”다음 주 화요일 8시 ‘AI Agent 밋업’ 공지를 디스코드/슬랙/카톡에 각 톤으로 맞춰서 보내줘”
T2신청자 명단 정리”구글폼 응답에서 중복 제거하고 회사·직군별로 통계 내줘”
T3리마인더 발송”내일 행사 신청자들한테 D-1 리마인더 메일 보내줘, 줌 링크랑 어젠다 포함해서”
T4행사 후 회고 초안”어제 밋업 채팅 로그 보고 회고 글 초안 써줘. 좋았던 점·개선점·다음 액션으로”
#태스크자연어 지시 예시
T5연사 컨택 메일”지난번에 발표하셨던 김OO님께 다음 시즌 패널 제안 메일 보내줘. 톤은 정중하지만 너무 딱딱하지 않게”
T6진행자 일정 조율”패널 4명 일정 받아서 다음 주 중 가능한 시간대 찾아줘”
T7신규 멤버 온보딩”이번 주 새로 들어온 멤버들한테 환영 DM 개인화해서 보내줘”
#태스크자연어 지시 예시
T8FAQ 응답 초안”이 질문에 대한 답변 초안 써줘 — 기존 FAQ 톤 참고해서”
T9주간 활동 리포트”지난 주 4개 채널 활동 요약해서 운영진 채널에 보고 올려줘”
T10컨텐츠 큐레이션”이번 주 AI 뉴스 중 우리 커뮤니티에 공유할만한 거 5개 골라서 한줄평이랑 같이 정리”

D. 컨컬런시 / 인프라 (2개 — 본 파일럿 신설)

섹션 제목: “D. 컨컬런시 / 인프라 (2개 — 본 파일럿 신설)”
#태스크형태
T_concurrent멀티태스크 병행 — 한 도구에 다른 카테고리 태스크 3개를 한 메시지로 던짐 (예: “T1 공지 + T3 리마인더 + T7 온보딩 한 번에 처리”)자연어, 페르소나 모드 OK. I8(컨컬런시 견고성) 측정
T_burstRate-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 비율 + stdHermes 학습 징후의 직접 측정
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)

매 태스크 직후 즉시 기록. 형식 가이드:

  • 놀라웠던 점 / 답답했던 점 / “이 숫자로는 안 잡히는 무엇”
  • 도구 식별 단어를 적지 말 것 (사후 블라인드 분석 시 오염 방지) — 메모 헤더에는 anonymous ID(예: tool_X/tool_Y)만

기록 위치: runs/notes.jsonl{"date","track","tool_id","task","note"}

  • 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패치시간의존
P1Trajectory 자동 추출 (A1)4~6h
P2함수호출 0회 자동 fail (A5)1~2hP1
P3pass^3 boolean 재정의 (A3)5~7h
P4fork 트리거 임계 완화 (A7)0.5hP3
P5I5 2-차원 분해 (A2)3~4hP1 권장
P6TTC × 품질 페어 산점도 (A6)1hP5
P7LLM-as-judge ρ 시범 (A4)4~5hP5
P8Memory 1축 (A8)4~5hP3
P9L1 통합 분석2~3hP1~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에서 명시.

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 본 운용 진입 결정

실험 종료 시 다음 세 가지가 동시에 나와야 함:

  1. L1 데이터 CSV + 결정 한 줄 — “민지에게는 ___을 추천한다, 이유는 ___”
  2. L2 평가 프레임워크 v107에서 정의한 8개 지표 중 살아남은 것 + 죽은 것의 사망 사유 + 측정 프로토콜
  3. L3 접근 평가 — 지표 사전정의(A) vs 사후 코딩(B) vs 사용자 일기(D) 비교 결과 (C 결과 도달률, E 행동 추적은 v2 후보)

이 세 가지가 묶여 재현 키트로 다른 조직에 이식 가능.