교재 목차
MODULE 08 / 16
08
Part 8 · 메모리·세션 관리

기억하는 에이전트, 끊기지 않는 작업

7모듈에서 컨텍스트는 한정된 책상이라는 걸 배웠다. 이번엔 그 책상이 매번 깨끗이 치워지는 에이전트에게 ‘업무수첩’을 쥐여 준다. CLAUDE.md로 규칙을 영속시키고, 폴더를 물리적으로 나눠 컨텍스트를 지키고, 하루를 넘기는 긴 작업을 안전하게 이어간다.


Lesson 27

CLAUDE.md — 영속하는 규칙과 기억 파일

매번 출근할 때마다 회사 이름도, 자기 자리도, 업무 규칙도 잊어버리는 신입사원이 있다고 해보자. 똑똑하긴 한데, 아침마다 처음부터 다시 알려줘야 한다.

에이전트가 딱 그렇다. 세션이 끝나면 방금까지 나눈 대화도, 합의한 규칙도 전부 사라진다.

7모듈에서 본 대로 컨텍스트 윈도우는 한정된 책상이다. 세션이 닫히면 그 책상은 통째로 비워진다. 어제 “우리 프로젝트는 들여쓰기 2칸이야”라고 합의했어도, 오늘 새 세션에서는 그런 약속이 없던 일이 된다.

그래서 필요한 게 책상 옆에 늘 펼쳐 두는 업무수첩이다. 에이전트의 업무수첩이 바로 CLAUDE.md 파일이다.

CLAUDE.md가 하는 일

CLAUDE.md는 프로젝트 폴더에 두는 평범한 텍스트 파일이다. 다만 특별한 점이 하나 있다. 에이전트가 그 폴더에서 일을 시작할 때마다 이 파일을 가장 먼저, 자동으로 읽는다.

덕분에 매번 다시 설명할 필요가 없다. “이 프로젝트는 파이썬을 쓰고, 테스트는 pytest로 돌리고, 커밋 메시지는 한국어로”라고 한 번 적어 두면, 새 세션마다 에이전트가 알아서 그 규칙을 떠올린다.

중요한 건 분량이다. CLAUDE.md는 매 세션 컨텍스트에 통째로 올라간다. 즉 책상 위 공간을 상시 차지한다. 길게 쓸수록 정작 일할 공간이 줄고, 핵심 규칙이 잡담에 묻힌다. 짧고 단단하게 — 이게 첫 번째 원칙이다.

기억의 세 칸 — 무엇을 적고 무엇을 버릴까

사람의 기억을 셋으로 나눠 보면 무엇을 수첩에 남길지 감이 온다. 서랍 세 칸이라고 생각하면 쉽다.

첫 칸은 의미 기억이다. 변하지 않는 사실 — 프로젝트가 무엇이고, 어떤 언어·도구를 쓰는지. 둘째 칸은 절차 기억이다. 일하는 방식 — 테스트는 어떻게 돌리고, 배포는 어떤 순서로 하는지. 셋째 칸은 일화 기억이다. 특정 순간의 사건 — “오늘 3시에 로그인 버그를 고쳤다” 같은 일회성 기록.

CLAUDE.md에 남길 건 앞의 두 칸, 즉 의미와 절차다. 오래 가는 사실과 방식만 적는다. 일화 기억은 대부분 그 세션이 끝나면 잊어도 되는 것들이라 수첩에 박제하면 오히려 짐이 된다.

메모리 3분류 — 의미·절차·일화 기억을 서랍 세 칸에 비유
그림 1. 기억의 서랍 세 칸. 변하지 않는 사실(의미)과 일하는 방식(절차)은 수첩에 남기고, 일회성 사건(일화)은 흘려보낸다.
CLAUDE.md
프로젝트 폴더에 두는 규칙·기억 파일. 세션 시작 때마다 자동으로 읽힌다.
의미 기억
변하지 않는 사실. 프로젝트 정의, 쓰는 언어·도구. 수첩에 남긴다.
절차 기억
일하는 방식. 테스트·빌드·배포 순서. 수첩에 남긴다.
일화 기억
특정 순간의 사건. 대부분 세션과 함께 흘려보낸다.
코드 없이도 똑같다

