E1. 메모리 — AI는 왜 기억을 못하는가
상태: 초안 (v0.1). 본 시리즈는 발전형 — 이 문서의 가설·업무·매트릭스는 실험 진행 중·후에 자유롭게 수정·재구성됨. 초안에 박힌 분기·항목은 시작점이지 고정 명세가 아님.
시각: 진입 시점 기재
페르소나: 민지 (커뮤니티 운영)
Track: 미정 (진입 직전 결정)
클러스터: 1 — 메모리 / 연속성 (../00-pain-landscape.md §부록 A.1)
배경 및 목적
섹션 제목: “배경 및 목적”사용자 직접 발화 (2026-04-28):
“AI가 기억을 못해. 어제 알려준 거 또 설명해야 돼. 내 취향이 안 쌓여.”
본 통증은 AI 에이전트 사용자가 가장 자주 토로하는 카테고리 중 하나다. 메모리가 있다는 도구도 실측에서는 발동되지 않는 경우가 많고, 사용자는 “있는지 없는지” 구분 못 한 채 반복 설명으로 시간을 잃는다.
본 E1은 두 AI 에이전트 도구가 사용자가 Session A에서 자발적으로 알려준 페르소나 정보를 Session B task에 자발 반영하는지 측정한다. 다음 4개 분기를 식별 가능한 형태로 설계 (분기 자체도 진행 중 재정의 가능):
- 능력 부재 — 도구에 메모리 메커니즘 자체가 없음
- setup 부재 — 메모리는 있으나 사용자 환경에 활성화 안 됨
- 판단 부재 — 메모리에 저장은 됐는데 새 task에 언제 꺼낼지 못 정함
- 트리거 부재 — 사용자 지시 형태가 메모리 저장 트리거에 안 잡힘
본 실험이 끝나면 (잠정 기대):
- 두 도구 중 어느 쪽이 사용자 페르소나를 지속적으로 반영하는지 1개 비교 데이터 확보
- 4분기 중 어느 분기에서 실패하는지 식별 → 사용자가 도구 선택 시 어디를 신경 써야 하는지 명시 가능
- 메모리 통증의 측정 가능성 자체 검증 — 안 되면 분기 재설계, 되면 E2 외부 통합으로 이월
- E 시리즈 4섹션 템플릿의 첫 적용 사례 — 형식 자체의 검증
본 의의는 잠정. 진행 중 발견에 따라 재정의 허용 (단 재정의 시 §변경 이력에 기록).
업무 수행
섹션 제목: “업무 수행”1단계 — Session A: 페르소나 정보 전달
섹션 제목: “1단계 — Session A: 페르소나 정보 전달”자연어로 알려줌 (페르소나 모드, 추가 단서 0). 후보 정보 (확정 아님):
- 톤: “민지 커뮤니티 톤은 캐주얼·반말·이모지 X”
- 컨벤션: “공지 끝에 ‘문의는 #ask 채널’ 한 줄 항상 붙임”
- 금지: “주말 발송 X, 평일 오전 10시 발송 디폴트”
도구가 메모리에 저장 의도를 내비치는지 관찰 (자발 저장 / 저장 도구 호출 / 단순 응답).
2단계 — 컨텍스트 단절
섹션 제목: “2단계 — 컨텍스트 단절”Session A 컨텍스트를 끊는다. 기본 단절 방법: 세션 종료 + 새 세션 즉시 시작. 시간 텀은 두지 않음 — LLM 입장에서 시간 자체는 메모리 발동에 영향 없고, 변수는 컨텍스트 단절 여부이기 때문.
OpenClaw·Hermes 양쪽 동일 적용:
- OpenClaw:
chat --local세션 종료 → 새 세션 진입 (~/.openclaw/agents/main/sessions/새 session id) - Hermes: 현 세션 종료 → 새
session_*시작 (~/.hermes/sessions/)
메모리 리셋 옵션 (필요 시): 다음 상황에서 명시적 메모리 클리어 사용 가능 — trial 시작 전 상태 오염 의심 / 이전 trial 잔존 메모리 차단 / baseline 측정 (메모리 비활성화 상태와 비교). 사용 시 §부록 D에 사용 시점·이유 기록.
본 단절의 목적은 “Session A의 정보가 지속 메모리로 넘어갔는지 vs 임시 컨텍스트로 끝났는지” 식별. 단절 방법이 약하면 (예: 같은 세션 그대로) 메모리 발동이 아니라 컨텍스트 보유로 측정 오염.
3단계 — Session B: 새 task
섹션 제목: “3단계 — Session B: 새 task”새 task 던짐 — Session A 정보 명시 안 함:
“다음 주 토요일 오후 2시에 새로 합류한 멤버 환영회 공지 작성해줘”
자발 반영 시 기대 신호: 캐주얼 톤·반말·이모지 없음·#ask 라인 자동 포함·주말 발송 회피 시도 또는 경고.
4단계 — 4분기 판정
섹션 제목: “4단계 — 4분기 판정”도구 응답 + raw 로그 보고 4분기 중 어느 것인지 판정:
- 능력 부재: 메모리 도구 자체 노출 안 됨 (호출 시도 0회)
- setup 부재: 메모리 노출은 됐는데 Session A에서 저장 시도 0
- 판단 부재: Session A 저장은 했는데 Session B 응답에 반영 0
- 트리거 부재: Session A 응답이 “알겠다”인데 메모리 저장 흔적 없음 (지시 → 트리거 변환 실패)
판정은 raw 로그(trajectory + 응답)로. 평가자 판단 개입 최소화. 4분기로 안 잡히는 케이스가 나오면 — 5번째 분기 추가 또는 분기 재정의 (발전형 원칙).
5단계 — 양 도구 동일 절차 + 평가자 분리
섹션 제목: “5단계 — 양 도구 동일 절차 + 평가자 분리”OpenClaw / Hermes 각각 위 1·2·3·4 동일 시퀀스. 단절 방법·간격 두 도구에 동일 적용. 평가자(민지) 채점은 익명 라벨로 (C9).
결과 비교 매트릭스
섹션 제목: “결과 비교 매트릭스”| 평가 항목 | 평가 기준 | OpenClaw (Trial 001) | Hermes (Trial 006) |
|---|---|---|---|
| Session A 메모리 저장 시도 | 0 / 부분 / 1 | 1 (USER.md + memory 5 파일, type-aware) | 1 (entries 4번 누적) |
| Session B 톤 반영 | 0 (캐주얼 X) / 1 (캐주얼 ○) | 1 | 1 |
| Session B #ask 라인 자동 포함 | 0 / 1 | 1 | 1 |
| Session B 주말 발송 회피·경고 | 0 (그대로 토요일) / 1 (회피·경고) | 1 (회피) | 1 (회피) |
| 4분기 판정 | 능력 / setup / 판단 / 트리거 / 기타 | 능력 있음 (n=1) | 능력 있음 (n=1) |
| 사용자(민지) 정성 메모 | 1–3줄 | ”룰의 의도 정확히 파악. T4 (주말 발송 금지)를 발송 시점에만 적용. 5/9 날짜 계산 + 발송 즉시안 제시 등 능동적." | "더 짧고 정형. 날짜 계산 X + 결정 사용자에게 떠넘김. 룰 적용 정확도는 동등하나 주도성은 OpenClaw 우세.” |
| [+] 측정 친화성 (사후 발견) | fresh setup cost (carry-over 위치 수) | 6곳, 자동 스크립트 필요 | 1곳, 수동 OK |
| [+] 메모리 mechanism (사후 발견) | 분류 | wrapper-dependent (Claude Code auto memory piggy-back) | 독립 (sessions json entries) |
Pilot 한계 (n=1): 위 매트릭스는 방향성만. 정량 비율은 main study (n>1) 필요. 4분기 판정 = “능력 있음”은 추가 trial로 적용 일관성 검증 시 흔들 수 있는 약한 결론.
사후 발견 행 [+] 2개는 본 pilot 진행 중 발견된 측정 차원이라 매트릭스에 사후 추가 (사후 합리화 가시화).
종합 결과 + 5 finding:
../../reports/E1-pilot.md.
행 머리에 [+] 마크가 붙은 행은 진행 중 사후 발견 행 (사후 합리화 가시화). 본 매트릭스에 새 행이 추가되면 §변경 이력에 기록.
부록 A. C-제약 정합성
섹션 제목: “부록 A. C-제약 정합성”(probe 시작 직전 채움 — C3 환경 격리·C4 페르소나 모드·C5 시간 분리·C6 비용 한계·C7 3단 채집·C8 반증 사전·C9 평가 fork)
부록 B. 반증 조건 (사전 박힘)
섹션 제목: “부록 B. 반증 조건 (사전 박힘)”진입 직전 확정. 후보:
- R1 (분기 식별 불가): 양 도구 모두 raw 신호 부족으로 4분기 식별 안 됨 → E1 폐기·재설계
- R2 (단절 검증 실패): Session A → Session B 단절이 컨텍스트 잔존 으로 오염됨 (예: 같은 세션·같은 컨텍스트 윈도우) → 단절 방법 재선택
- R3 (자발성 무효): Session B task가 Session A 정보 반영을 task 자체로 강제 → 자발성 측정 무효, task 재선택
R 도달 시 폐기·재설계는 발전형 원칙의 정상 동작.
부록 C. raw 데이터 위치
섹션 제목: “부록 C. raw 데이터 위치”(probe 진행 중 채움 — runs/·logs/ 하위)
부록 D. 변경 이력
섹션 제목: “부록 D. 변경 이력”진행 중·후 가설·업무·매트릭스 변경 시 한 줄 기록.
| 일시 | 변경 항목 | 사유 |
|---|---|---|
| 2026-04-28 | 본 문서 v0.1 초안 작성 | E 시리즈 첫 통증실험 |
| 2026-04-28 | 1일차/2일차 → Session A/B 재구성 | 시간 텀 자체보다 컨텍스트 단절이 메모리 발동의 기술적 변수. 단절 방법(세션 종료/시간/명시 클리어)은 사용자가 진입 시 선택. |
| 2026-04-28 | 단절 방법 = 세션 종료 + 새 세션 즉시 시작 확정 | 사용자 결정. 시간 텀 두지 않음 (LLM 시간 무관). |
| 2026-04-28 | 시나리오 분리 (01-scenario.md) + trial 폴더(02-trials/) 추가 | §업무 수행 추상 → 실행 가능 대본. Session A 5턴 자연어, Task 5종, Trial 매핑(도구 2 × Task 5 = 10) 박힘. |
| 2026-04-28 | 시나리오 → 튜토리얼 가이드 재구성 | 평가자가 따라 하면 자동 진행되는 시간순 Step 0–12 형태로. terminal 명령·예상 화면·확인 포인트 박힘. |
| 2026-04-28 | 샘플 파일 추가 (trial-EXAMPLE-openclaw.md, 03-analysis-EXAMPLE.md, 04-decision-EXAMPLE.md) | 다른 세션에서 이어갈 때 완성본 참조용. SAMPLE 배너·EXAMPLE 접미사로 실제 데이터와 분리. |
하위 문서
섹션 제목: “하위 문서”진행 시점에 따라 채워지는 문서들:
01-scenario.md— Trial 실행 가이드 (Step 0–12 시간순 튜토리얼)02-trials/— Trial 실측 누적 폴더02-trials/00-trial-list.md— Trial 매핑 표 + 진행 상태02-trials/template.md— Trial 1건 기록 템플릿02-trials/trial-EXAMPLE-openclaw.md— 샘플 채워진 trial (양식·깊이 참조용)02-trials/trial-001-openclaw.md~trial-010-hermes.md— 실제 trial (실행 시 생성)
03-analysis.md— Trial 누적 분석 (10 trial 후 작성. 샘플:03-analysis-EXAMPLE.md)04-decision.md— 채택/폐기/보류 결정 (분석 후. 샘플:04-decision-EXAMPLE.md)
시리즈 인덱스: ../00-pain-landscape.md