Claude 컨텍스트 드리프트를 방지하기 위한 워크플로우 재구성 및 Claude Code를 활용한 개발기
how i restructured my claude workflow to stop fighting context drift, and what i ended up building with claude code along the way
핵심 요약
Claude의 컨텍스트 드리프트를 막기 위해 프로젝트를 모듈화하고 주기적으로 대화를 초기화하는 워크플로우를 구축한 경험 공유.
- 컨텍스트 모듈화 — 거대한 단일 파일을 12개의 모듈로 쪼개어 필요한 정보만 로드함.
- 주기적 초기화 — 세션이 길어지면 모델이 혼동하므로 과감하게 대화를 초기화함.
- 도구 개발 — 컨텍스트 로딩을 자동화하는 맥용 오버레이 앱 'Lumia'를 직접 제작함.
- Claude Code 활용 — Claude Code를 사용하여 Claude를 더 효율적으로 쓰는 도구를 개발함.
지난 두 달 동안 제가 만드는 제품을 위해 Claude에 컨텍스트를 로드하는 방식을 반복적으로 개선해 왔는데, 이곳에서는 잘 다뤄지지 않는 내용이라 공유하면 유용할 것 같아 글을 씁니다. 제가 계속 겪었던 문제는 전형적인 것이었습니다. 같은 긴 세션을 몇 시간 동안 이어가면 모델이 스스로 모순된 말을 하기 시작하고, 프로젝트의 관련 없는 부분을 혼동하며, 이전의 제약 사항을 잊어버리는 반면, 깨끗한 컨텍스트로 새로 대화를 시작하면 다시 날카로워지는 현상이죠. 긴 윈도우에서 컨텍스트가 저하되는 것이 분명했고, 프롬프팅을 아무리 잘해도 해결되지 않았습니다. 프롬프팅이 병목 현상이 아니었기 때문이죠.
실제로 효과가 있었던 것은 프로젝트 컨텍스트를 거대한 claude.md 파일 하나가 아니라 약 12개의 모듈식 청크로 나누는 것이었습니다. 질문의 도메인을 분류한 뒤에 로드하는 방식이죠(카피라이팅에 대해 물어볼 때는 토큰을 차지하는 데이터베이스 스키마가 윈도우에 있을 필요가 없으니까요). 자연스럽게 느껴지는 것보다 훨씬 더 과감하게 대화를 지우고 다시 로드하는 습관을 들였고, 영원히 유효한 컨텍스트와 이번 주에만 유효한 컨텍스트를 분리했습니다. 후자는 생각보다 훨씬 빨리 부패하며, 보통 긴 세션을 망치는 주범이 됩니다.
결국 이 로딩 레이어 전체를 Claude와 제가 사용하는 다른 AI 도구들 위에 떠 있는 작은 맥 오버레이로 만들었습니다. 제가 질문하는 내용에 따라 청크 선택을 자동으로 처리하죠. Claude Code를 사용해 3주 주말 동안 앱 전체를 페어 코딩했는데, 꽤 메타적인 경험이었습니다. 기본적으로 Claude를 더 깔끔하게 사용하기 위한 도구를 만드는 데 Claude Code를 사용한 셈이죠. 베타 버전은 무료로 사용해 볼 수 있습니다: getlumia.ca
하지만 어떤 도구를 쓰지 않더라도, 거대한 컨텍스트 파일 하나를 영원히 돌리지 말라는 것이 가장 효과적인 교훈입니다. 모듈화와 과감한 초기화가 정답입니다. 저에게는 드리프트 관련 불만이 거의 제로로 떨어졌고, 모델과 씨름하는 시간은 줄고 모델을 활용하는 시간은 늘었습니다.

