CLAUDE.md가 수백 줄로 늘어났을 때, 많은 사람이 가장 먼저 시도하는 해결책들이 있습니다. 이들 모두 효과는 있지만, 근본적인 해결책은 아닌 경우가 대부분입니다. 대표적인 5가지를 간략하게 정리합니다.
1. 주기적으로 다시 읽고 삭제하기
가장 순수한 방법입니다. 효과는 있지만, '이 지시는 더 이상 필요하지 않은가'를 판단하는 데 과거의 경위를 떠올릴 비용이 들기 때문에, 바빠지면 가장 먼저 중단하게 됩니다.
2. 압축하여 간결화하기
정보 밀도는 높아지지만, '전체 내용을 매 세션 무조건 주입한다'는 구조 자체는 변하지 않습니다. 추가되는 내용이 계속되는 한, 결국 다시 비대해집니다.
3. 여러 파일로 분할하여 가져오기(Import)
겉보기에는 정리가 되지만, 임포트 역시 상시 주입의 일종입니다. 로드되는 토큰량은 실질적으로 변하지 않기 때문에, 비대화 그 자체는 해결되지 않습니다.
4. AI에게 요약시키기
효과적인 1차 대책입니다. 하지만 그 요약을 CLAUDE.md에 다시 작성하는 것만으로는, 같은 장소에 쌓이는 문제가 재발합니다.
5. 사용하지 않는 지시를 주석 처리하기
삭제 결정을 미룰 수는 있지만, 죽은 지시가 파일에 계속 남아있어 나중에 읽을 때 '이것이 아직 유효한가'를 판단하는 비용을 증가시킵니다. 또한 모순된 지시의 온상이 되기도 합니다.
공통적인 한계
5가지 방법 모두 공통적으로, '매번 반드시 필요한 정보'와 '필요할 때만 검색하면 되는 정보'를 구분하지 않고, 모든 것을 같은 1개 파일에 두고 있다는 점입니다. 이 구분을 도입하지 않는 한, 압축하든 분할하든, 장소만 바뀔 뿐 증가 자체는 멈추지 않습니다.
CLAUDE.md를 '매번 필요한 규범'으로만 제한하고, 그 외의 내용은 검색형 기억(searchable memory)으로 넘기는 설계와 그 최소 구현은 지난 글에 정리했습니다.
Discussion