← Build

Claude Code 중급 ① — 대화가 길어지면 멍청해지는 문제, 구조로 해결하기Claude Code Intermediate ① — Fixing Long-Conversation Degradation with Structure

컨텍스트 윈도가 무엇이고 왜 긴 대화에서 품질이 떨어지는지, 그리고 세션이 끊겨도 프로젝트를 이어가는 상태 파일 패턴까지. 한 달쯤 쓴 사람이 부딪히는 첫 번째 벽을 다룹니다.What the context window is, why quality degrades in long conversations, and the state-file pattern that lets projects survive across sessions — the first wall after a month of use.

분명 잘하던 AI가 오후만 되면 이상해진다

Claude Code를 한 달쯤 쓰면 공통된 경험을 하게 된다. 오전에는 지시를 착착 알아듣던 AI가, 같은 대화를 몇 시간 이어가다 보면 아까 정한 규칙을 까먹고, 이미 끝낸 작업을 다시 하고, 엉뚱한 파일을 건드린다.

AI가 갑자기 나빠진 게 아니다. 컨텍스트(context)가 가득 찬 것이다. 이 글은 그 원리를 이해하고, 대화가 아니라 구조로 해결하는 방법을 다룬다. 입문 시리즈에서 “/clear를 습관화하라”고 했다면, 이번엔 그 다음 단계다.


컨텍스트 윈도: AI의 작업 기억은 유한하다

AI 모델이 한 번에 참고할 수 있는 텍스트 총량을 컨텍스트 윈도(context window) 라고 한다. 내 지시, AI의 답변, 읽은 파일 내용, 실행 결과 — 대화에서 오간 모든 것이 여기 쌓인다.

문제는 두 가지 형태로 나타난다.

  1. 가득 차면 오래된 내용부터 밀려난다. 대화 초반에 정한 규칙(“결과물은 이 폴더에”, “이 형식으로”)이 창 밖으로 밀려나면, AI에게 그 규칙은 처음부터 없던 것이 된다
  2. 차기 전에도 품질은 서서히 떨어진다. 관련 없는 이전 작업의 흔적이 많이 섞여 있을수록, AI가 지금 중요한 정보에 집중하기 어려워진다

컨텍스트는 책상이다. 서류가 쌓일수록 지금 필요한 서류를 찾기 어렵고, 넘치면 오래된 것부터 바닥에 떨어진다.

이 비유에서 해법도 나온다 — 책상을 자주 치우고(/clear), 중요한 것은 책상이 아니라 서랍(파일) 에 보관하는 것이다.


1단계: /compact의 원리와 한계를 알고 쓰기

/compact는 지금까지의 대화를 요약해 컨텍스트를 압축한다. 유용하지만, 원리를 알면 한계도 보인다.

그래서 운용 원칙은 이렇다.

상황선택
주제가 바뀜/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      # 과거 대화 목록에서 골라서 재개

단, 복구된 대화도 결국 길어진 컨텍스트를 그대로 안고 온다. 상태 파일 패턴이 잘 갖춰져 있다면, 복구보다 “작업일지 읽고 새로 시작”이 더 나은 경우가 많다.


실전 루틴: 하루의 시작과 끝

지금까지의 내용을 하루 루틴으로 압축하면 이렇다.

시작할 때

  1. claude 실행 (새 세션)
  2. “작업일지.md 읽고 다음 할 일부터 진행하자”

작업 중 3. 주제가 바뀌면 일지 갱신 → /clear 4. 중요한 결정이 나올 때마다 “방금 결정을 작업일지에 추가해줘”

마칠 때 5. “오늘 작업을 작업일지.md에 정리해줘”

이 루틴이 몸에 붙으면 “AI가 오후만 되면 이상해지는” 문제는 대부분 사라진다.


흔한 실수


체크리스트

다음 글에서는 한 달차의 두 번째 불안 — “AI가 내 파일을 망치면 어쩌지”를 Git 안전망으로 해결하는 법을 다룬다. 개발 지식 없이도 된다.