클로드야, 이제 까먹으면 안된다~
compact 할 때마다 바보가 되는, 기억장치가 없는 에이전트를 위한 스킬
요즘은 에이전트가 너무 일을 잘해서, 이젠 직접 화면을 캡쳐하고 로그를 쌓아서 QA까지 전부 진행한다.
점점 더 많은 일을 AI 에이전트에게 맡기고, 나는 진짜 명령과 최종 검수만 하는 발주처가 된 느낌이다.
근데 이런 자동화 파이프라인에는 아주 심각한 문제가 하나 있다.
에이전트가 스스로 앱이든 게임이든 빌드 결과물을 캡쳐하고, 그걸 스스로 검증하는 과정에서 컨텍스트를 기존과는 비교할 수 없을 만큼 많이 쓴다는 것.
문제는 이 컨텍스트 윈도우가 꽉 차게 되면 알아서 compact 을 진행하는데, 그 과정에서 잘 돌아가고 있던 자동화 파이프라인을 깨트리거나, 갑자기 이상한 목표를 진행한다거나, 이전에 실패했던 방식을 그대로 갖다 쓴다는 것.
이전 컨텍스트를 요약하는 과정에서 중요도 체크가 잘 안 되다 보니까, 뭘 하고 있던 걸 얼추 대략적으로만 기억하는 느낌이다.
근데 자체 세션 기록이 있는데 왜 이럴까?
이거 좀 뒤적여봤다.
Claude Code 가 세션 사이에 뭘 유지하냐면 두 가지다.
하나는 auto-memory. 사용자 프로필이나 프로젝트 규약 같이 “오래 참인 사실” 을 저장하는 곳. 다른 하나는 git. 이건 그냥 반영된 코드다.
근데 이 두 개로도 절대 안 잡히는 게 있다.
과정.
어제 뭘 시도했고, 뭐는 실패했고, 그래서 지금 이 수정이 왜 지금 이 형태가 됐는지. 이런 게 어디에도 안 남는다.
그러니까 compact 이 돌든 새 세션이 시작되든, Claude 는 어제 삽질해서 알아낸 근본 원인을 처음부터 다시 파낸다. 심지어 어제 이미 실패했던 접근을 오늘 또 시도한다. 실패를 어디에도 안 적어놨으니까.
이걸 요즘 며칠째 계속 당하다 보니까 진짜.. 시간은 시간대로 버리고, 세션도 날리고, 커밋을 롤백한 게 몇 번인지… 안 열받을 수가 없다.
그래서 하나 만들었다
스킬 하나 만들었다.
프로젝트 루트 메모리에 매 세션 결과를 기록해두고, 다음 세션에서 그 기록을 알아서 읽게 하는 놈이다.
파일 구조는 이렇게 생겼다.
~/.claude/projects/<프로젝트 해시>/memory/sessions/
├── INDEX.md
├── 2026-08-01_0900.md
├── 2026-08-02_1420.md
└── 2026-08-03_0830.md
각 로그는 다섯 섹션.
- What I did — 도구 호출 단위 말고 결과 단위로
- What I discovered (non-obvious) — 파헤쳐 알아낸 근본 원인, 숨은 제약
- Failed attempts (don’t repeat) — 다시 시도하지 말아야 할 접근
- Next up — 파일 단위의 다음 액션
- Files changed — 경로 목록만
세 번째 Failed attempts 가 이 스킬의 핵심이다. 나머지 넷은 있어도 되고 없어도 되는데 이건 없으면 안 된다.
어떻게 굴러가냐면
세션 시작하면 스킬이 최근 로그 3개를 알아서 훑어서 요약해준다.
지난 세션에서 X 를 진행했고, Y 가 다음 예정이었습니다. Z 는 시도했다가 실패했으니 반복하지 마세요.
이거 진짜 편함. Claude 한테 매번 “우리 어제 뭐 하고 있었지” 브리핑 안 해줘도 알아서 파악한다.
세션 끝날 때는 내가 “마무리” 라고 말하거나 compact 태그 (<summary>) 가 감지되면 새 항목 쓰고 INDEX.md 갱신한다.
저장 위치가 좋은 게, Claude Code 가 이미 만들어놓은 ~/.claude/projects/<hash>/memory/ 폴더를 그냥 갖다 쓴다. 새 폴더 안 만들고, DB 도 없고, 별도 install 도 필요없다. 그냥 마크다운 파일이라 grep 되고 아무 에디터에서든 열린다.
써봤는데
만들고 며칠 굴려봤다.
지금 진행 중인 게임 프로젝트 로그 폴더가 이렇게 쌓였다.
- 2026-08-02_1900 — Priority 2+3 대공사 완주. Blender KRX arena 리빌드 + VFX 5종 폴리시. 4 commits
- 2026-08-02_1700 — 대공사 Phase 1-3 완료: 자동화 100% + Dollar 대개조 + Boss dark charcoal. 3 commits
- 2026-08-02_1500 — VFX 대장정 5 phase. 사용자 최종 평가 "너무 별로, procedural 구려, Blender 로 재작성 필요". 8 commits
- 2026-08-02_1121 — StockMap 아레나 완성 + 몹 전투 대수술 + Elden Ring 표준 attack variety. 23 commits
- 2026-07-31_1400 — Boss T-pose 재발 fix + attack hitbox 창 도입 + Dodge 조이스틱 미입력 방향 fix
- 2026-07-31_0830 — Boss 애니 fix (BoneMap retarget) + session-log skill 신규 제작
하루에 세션이 3~4개씩 쌓인다.
며칠 전에 진짜 없었으면 큰일 났을 순간이 있었다.
Ticker shader 를 unshaded 로 만졌다가 실패한 게 로그에 남아있었다. 며칠 뒤 비슷한 shader 이슈로 또 unshaded 를 건드리려던 참에, 로그 보고 손을 멈췄다. 저번에 이게 왜 안 됐는지가 Failed attempts 에 세 줄로 정리돼 있었다.
만약 이 로그가 없었으면, 아마 세션을 더 태우고 나서야 “아 저번에도 이거 안 됐었지” 를 깨달았을 것이다.
Auto-memory 랑은 어떻게 다르냐면
이 스킬이 auto-memory 를 대체하는 게 아니다. 오히려 서로 보완.
| 시스템 | 잡는 것 | 답하는 질문 |
|---|---|---|
| Auto-memory | 오래 유지되는 사실 | ”사용자가 뭘 신경 쓰나? 프로젝트 구조는?” |
| Session log | 세션 하나 동안 있었던 일 | ”지난번에 뭘 시도했나? 왜 멈췄나?” |
세션 로그에서 같은 실패가 3번 이상 반복되면 auto-memory 의 feedback 항목으로 승격시키는 규칙도 넣어놨다. 세션 로그가 쌓이다 보면 자연스럽게 auto-memory 로 흘러가는 파이프가 있는 셈이다.
마치며
이렇게 따로 세션 로그를 남겨두니까 더 잘 “기억”한다. 는 솔직히 모르겠고, 그냥.. 덜 까먹는다. 가 맞는 거 같다.
갑자기 뜬금 없이 3일 전에 기획했다가 폐기한 내용을 들고 오거나 하는 진짜 이해할 수 없는 순간들이 새로운 세션을 열 때마다 있었는데, 이렇게 관리를 하니까 매번 “지금 뭐 하고 있었어, 분석해봐” 안해도 되니까…
좋긴하다.
그냥 쉽게 설치할 수 있는 skill이니까 따로 npm 빌드를 열어놨다.
npx skills add Choonham/session-log-skill -g -a claude-code -y
리포는 여기: github.com/Choonham/session-log-skill
클로드야, 이제 좀 까먹지 말고 잘 살아야 한다~
마침.
다른 글 보기
열람을 금지합니다... 금지하겠습니다.... 안되잖아?
보안 때문에... 모든 HTML 열람을 금지한다구요?
게임 개발 해커톤 사전 과제 회고록
좋아해야 할지 슬퍼해야 할지 모르겠는, 코스피 어벤져 사전 과제 회고
무엇이 타격감을 만드는가
소울라이크 게임에서 가장 중요한 타격감을 어떻게 구현하는가.
음. 그래요. 2주 줄테니까 게임 만들어오세요.
구미가 당기는 해커톤을 봤다. 근데, 너무 늦게.