‘.md’ 확장자라 어렵게 느껴질 수 있지만, 코워크에서도 원리는 같다. 프로젝트 폴더에 메모 파일을 하나 두고 “이 규칙을 항상 지켜줘”라고 부탁하는 것 — 그게 CLAUDE.md의 본질이다. 형식보다 “반복되는 규칙을 글로 박아 둔다”는 발상이 핵심이다.

한 문장 요약

대화는 휘발되지만, 수첩에 적은 규칙은 남는다.

CLAUDE.md는 에이전트의 장기 기억이다. 변하지 않는 사실과 방식만 짧게 남겨, 매 세션 같은 설명을 반복하는 낭비를 없앤다.


Lesson 28

메모리 만들어주기 실습

수첩의 개념은 알았다. 그런데 처음부터 완벽한 규칙서를 손으로 쓰려면 막막하다. 다행히 가장 좋은 작성자는 따로 있다 — 에이전트 자신이다.

좋은 CLAUDE.md를 만드는 가장 빠른 길은 “네가 한 번 만들어 봐”라고 시키는 것이다.

에이전트는 폴더를 둘러보고 어떤 언어를 쓰는지, 어떤 구조인지, 어떤 명령으로 빌드하는지 스스로 파악할 수 있다. 그 관찰을 바탕으로 초안을 만들게 한 다음, 사람이 다듬는 편이 훨씬 빠르고 정확하다.

핵심은 ‘완벽한 첫 버전’이 아니라 ‘살아 있는 수첩’이다. 한 번 만들고 끝내는 게 아니라, 일하다 같은 실수가 반복되면 그때그때 한 줄씩 보태는 것이다.

세 단계로 만든다

  1. 초안을 시킨다“이 프로젝트를 살펴보고, 다음 세션의 너 자신을 위한 CLAUDE.md 초안을 만들어줘”라고 부탁한다. 에이전트가 폴더를 읽고 사실·방식을 정리한다.
  2. 사람이 가지친다초안에는 군더더기가 섞인다. 당연한 내용·일회성 내용은 지우고, 정말 반복되는 규칙만 남긴다. 짧을수록 좋다.
  3. 쓰면서 키운다작업 중 “아, 이건 매번 알려주네” 싶은 순간 그 규칙을 한 줄 추가한다. 수첩은 한 번에 완성되지 않고 자란다.

아래는 잘 자란 CLAUDE.md가 대략 어떤 모습인지를 보여준다. 항목이 짧고, 사실(의미)과 방식(절차)으로 나뉘어 있다.

CLAUDE.md 구조 — 개요(의미)·일하는 방식(절차)·규칙 세 블록으로 나뉜다
그림 2. CLAUDE.md의 구조. 개요(의미)·일하는 방식(절차)·꼭 지킬 규칙 세 블록으로 짧게 나눈다.
자주 하는 실수

처음부터 욕심내서 수백 줄짜리 규칙서를 만드는 것. 길어지면 정작 중요한 규칙이 묻히고, 매 세션 책상도 좁아진다. “이걸 빼면 에이전트가 실수할까?”를 기준으로, 아니라면 과감히 지운다. 의심스러우면 넣지 말고 빼는 쪽이 낫다.

붙여넣기 프롬프트 · CLAUDE.md 초안 만들기
이 프로젝트 폴더를 살펴보고, 다음 세션의 너를 위한 CLAUDE.md 초안을 만들어줘.
- 프로젝트가 무엇인지(개요), 어떤 언어·도구를 쓰는지(의미)
- 빌드·테스트·실행을 어떤 명령으로 하는지(절차)
- 반드시 지켜야 할 규칙(예: 원본 데이터 수정 금지)
규칙은 짧게, 정말 반복되는 것만. 당연하거나 일회성인 내용은 넣지 마.
다 쓰면 왜 각 항목을 넣었는지 한 줄씩 설명해줘.
가지치기·갱신용 변형 프롬프트는 prompts/m08/27-claude-md-만들기.md
실습 27

