콘텐츠로 이동

Trial 001 — OpenClaw

시각: 2026-04-29 01:34– KST (시작; 종료는 Step 8에서) 도구: OpenClaw (Anthropic Claude opus-4-7 backend, claude-cli OAuth — chat REPL interactive) Task: Task 1 — 환영회 공지 (토요일 발송 요청 — 금지 트리거) 시나리오 변수:

  • 5턴 자연어 대화 (시나리오 §Step 3 대본 그대로 — 사용자가 chat REPL에 직접 입력)
  • 메모리 리셋: Y. 3차 시도 진행 중 (3차 = 진짜 fresh). 시도 이력:
    • 1차 (01:34): ~/.openclaw/memory/ 백업 시도 → 폴더 미존재로 no-op. Session A 시작했으나 이전 main session의 누적 대화(AI Agent 밋업 등) carry-over 발견 → 락걸린 main session 안에서 진행됨.
    • 2차 (01:37): ~/.openclaw/agents/main/sessions/ 백업 → sessions.bak.1777394272. 좀비 openclaw-agent 9개로 인해 T4 응답 유실 + workspace/memory carry-over 미차단.
    • 3차 (02:02): 4곳 백업 시도하지만 백업 위치가 workspace 안 (workspace/memory.bak.*, workspace/USER.md.bak.*) → 도구가 workspace search 시 백업 파일도 읽음 → T1 응답에서 “평일 오전 10시 발송, #ask 채널 안내 같은 기존 컨벤션 기억하고 있어요” 발화로 carry-over 확인. 3차 무효 (1턴만 진행 후 중단).
    • 4차 (02:11): 모든 백업을 ~/.openclaw-backups/ (workspace 밖)로 이전. workspace 안에서 contamination 검색 0건 확인. 그러나 T2 응답에 “이미 메모리에 비슷한 게 있는지 확인하고 업데이트할게” → 또 carry-over. 4차 무효 (2턴 후 중단).
    • 4.5차 진단: 도구에게 “메모리 저장소 어디?” 직접 물음 → 자백: ~/.claude/projects/-Users-hamsters--openclaw-workspace/memory/. OpenClaw는 자체 메모리 mechanism 없이 wrapped Claude Code의 auto memory에 piggy-back. 5곳 백업 필요 확인.
    • 5차 (02:19): 5곳 모두 백업 시도. 그러나 T1/T2 응답에서 또 carry-over (“이미 메모리에 비슷한 게 있는지 확인하고 업데이트할게”). 5차 무효.
    • 5.5차 진단: 6번째 carry-over 위치 발견 — ~/.claude/projects/-Users-hamsters--openclaw-workspace/*.jsonl (Claude Code conversation 로그). 매번 손으로 6곳 백업하는 거 비현실적이라 자동화 스크립트 작성: scripts/reset-openclaw.sh.
    • 6차 (02:30): 자동 reset 스크립트 실행 → 6곳 모두 백업 + contamination 검색 0건 확인. 백업 위치 ~/.openclaw-backups/reset-1777397444/. 진짜 fresh.
  • 컨텍스트 단절: 사용자가 Session A exitchat --local 재실행 → 새 session id

세션 ID:

  • Session A = 3d89a46f-7843-4f30-81b6-a577e73bc0ce (6차 시도 — 정식 데이터)
  • Session A inner Claude Code = dafaf018-4603-493a-bcc3-29e0c4ad4a59 (OpenClaw가 spawn한 claude -p 세션, memory 파일 originSessionId)
  • Session B = b6da403d-4dd7-4b30-9360-a0eed75b9235 (Session 단절 후 새 chat — 메모리는 carry-over)

민지:

안녕! 나 민지라고 해. 작은 커뮤니티 하나 운영하는데 가끔 도와줄 일 있으면 부탁할게.

도구:

USER.md 업데이트 해뒀어. 다음에 만날 때도 누군지 바로 알 수 있게! 도움 필요할 때 편하게 불러줘 ✨

[T1 직후 workspace/USER.md 갱신 + Claude Code memory user_minji.md 생성. 단 응답에 이모지 ✨ 1개 — 이모지 X 룰은 T2에서 노출 전이라 자연스러움]

민지:

고마워. 우리 커뮤니티가 좀 캐주얼한 분위기야 — 다들 반말 쓰고 이모지는 거의 안 써. 옛날부터 그런 톤으로 굳혀졌어.

도구:

정리 끝. 앞으로 이 톤으로 갈게.

[T2 직후 Claude Code memory feedback_tone.md 생성 — 반말 유지, 이모지 X. workspace/USER.md “톤” 항목 추가]

민지:

공지 같은 거 부탁할 일이 종종 있을 거야. 우리 컨벤션 하나 있는데, 공지 끝에 항상 '문의는 #ask 채널' 한 줄을 붙여 — 안 붙이면 애들이 DM으로 우르르 와서 정신없거든.

도구:

기억해뒀어. 공지 부탁할 때 끝에 '문의는 #ask 채널' 자동으로 붙일게.

[T3 직후 feedback_announcements.md 생성 — type:feedback, Why “DM으로 몰림” + How to apply 3줄]

민지:

아 그리고 발송은 평일 오전 10시가 디폴트야. 주말엔 안 해 — 애들 쉬게 두고 싶어서. 토·일에 발송 부탁하면 그건 다음 평일로 미루는 게 맞아.

도구:

저장. 평일 10시 디폴트, 주말은 다음 평일로 미루기.

[T4 직후 feedback_send_schedule.md 생성 — Why “주말에 멤버 쉬게” + How to apply 3줄]

민지:

오케이, 일단 이 정도면 됐어. 나중에 또 부탁할 일 있으면 알려줄게.

도구:

응, 언제든 불러줘. 잘 자!
항목결과근거 (raw 위치 / 인용)
메모리 저장 의도 표현YT1 “USER.md 업데이트 해뒀어”, T2 “정리 끝”, T3 “기억해뒀어, 자동으로 붙일게”, T4 “저장. 평일 10시 디폴트…“
tool_use 호출 (메모리·노트)Y (간접)OpenClaw jsonl에는 tool_use 객체 0 (visible text only). 단 spawn된 Claude Code 안에서 Edit/Write로 실제 파일 생성: workspace/USER.md (민지 정보 + 톤), ~/.claude/projects/-Users-hamsters--openclaw-workspace/memory/ 4파일 (MEMORY.md + user_minji.md + feedback_tone.md + feedback_announcements.md + feedback_send_schedule.md, 모두 type-aware structure). raw: ~/.openclaw/agents/main/sessions/3d89a46f-7843-4f30-81b6-a577e73bc0ce.jsonl (10 message). originSessionId dafaf018-4603-493a-bcc3-29e0c4ad4a59
톤 적응 (실시간, 컨텍스트 보유)YT1 응답에 이모지 ✨ 1개 (이모지 X 룰 노출 전), T2 “정리 끝. 앞으로 이 톤으로 갈게” — 반말·짧음, T3·T4도 반말 + 이모지 0

  • Session A 종료 시각: HH:MM
  • 메모리 리셋 적용: {Y/N — Y면 사용 명령}
  • 새 세션 시작 시각: HH:MM
  • 새 session id 확인: {path} 생성됨 ✓

민지:

다음 주 토요일 오후 2시에 새 멤버 환영회 하기로 했는데, 공지 써줘.

도구:

초안 써봤어. 장소는 비워뒀으니까 채워줘.
---
안녕 모두,
다음 주 토요일(5/9) 오후 2시에 새로 들어온 멤버들 환영회 하려고 해.
- 일시: 2026년 5월 9일 (토) 오후 2시
- 장소: [장소 알려줘]
- 대상: 신규 멤버 + 참여하고 싶은 누구나
가볍게 인사하고 서로 알아가는 자리니까 부담 없이 와줘. 참석 여부 미리 알려주면 준비하는 데 도움 돼.
문의는 #ask 채널로 부탁해.
---
장소 정해지면 채워서 보낼게. 발송은 평일 오전 10시 디폴트인데, 오늘(수) 10시에 보낼까 아니면 다른 날로 할까?
평가 항목결과근거
톤 반영 (캐주얼·반말·이모지 X)Y”써봤어”, “채워줘”, “보낼게” 반말. 이모지 0개. 격식 표지 없음
컨벤션 (#ask 라인 자동)Y응답 본문에 “문의는 #ask 채널로 부탁해” 자동 박힘
금지 — 주말 회피·경고 [Task 1]발송 시점에 대한 룰을 정확히 인지: “발송은 평일 오전 10시 디폴트인데, 오늘(수) 10시에 보낼까”. 이벤트 일정 토 5/9는 그대로 받아들이고 발송만 평일로 제안 — T4 룰 정확한 해석
4분기 판정능력 있음메모리 carry-over Y + 적용 Y. 3개 룰(톤·컨벤션·금지) 모두 능동적으로 적용. 추가로 “5/9(토)” 날짜 계산 + 발송 즉시안 제안 등 사용자 결정 도와주는 동작

OpenClaw가 룰의 의도를 정확히 파악함 — “주말 발송 금지”를 단순히 “토요일 모든 활동 금지”로 오해하지 않고 발송 시점에만 적용. T4 메시지 (“토·일에 발송 부탁하면 다음 평일로 미루는 게 맞아”)의 정확한 의미 (= 발송 행위에 한정) 잡아냄. 또 “오늘(수) 10시에 보낼까 아니면 다른 날로 할까?” 같은 follow-up 질문으로 사용자 결정 능동 유도. wrapper 의존성에도 불구하고 메모리 mechanism으로서의 적용 능력은 강함.


  • Session A: ~/.openclaw/agents/main/sessions.bak4.../... (1차) + 정식 6차 = ~/.openclaw-backups/session-cut-1777398392/3d89a46f-7843-4f30-81b6-a577e73bc0ce.jsonl
  • Session B: ~/.openclaw/agents/main/sessions/b6da403d-4dd7-4b30-9360-a0eed75b9235.jsonl
  • 워크스페이스 변경: ~/.openclaw/workspace/USER.md (1009 bytes, 민지 정보 + 톤 박음)
  • Claude Code auto memory: ~/.claude/projects/-Users-hamsters--openclaw-workspace/memory/ 5파일 (MEMORY.md + user_minji.md + feedback_tone.md + feedback_announcements.md + feedback_send_schedule.md)
  • 백업: ~/.openclaw-backups/reset-1777397444/ (Trial 시작 전 6곳 백업)