Claude Code 세션, 왜 같은 작업인데 비용이 다를까

김팔복 2026. 8. 17. 오후 8:04:34
조회 18 추천 0 댓글 0

출처: Anthropic 공식 블로그 (Lydia Hallie)
원문: https://claude.com/blog/maximizing-the-value-of-your-claude-code-sessions
원문 발행일: 2026-08-14
작성자: 팔복소프트-김팔복

한눈에 보기

  • Claude Code는 매 턴마다 대화 전체를 다시 보내므로, 세션 비용은 "컨텍스트에 무엇이 얼마나 오래 남아 있느냐"로 결정됩니다.
  • 프롬프트 캐시 덕분에 이전 대화 재전송은 입력 단가의 0.1배로 처리되지만, 캐시가 깨지면 전체가 정가로 다시 계산됩니다.
  • 대화 중간에 /model, /effort, fast mode를 바꾸면 캐시가 통째로 무효화됩니다. 바꾸려면 세션 시작 직후나 /clear 직후가 좋습니다.
  • 캐시는 구독 기준 1시간, API 키 기준 5분 뒤 만료됩니다. 자리를 비우기 전에 /compact를 하는 편이 훨씬 쌉니다.
  • 파일은 경로를 타이핑하지 말고 @로 첨부하면 Read 호출 한 번을 아낍니다.
  • 테스트 러너처럼 출력이 많은 명령은 조용한 플래그를 붙이거나 서브에이전트에서 돌리는 것이 좋습니다.
  • 작업이 바뀌면 /clear, 같은 작업의 앞부분이 끝났으면 /compact, 최근 몇 턴만 버리고 싶으면 /rewind가 가장 저렴합니다.
  • 새 세션에서 /context를 한 번 실행하면 CLAUDE.md와 MCP 도구 정의가 얼마나 자리를 차지하는지 확인할 수 있습니다.

배경

에디터나 IDE는 하루에 몇 번을 쓰든 요금이 같았습니다. 반면 Claude Code 같은 에이전트형 코딩 도구는 모델 추론 시간에 대해 토큰 단위로 비용이 발생하고, 구독제라도 같은 요청이 사용량 한도를 깎아 먹습니다. 그래서 "어떻게 시키느냐"에 따라 같은 결과물의 비용이 달라집니다. Anthropic이 이번에 낸 글은 그 비용 구조를 GPU 처리 단계와 프롬프트 캐시 관점에서 풀어 설명한 것입니다.

주요 내용

토큰 하나의 가격을 정하는 세 가지

원문은 토큰 단가를 결정하는 요인을 모델 크기, 입력/출력 여부, 캐시 여부 세 가지로 정리합니다.

요인 설명 실무 포인트
모델 큰 모델일수록 입력·출력 모두 비쌈 어려운 문제에만 큰 모델, 반복 작업은 작은 모델
입력 vs 출력 출력(디코딩)은 토큰을 하나씩 생성하므로 입력의 약 5배 사고(thinking) 토큰도 출력이며 /effort가 양을 조절
캐시 캐시 읽기는 입력 단가의 0.1배, 쓰기는 최대 2배 캐시를 깨는 행동을 피하는 것이 핵심

MAX_THINKING_TOKENS=0 claude로 한 세션의 사고를 아예 끌 수도 있는데(Fable 5 제외), 이는 /effort low보다 한 단계 아래입니다.

한 번의 수정에 요청은 다섯 번

"utils.test.ts의 실패하는 테스트를 고쳐줘" 한 줄을 처리하는 동안 Claude Code는 파일 읽기, 대상 파일 읽기, 편집, 테스트 실행, 요약까지 다섯 번 요청을 보냅니다. 각 요청에는 그 시점까지의 대화 전체가 실립니다. 다만 캐시 덕분에 매번 정가로 계산되는 부분은 그 턴에 새로 추가된 내용뿐입니다. 즉 한 턴의 청구서는 "이전 대화 캐시 읽기 + 새 내용 입력 정가 + 응답 출력"입니다.

캐시를 깨는 행동

캐시는 요청의 맨 앞(도구 정의 → 시스템 프롬프트 → CLAUDE.md → 대화)부터 정확히 일치해야 합니다. 앞쪽이 바뀌면 그 뒤가 전부 재계산됩니다.

  • /model 전환: 모델별로 캐시가 따로 있어 대화 전체를 다시 채웁니다. plan 모드를 드나들 때 모델이 바뀌는 opusplan도 마찬가지입니다.
  • /effort 변경: effort도 캐시 키의 일부입니다.
  • fast mode: 켜면 재계산이 fast mode 단가로 이뤄지므로 켤 거면 세션 시작 때 켜야 합니다. 끄는 건 캐시 비용이 없습니다.
  • /compact: 대화가 새 요약으로 바뀌므로 대화 부분 캐시는 사라집니다. 다만 요약 생성 자체는 기존 대화가 캐시에 있을 때 훨씬 쌉니다.
  • 시간 경과: 구독은 1시간, API 키는 5분(ENABLE_PROMPT_CACHING_1H=1로 1시간까지 연장) 뒤 만료됩니다. 오래된 세션 재개는 사실상 항상 전체 재계산입니다.
    최근 몇 턴만 잘못 갔다면 /compact 대신 /rewind가 낫습니다. 끝부분만 잘라내므로 앞의 캐시가 그대로 살아 있고 비용이 들지 않습니다.