내 프로젝트에 수첩 달아주기

  1. 작업 중인 폴더(없으면 연습용 폴더)를 에이전트에게 연다.
  2. 위 프롬프트로 CLAUDE.md 초안을 받는다.
  3. 초안을 읽고, 당연하거나 일회성인 줄을 직접 지운다 — 절반쯤 남기는 게 보통이다.
  4. 새 세션을 열고 “지금 이 프로젝트 규칙이 뭐야?”라고 물어, 수첩이 읽히는지 확인한다.

목표: 초안→가지치기→확인이라는 리듬을 익히는 것. 완벽한 수첩보다, 새 세션에서 규칙이 살아남는다는 사실을 눈으로 확인하는 게 중요하다.

한 문장 요약

수첩은 에이전트가 쓰고, 사람이 가지친다.

초안은 에이전트에게 맡기고, 사람은 ‘무엇을 지울지’만 고르면 된다. 그렇게 짧게 유지된 수첩이 가장 오래, 가장 잘 작동한다.


Lesson 29

물리적 분리로 컨텍스트 관리

책상 하나에 세 가지 일을 동시에 펼쳐 두면, 서류가 섞이고 정신이 흩어진다. 에이전트도 똑같다. 한 세션에 여러 일을 욱여넣으면 컨텍스트가 오염된다.

해법은 의외로 단순하다. 일을 책상이 아니라 방으로 나누는 것이다.

7모듈에서 컨텍스트 5대 실패모드를 배웠다. 그중 오염·혼란은 대부분 한 곳에 너무 많은 걸 쌓아서 생긴다. 무관한 정보가 책상에 같이 올라와 있으면, 에이전트는 엉뚱한 자료를 참고하거나 지난 작업의 잔상에 휘둘린다.

이걸 막는 가장 확실한 방법이 물리적 분리다. 논리적으로 “이건 신경 쓰지 마”라고 부탁하는 것보다, 아예 다른 폴더·다른 세션으로 떼어 놓는 편이 훨씬 깨끗하다. 벽이 있으면 섞일 수가 없다.

두 가지 분리 — 샤딩과 격리

분리에는 두 결이 있다. 하나는 큰 자료를 잘게 나누는 샤딩, 다른 하나는 작업을 각자의 방에 가두는 격리다.

샤딩큰 자료 쪼개기1000쪽 문서를 챕터별 파일로, 필요한 조각만 읽기
격리일을 각방에무관한 작업은 폴더·세션을 나눠 잔상 차단
위임서브에이전트별실에서 조사하고 요약만 가져와 본 책상 보호
실무 신호

이런 순간이 곧 분리해야 한다는 신호다 — 한 세션이 너무 길어졌다 / 에이전트가 아까 끝낸 일을 자꾸 다시 꺼낸다 / 무관한 주제로 화제가 자주 튄다. 이럴 땐 “계속 부탁”하지 말고, 새 세션·새 폴더로 갈아타는 게 빠르다.

한 문장 요약

섞이지 않게 하려면, 부탁하지 말고 벽을 세워라.

“신경 쓰지 마”라는 말보다 폴더와 세션을 나누는 물리적 분리가 확실하다. 큰 건 샤딩으로 쪼개고, 무관한 일은 격리로 각방에 둔다.


Lesson 30

세션 관리 — 긴 작업 이어가기

하루에 끝나지 않는 일이 있다. 그런데 에이전트의 책상은 세션이 닫히면 비워진다. 어떻게 어제 하던 작업을 오늘 이어갈까.

답은 ‘기억하게’ 하는 게 아니라, ‘인수인계’하게 하는 것이다.

긴 작업의 진짜 적은 망각이 아니라 컨텍스트 부패다. 한 세션을 오래 끌수록 책상엔 시도와 실패와 잡담이 쌓이고, 에이전트는 점점 흐려진다. 그래서 노련한 사용자는 한 세션을 무한정 끌지 않는다.

대신 적당한 지점에서 인수인계 문서를 남기고 세션을 새로 연다. 퇴근하는 직원이 “여기까지 했고, 다음은 이걸 하면 됨”이라고 메모를 남기는 것과 같다. 새 직원(새 세션)은 그 메모만 읽고 깨끗한 책상에서 이어간다.

