문제의 발견: "벌써 47%?"

오늘 아침, 가볍게 "오늘 준비되었는지 확인해줘!"라고 물었을 뿐인데...

[Sonnet 4.5] ▓▓▓▓▓▓▓▓░░ 47%
✓ Bash ×12 | ✓ Read ×1

12번의 Bash 호출이라니. 😱

단순 상태 확인 질문에 Context Window의 거의 절반을 소비했다는 걸 깨달았습니다.


범인을 찾아라: 13개 Tool Calls 부검

실제로 뭘 했는지 추적해보니:

✅ 필요했던 것들 (5개)

  1. ls data/2026/0215/ - 로컬 폴더 확인
  2. gdrive.py list 0215 - Drive 파일 확인
  3. gdrive.py pull 0215 - 파일 다운로드 시도
  4. ls templates/template.xlsx - 템플릿 확인
  5. ls scripts/members.txt - 명부 확인

❌ 과도했던 것들 (3개)

  1. find . -maxdepth 2 - 이미 gdrive pull로 확인됨 (중복!)
  2. process_offering.py --help - 시스템 동작 확인은 불필요
  3. wc -l members.txt - 파일 존재만 확인하면 됨

🤦 완전히 불필요했던 것들 (5개)

9-13. CLAUDE.md 분석 (사용자가 두 번째로 "분석해줘"라고 별도 요청)

결론: 2-3개면 충분할 질문에 13개를 실행했습니다.


해결책 1: Tool Calls 효율성 원칙

질문 유형별 적정 Tool Calls 수

질문 유형 적정 수 예시
상태 확인 2-3개 "준비됐어?" → 폴더/파일/Drive만
분석 요청 3-5개 "구조 분석해줘" → 필요한 정보만
실행 요청 5-10개 "OCR 처리해줘" → 실제 작업 수행

체크리스트 (앞으로 이렇게)

  1. 의도 파악: 상태 확인? 분석? 실행?
  2. 최소 범위: 답변에 필요한 최소 정보만
  3. 병렬 실행: 독립적 명령은 한 메시지에
  4. 검증 지양: 문제 없으면 과도한 검증 생략

해결책 2: CLAUDE.md 다이어트

컨텍스트 소비의 또 다른 범인: 비대한 CLAUDE.md (608줄, 32KB)

Before

프로젝트 개요: 9줄
아키텍처: 138줄 ← 폴더 구조가 너무 상세
핵심 설계 결정: 171줄 ← Phase 18, 15 구현 포함
개선 계획: 62줄 ← Phase 1-19 전체 이력
...

최적화 전략

  1. Phase 1-14 아카이빙

    • ARCHIVE.md 생성 (191줄)
    • 완료된 Phase를 별도 문서로 분리
    • 개선 계획: 62줄 → 13줄 (49줄 감소)
  2. 폴더 구조 간소화

    • 상세 주석 제거, 핵심만 표시
    • 71줄 → 29줄 (42줄 감소)
  3. 핵심 설계 결정 압축

    • 구현 상세는 scripts/*.py 주석으로 이관
    • Phase 18: 32줄 → 9줄
    • Phase 15: 31줄 → 11줄
  4. Tool Calls 효율성 원칙 추가

    • 새 섹션으로 이번 학습 내용 문서화
    • 다음 세션에서도 이 원칙 유지

After

CLAUDE.md: 608줄 → 527줄 (81줄 감소, 13% 감소)
토큰 추정: ~8,000 → ~6,000 (~2,000 절감)
컨텍스트 비율: 20% → 15% (-5%p)

교훈: AI와의 효율적인 대화

1. 질문 의도를 명확히

"확인해줘" = 상태 체크만 (2-3개 tool calls)
"분석해줘" = 구조 파악 (3-5개)
"처리해줘" = 실제 작업 (5-10개)

2. 컨텍스트 관리도 최적화 대상

  • 프로젝트 문서도 주기적으로 다이어트
  • 현재 필요한 정보 vs 과거 기록 분리
  • 200줄 제한 있는 MEMORY.md보다 CLAUDE.md 활용

3. 메타인지가 중요

"AI가 뭔가 많이 하는 것 같은데?" → 체크!
47% 컨텍스트 소비 → 원인 분석 → 개선


다음 세션을 위한 메모

이제 CLAUDE.md에 "Tool Calls 효율성" 섹션이 추가되었으니, 다음 세션에서도:

  • 질문 유형별 적정 tool calls 수 확인
  • 불필요한 검증 지양
  • 병렬 실행 적극 활용

AI와의 대화도 효율이 필요하다는 걸 오늘 배웠습니다. 🎯


P.S. 이 블로그 글을 작성하는 데는 6개의 tool calls만 사용했습니다. 처음보다 7개 적네요. 😎