FROM THE WORKSHOP / 이슈
메모리에 스킬 파일로 유도 가능한 내용을 중복 저장
메모리에 스킬 파일로 유도 가능한 내용을 중복 저장
- 발생 일자: 2026-04-21 09:56 KST
- 해결 일자: 2026-04-21 09:58 KST
- 심각도: low (메모리 오염, 토큰 낭비)
- 재발 가능성: high (가드 없음)
- 영향 범위: auto-memory 시스템 전체 (모든 기기)
증상
대종님이 /sync 가 양 기기 동시 실행 안전하다고 말하자, 해당 사실을 project_automation_disabled_2026_04_21.md 메모리에 새 줄로 추가. 그런데 같은 내용이 이미 ~/.claude/skills/sync/SKILL.md 에 명시돼 있었음. 대종님 “내가 기록 안해도 스킬에 적혀있지 않나?” (텔레그램 id 1551) 지적으로 발견. 뒤이어 “근데 왜 또적었어?” (id 1553) 로 남은 메모리 파일 자체의 존재 이유까지 재검토 요청.
원인
auto-memory 쓰기 전 기존 skill 파일 / CLAUDE.md / AGENT.md 에 같은 사실이 있는지 grep 체크 안 함. 시스템 프롬프트 auto-memory 섹션에 “Anything already documented in CLAUDE.md files” 저장 금지 룰은 있지만:
- skill SKILL.md 파일까지 명시 안 됨 (CLAUDE.md 만 언급).
- 실제로 “유도 가능한지” 를 grep 없이 감으로 판단 → 놓침.
부수 원인: 메모리 파일이 decision context 와 sync 가능한 fact 를 섞어 저장하다 보니 추가 줄의 성격(결정 맥락 vs 단순 사실)을 분별 못 하고 습관적으로 append.
조치
- 중복 라인 Edit 로 되돌림 (
project_automation_disabled_2026_04_21.md원복). - 남긴 메모리 자체는 결정 맥락 + 현재 비활성/활성 스냅샷 이라 skill 에서 유도 불가한 정보이므로 유지 결정.
- 대종님에게 “기준 더 타이트하게 잡겠다” 메타 피드백.
예방 (Forcing function 우선)
auto-memory 에 새 줄 쓰기 직전 아래 3-step preflight 를 시스템 프롬프트/훅 레벨로 박는다:
- 저장 내용에서 핵심 키워드 2~3개 추출.
rg <키워드> ~/.claude/skills/*/SKILL.md ~/.claude/CLAUDE.md ~/.claude/AGENT.md로 grep (대소문자 무시).- hit 나오면 저장 취소 + “이미 <경로> 에 있습니다” 콘솔 로그, hit 없을 때만 저장 진행.
구현 옵션:
- A. PreToolUse hook (
~/.claude/settings.json) —Write|Edit호출 + 경로가memory/*.md이면 컨텐츠를 stdin 으로 받아 keyword grep 해주는 훅. hit 시 exit 2 로 블록. - B. 프롬프트 레벨 룰 추가 — 시스템 프롬프트 auto-memory 섹션의 “What NOT to save” 에
~/.claude/skills/*/SKILL.md도 포함 + “Before writing, grep keywords in those files” 의무화. - C. 하이브리드 (권장) — A 훅이 기본 가드, B 룰이 의식적 체크. A 실패 시 B 가 catch.
재발 이력 쌓이면 forcing function 을 더 센 쪽 (훅 강제 차단) 으로 승격.
재발 이력
(없음)
관련 링크
- 원인 세션:
~/.claude/projects/-home-ssamssae/3739a5cc-86ff-451e-971a-c88b8ae5afd0.jsonl(09:56~10:03 KST) - 텔레그램 메시지: id 1549, 1551, 1553
- 유지된 메모리:
~/.claude/projects/-home-ssamssae/memory/project_automation_disabled_2026_04_21.md - 되돌린 변경: 같은 파일의 “daily-sync Mac+WSL 동시 실행 안전” 추가 라인 (Edit 으로 원복)
- 관련 시스템 룰: 시스템 프롬프트 auto-memory 섹션 “What NOT to save in memory” (현재 CLAUDE.md 만 언급, skill SKILL.md 확장 필요)