긴 작업을 이어가는 리듬

  1. 큰일을 단계로 쪼갠다“전부 다 해줘” 대신, 작업을 끝이 보이는 단계들로 나눈다. 단계 하나가 한 세션에 들어갈 만한 크기면 좋다.
  2. 마디마다 진행 메모를 남긴다한 단계가 끝나면 “지금까지 한 일 / 남은 일 / 다음에 할 일”을 PROGRESS.md 같은 파일에 적게 한다. 이게 인수인계장이다.
  3. 흐려지면 세션을 갈아탄다응답이 둔해지거나 같은 실수를 반복하면 미련 없이 새 세션을 연다. 새 세션은 진행 메모부터 읽고 이어간다.
  4. 되돌릴 지점을 남긴다단계마다 저장(커밋·백업)해 두면, 한 단계가 틀어져도 통째로 무너지지 않는다. 1모듈의 ‘되돌리기’가 여기서도 안전벨트가 된다.
CLAUDE.md와 진행 메모는 다르다

둘을 헷갈리지 말자. CLAUDE.md는 변하지 않는 규칙(의미·절차)이라 오래 남긴다. 진행 메모(PROGRESS.md)는 지금 작업의 현재 상태(일화)라 작업이 끝나면 버린다. 일화 기억을 CLAUDE.md에 적으면 수첩이 금세 더러워진다.

붙여넣기 프롬프트 · 인수인계 메모 남기기
이번 세션을 곧 마칠 거야. 다음 세션의 너를 위해 PROGRESS.md 를 남겨줘.
- 지금까지 끝낸 일 (한 줄씩)
- 아직 남은 일 (우선순위 순서로)
- 바로 다음에 할 일 한 가지와, 그걸 위해 알아야 할 맥락
- 주의할 점(건드리면 안 되는 것, 알려진 문제)
짧고 구체적으로. 새 세션이 이 파일만 읽고 바로 이어갈 수 있게.
세션 이어받기·단계 쪼개기 프롬프트는 prompts/m08/30-세션-이어가기.md
실습 28

세션을 끊고, 이어 붙이기

  1. 두세 단계가 필요한 작업을 하나 고른다(예: “이 폴더의 글들을 다듬어 한 문서로 합치기”).
  2. 첫 단계만 시키고, 끝나면 위 프롬프트로 PROGRESS.md를 남기게 한다.
  3. 세션을 완전히 닫고, 새 세션을 연다.
  4. “PROGRESS.md를 읽고 다음 단계를 이어가줘”라고만 말한다 — 맥락을 다시 설명하지 않는다.

목표: 한 세션에 모든 걸 욱여넣지 않고, 인수인계로 끊어 가는 감각을 익히는 것. 새 세션이 메모만으로 매끄럽게 이어가면 성공이다.

모듈 8 마무리

에이전트는 기억하지 못한다. 대신 인수인계하게 하라.

CLAUDE.md로 규칙을 영속시키고(L27~28), 폴더와 세션을 물리적으로 나눠 컨텍스트를 지키고(L29), 긴 작업은 진행 메모로 끊어 이어간다(L30). 망각을 막으려 애쓰는 대신, 잘 넘겨주는 법을 익히는 것이 핵심이다. 다음 모듈에서는 이 환경 자체를 내 손에 맞게 커스터마이징한다.

출처 · 더 읽을거리

이 모듈의 근거 문서

  1. 문서Anthropic — Claude Code 메모리(CLAUDE.md) 관리
    프로젝트·사용자 메모리 파일의 위치와 자동 로딩 규칙. 레슨 27~28의 기준.
    docs.anthropic.com/en/docs/claude-code/memory
  2. 공식Anthropic — Effective context engineering for AI agents
    컨텍스트를 자원으로 보고 분리·요약으로 관리하는 관점. 레슨 29의 배경.
    anthropic.com/engineering/effective-context-engineering-for-ai-agents
  3. 문서Anthropic — Claude Code 공통 워크플로우(긴 작업·재개)
    세션을 끊어 이어가고 진행 상태를 넘기는 실무 패턴. 레슨 30의 근거.
    docs.anthropic.com/en/docs/claude-code/common-workflows