피드로 돌아가기
How We Cut Claude Code Session Overhead with Lazy-Loaded Personas
Dev.toDev.to
AI/ML

Lazy-loading 라우팅 패턴으로 3,000-5,000 토큰 페르소나 컨텍스트를 요청 시점에만 로드함

How We Cut Claude Code Session Overhead with Lazy-Loaded Personas

Drakko Tarkin2026년 4월 2일4intermediate

Context

Claude Code의 CLAUDE.md는 세션 시작 시 한 번이 아니라 매 턴마다 전체 컨텍스트로 재주입됨. 23개 페르소나를 각각 150-200줄로 정의하면 매 메시지마다 3,000-5,000 토큰이 로드되어 불필요한 비용이 발생함.

Technical Solution

  • 라우팅 엔진: routing-engine.md에서 신호 단어를 페르소나 파일 경로에 매핑함
  • 온디맨드 로딩: 메시지에서 "architecture", "schema" 등의 신호 단어 감지 시 해당 페르소나 파일만 로드함
  • 분리 저장: ~/.claude/prism/ 디렉토리에 각 페르소나 파일을 독립적으로 저장함
  • 레퍼런스 외부화: 코딩 스타일 가이드, 아키텍처 문서 등을 CLAUDE.md에서 분리하여 별도 파일로 관리함

Impact

캐싱 버그 발생 시 베이스라인 컨텍스트가 클수록blast radius가 커짐. Lazy-loading 적용 시 세션당 토큰 비용을 구조적으로 절감할 수 있음.

Key Takeaway

불필요한 리소스를 미리 로드하는 eager-loading 대신, 신호 단어 기반의 on-demand 패턴을 적용하면 컨텍스트 크기와 비용을 선형적으로 줄일 수 있음.


Claude Code 사용 시 CLAUDE.md 크기가 1,000단어 이상이면 토큰化了 playground로 검증 후 페르소나 정의와 참조 문서를 별도 파일로 분리하고, routing-engine.md에서 신호 단어-파일 경로 매핑을 설정해야 함.

원문 읽기