분명 잘하던 AI가 오후만 되면 이상해진다
Claude Code를 한 달쯤 쓰면 공통된 경험을 하게 된다. 오전에는 지시를 착착 알아듣던 AI가, 같은 대화를 몇 시간 이어가다 보면 아까 정한 규칙을 까먹고, 이미 끝낸 작업을 다시 하고, 엉뚱한 파일을 건드린다.
AI가 갑자기 나빠진 게 아니다. 컨텍스트(context)가 가득 찬 것이다. 이 글은 그 원리를 이해하고, 대화가 아니라 구조로 해결하는 방법을 다룬다. 입문 시리즈에서 “/clear를 습관화하라”고 했다면, 이번엔 그 다음 단계다.
컨텍스트 윈도: AI의 작업 기억은 유한하다
AI 모델이 한 번에 참고할 수 있는 텍스트 총량을 컨텍스트 윈도(context window) 라고 한다. 내 지시, AI의 답변, 읽은 파일 내용, 실행 결과 — 대화에서 오간 모든 것이 여기 쌓인다.
문제는 두 가지 형태로 나타난다.
- 가득 차면 오래된 내용부터 밀려난다. 대화 초반에 정한 규칙(“결과물은 이 폴더에”, “이 형식으로”)이 창 밖으로 밀려나면, AI에게 그 규칙은 처음부터 없던 것이 된다
- 차기 전에도 품질은 서서히 떨어진다. 관련 없는 이전 작업의 흔적이 많이 섞여 있을수록, AI가 지금 중요한 정보에 집중하기 어려워진다
컨텍스트는 책상이다. 서류가 쌓일수록 지금 필요한 서류를 찾기 어렵고, 넘치면 오래된 것부터 바닥에 떨어진다.
이 비유에서 해법도 나온다 — 책상을 자주 치우고(/clear), 중요한 것은 책상이 아니라 서랍(파일) 에 보관하는 것이다.
1단계: /compact의 원리와 한계를 알고 쓰기
/compact는 지금까지의 대화를 요약해 컨텍스트를 압축한다. 유용하지만, 원리를 알면 한계도 보인다.
- 요약이므로 정보가 손실된다. 세부 결정 사항, 미묘한 뉘앙스는 요약 과정에서 뭉개질 수 있다
- 요약 이전으로 돌아갈 수 없다. 압축된 세부 내용을 다시 물으면 AI는 모른다
그래서 운용 원칙은 이렇다.
| 상황 | 선택 |
|---|---|
| 주제가 바뀜 | /clear (요약할 가치가 없다) |
| 같은 작업 계속, 대화만 김 | /compact |
| 잃으면 안 되는 결정 사항이 많음 | 파일로 먼저 기록하고 /clear (아래 2단계) |
세 번째 줄이 이 글의 핵심이다.
2단계: 상태 파일 패턴 — 기억을 대화 밖으로 꺼내라
긴 프로젝트를 안정적으로 굴리는 핵심 기법은 의외로 단순하다. 작업 상태를 대화(컨텍스트)가 아니라 파일에 저장하는 것. 파일은 밀려나지 않고, 세션이 끊겨도 남고, 새 대화에서 다시 읽힐 수 있다.
작업일지 파일 만들기
프로젝트 폴더에 작업일지.md 하나를 만들고, 작업을 마칠 때마다 AI에게 갱신을 시킨다.
“오늘 작업 내용을 작업일지.md에 정리해줘. 완료한 것, 결정한 것, 다음에 할 것 세 섹션으로.”
파일 내용은 이런 모습이 된다.
# 작업일지
## 완료
- 자료 30건 분류 완료 (기준: 주제별)
- 보고서 1장 초안 작성
## 결정 사항
- 표 형식은 3열(항목/내용/출처)로 통일
- '참고' 폴더의 원본은 수정하지 않기로 함
## 다음 할 일
- 보고서 2장 초안
- 분류 기준 문서화
다음 세션은 이 파일에서 시작한다
다음 날, 새 대화를 열고 첫 지시를 이렇게 시작한다.
“작업일지.md를 읽고 이어서 진행하자. 다음 할 일 첫 번째부터.”
이 패턴의 효과는 강력하다. 어제의 4시간짜리 대화 전체가 아니라, 정제된 요점만 새 컨텍스트에 올라간다. 깨끗한 책상에 필요한 서류 한 장만 놓고 시작하는 셈이다.
계획 문서도 같은 원리다
여러 날 걸리는 작업이라면 시작할 때 계획을 파일로 굳혀두자.
“이 작업의 전체 계획을 계획.md로 저장해줘. 단계별로 번호를 붙이고, 각 단계의 완료 기준도 적어줘.”
이후 각 세션은 “계획.md의 3단계를 진행하자”로 시작하면 된다. 계획이 컨텍스트에서 밀려나 AI가 방향을 잃는 일이 사라진다.
3단계: CLAUDE.md 계층으로 규칙을 분산하라
상태 파일이 “진행 중인 작업”의 기억이라면, CLAUDE.md는 “변하지 않는 규칙”의 기억이다. 한 달쯤 쓰면 CLAUDE.md가 비대해지는데, 이때 계층을 나눈다.
| 위치 | 담을 내용 | 예시 |
|---|---|---|
전역 (~/.claude/CLAUDE.md) | 어디서나 적용되는 내 취향 | 언어, 말투, 보고 형식 |
| 프로젝트 폴더 CLAUDE.md | 이 프로젝트의 규칙 | 폴더 구조, 파일명 규칙, 금지사항 |
| 하위 폴더 CLAUDE.md | 그 폴더에서만 적용 | ”이 폴더의 파일은 읽기 전용” |
하위 폴더에도 CLAUDE.md를 둘 수 있다는 점은 의외로 덜 알려져 있다. 규칙이 필요한 곳 가까이에 규칙을 두면, 하나의 거대한 지침 파일보다 관리가 쉽고 컨텍스트도 아낀다.
4단계: 세션 복구 명령어
세션이 의도치 않게 끊겼을 때(터미널 종료, 컴퓨터 재시작)를 위한 명령어 두 개는 알아두자.
claude --continue # 가장 최근 대화를 이어서 시작
claude --resume # 과거 대화 목록에서 골라서 재개
단, 복구된 대화도 결국 길어진 컨텍스트를 그대로 안고 온다. 상태 파일 패턴이 잘 갖춰져 있다면, 복구보다 “작업일지 읽고 새로 시작”이 더 나은 경우가 많다.
실전 루틴: 하루의 시작과 끝
지금까지의 내용을 하루 루틴으로 압축하면 이렇다.
시작할 때
claude실행 (새 세션)- “작업일지.md 읽고 다음 할 일부터 진행하자”
작업 중
3. 주제가 바뀌면 일지 갱신 → /clear
4. 중요한 결정이 나올 때마다 “방금 결정을 작업일지에 추가해줘”
마칠 때 5. “오늘 작업을 작업일지.md에 정리해줘”
이 루틴이 몸에 붙으면 “AI가 오후만 되면 이상해지는” 문제는 대부분 사라진다.
흔한 실수
- 모든 것을 한 대화에서 해결하려는 습관 — 컨텍스트 관리의 반대말은 “대화 하나로 버티기”다. 대화는 소모품이고, 파일이 자산이다
- 상태 파일을 AI에게만 맡기고 안 읽어보기 — 작업일지에 잘못된 결정이 기록되면 다음 세션도 그 오류를 이어받는다. 하루 한 번은 직접 훑어보자
- CLAUDE.md에 작업 상태를 적기 — “지금 3단계 진행 중” 같은 변하는 정보는 CLAUDE.md가 아니라 작업일지에. CLAUDE.md는 규칙 전용으로 유지해야 관리가 된다
체크리스트
- 진행 중인 프로젝트에 작업일지.md가 있다
- 세션을 시작할 때 상태 파일을 먼저 읽힌다
- /clear와 /compact의 선택 기준을 안다 (주제 전환 vs 같은 작업)
- CLAUDE.md에는 규칙만, 작업 상태는 별도 파일에 있다
-
claude --continue/--resume을 안다
다음 글에서는 한 달차의 두 번째 불안 — “AI가 내 파일을 망치면 어쩌지”를 Git 안전망으로 해결하는 법을 다룬다. 개발 지식 없이도 된다.