컨텍스트에 무엇이 쌓이는가

세션 비용의 나머지 절반은 "컨텍스트에 얼마나 많은 토큰이, 몇 턴 동안 남는가"입니다. 시작 시 로드되는 도구 정의·시스템 프롬프트·CLAUDE.md 외에 세션 중 쌓이는 것은 대부분 파일 내용과 명령 출력입니다.

  • 모호한 지시("테스트가 깨졌어")는 grep과 탐색 파일 읽기를 유발하고, 그 결과가 세션 끝까지 남습니다. 파일명을 지목하면 Read 한 번, @로 첨부하면 그마저 없습니다. 같은 파일을 나중에 다시 @하면 사본이 하나 더 붙으니 한 번만 하면 됩니다.
  • 명령 출력이 30,000자를 넘으면 파일로 저장되고 미리보기만 대화에 들어갑니다(BASH_MAX_OUTPUT_LENGTH로 조정). 문제는 그 이하인 경우인데, 400개 테스트가 한 줄씩 통과하는 출력은 그대로 컨텍스트에 남습니다. 자주 쓰는 명령을 조용한 플래그와 함께 CLAUDE.md에 적어두라는 것이 원문의 제안입니다.
  • 워크플로우별 지침은 CLAUDE.md 대신 필요할 때만 로드되는 skill로 옮기고, 이번 세션에 안 쓰는 MCP 서버는 /mcp로 끄라고 권합니다.
  • /loop은 설정한 세션의 대화 전체를 매번 끌고 다니므로 별도 터미널의 새 세션에서 돌리는 것이 좋습니다.

서브에이전트

서브에이전트는 자기만의 컨텍스트 창을 갖고, 결과만 메인 세션으로 돌려줍니다. 로그 분석처럼 출력은 많지만 보관할 필요는 없는 작업에 유리합니다. 대신 메인 세션의 대화를 모르기 때문에 이미 읽은 파일을 다시 읽을 수 있고, 작은 작업에는 오히려 오버헤드입니다. 반복되는 노이즈 작업은 model: haiku 같은 지정을 붙인 서브에이전트 정의를 만들어두라고 안내합니다.

팔복소프트 관점

  • 이 글은 Claude Code 사용법 팁처럼 보이지만, 본질은 "에이전트형 도구의 비용은 컨텍스트 관리 능력이 결정한다"는 이야기입니다. Cursor나 GitHub Copilot 같은 도구도 내부적으로 비슷한 구조로 동작하므로, 여기서 익힌 습관은 도구를 바꿔도 대부분 유효합니다.
  • 국내 팀 기준으로 가장 체감이 클 부분은 캐시 만료 시간입니다. 회의 다녀오고, 점심 먹고 돌아와서 세션을 이어가는 패턴이 흔한데, 그때마다 전체 재계산이 일어납니다. 자리 비우기 전 /compact, 돌아와서 필요하면 /clear 후 새 작업이라는 리듬을 팀 규칙으로 정할 만합니다.
  • CLAUDE.md를 한국어로 길게 쓰는 팀이 많은데, 한국어는 같은 내용이라도 영어보다 토큰을 더 많이 쓰는 경향이 있습니다(원문에 없는 편집자 판단). 매 턴 재전송되는 위치인 만큼, 반드시 필요한 지침만 남기고 나머지는 skill로 분리하는 것이 국내 환경에서는 더 큰 효과를 냅니다.
  • 사내 Jira·Confluence·Slack MCP를 여러 개 연결해두는 조직에서는 도구 정의만으로 시작 컨텍스트가 상당히 커집니다. /context로 한 번 확인해보고 세션별로 끄는 습관이 필요합니다.
  • 아쉬운 점은 이런 최적화가 전부 사용자 몫이라는 겁니다. 캐시 무효화 시점을 UI에서 더 명확히 경고하거나 자동으로 관리해줬으면 좋겠지만, 현재는 사용자가 구조를 이해하고 피해야 합니다. 신규 입사자나 비개발 직군에게 Claude Code를 넓게 풀려는 팀이라면 이 글 내용을 온보딩 자료로 압축해 두는 것을 권합니다.

정리

기억할 것은 세 가지입니다. 대화에 들어간 것은 세션이 끝날 때까지 매 턴 다시 전송된다는 것, 캐시는 요청 앞부분을 건드리거나 1시간(API 5분)이 지나면 깨진다는 것, 그리고 /clear·/compact·/rewind·@·서브에이전트가 각각 어떤 상황에서 가장 싼 선택인지입니다. 이 구조를 이해하면 토큰을 덜 쓰는 게 아니라, 쓴 토큰이 실제 작업에 가도록 만들 수 있습니다.


  • Claude Code
  • 프롬프트 캐싱
  • 에이전트 코딩
  • 개발 생산성
  • Anthropic

댓글 0

아직 댓글이 없습니다.