
왜 어떤 개발자는 Claude Code를 쓰면서 가벼운 지갑을 걱정하고, 어떤 이는 놀라운 효율성으로 프로젝트를 끝내는 걸까. 단순히 운이 좋아서일까, 아니면 우리가 놓치고 있는 아주 작은 설정 하나가 비용의 격차를 만드는 걸까. API 비용이 눈덩이처럼 불어나는 경험을 했다면, 이제는 도구가 제공하는 기본값의 함정에서 벗어나야 할 때다.
기본 설정의 함정과 토큰 번(Token Burn)의 실체
Claude Code를 처음 설치하고 실행하면 그 놀라운 코딩 능력에 감탄하게 된다. 하지만 며칠 뒤 /cost 명령어를 입력했을 때 나타나는 숫자를 보면 당혹감이 밀려온다. 한 달에 100달러가 넘는 비용이 청구될 수 있다는 현실적인 경고가 괜히 나오는 것이 아니다. 문제는 Claude Code가 기본적으로 제공하는 Extended Thinking(확장 사고) 기능에 있다.
이 기능은 복잡한 추론을 위해 내부적으로 엄청난 양의 토큰을 사용한다. 기본 설정에서는 요청당 최대 31,999개의 출력 토큰을 내부 추론용으로 예약해두는데, 간단한 리팩토링이나 파일 읽기 작업에서도 이 거대한 엔진이 돌아가면 토큰 소모량은 기하급수적으로 늘어난다. 사실 대부분의 일상적인 코딩 작업은 이 정도의 ‘깊은 생각’이 필요하지 않다.
토큰 소모를 75% 절감하는 핵심 설정법
비용을 획기적으로 줄이는 방법은 의외로 간단하다. Claude Code의 설정 파일인 ~/.claude/settings.json을 직접 수정하여 모델의 행동 방식을 제어하는 것이다. 가장 효과적인 전략은 메인 모델은 Sonnet으로 유지하되, 보조 작업을 수행하는 서브에이전트 모델을 Haiku로 변경하고, 확장 사고의 상한선을 낮추는 것이다.
먼저 터미널에서 설정 파일을 열어 다음과 같이 구성해 보자. MAX_THINKING_TOKENS 값을 10,000 정도로 낮추는 것만으로도 숨겨진 비용의 상당 부분을 걷어낼 수 있다.
{
"model": "sonnet",
"env": {
"MAX_THINKING_TOKENS": "10000",
"CLAUDE_CODE_SUBAGENT_MODEL": "haiku"
}
}
여기서 CLAUDE_CODE_SUBAGENT_MODEL을 Haiku로 설정하는 것이 신의 한 수다. 파일 탐색, 단순한 테스트 실행, 코드 읽기 같은 보조 작업(Task tool)을 Haiku가 담당하게 하면, Sonnet을 사용할 때보다 약 80% 저렴한 비용으로 동일한 효율을 낼 수 있다. 복잡한 아키텍처 설계가 필요할 때만 /model opus 명령어로 일시적으로 모델을 전환하는 유연함이 필요하다.
실전 적용 순서와 비용 모니터링
설정을 적용하고 실제로 비용이 얼마나 절감되는지 확인하는 과정은 다음과 같다. 단순히 설정만 바꾸는 것이 아니라, 작업 흐름 자체를 최적화하는 습관이 병행되어야 한다.
~/.claude/settings.json경로의 파일을 생성하거나 수정하여 위에서 언급한 JSON 설정을 저장한다.- Claude Code를 재시작한 뒤,
Alt+T(Windows/Linux) 또는Option+T(macOS)를 눌러 확장 사고 기능을 필요에 따라 켜고 끈다. - 작업 중간에
/cost명령어를 입력하여 현재 세션의 예상 비용과 토큰 사용량을 실시간으로 체크한다. - 서로 다른 맥락의 작업을 시작할 때는 반드시
/clear명령어를 사용하여 이전 컨텍스트가 계속해서 토큰을 갉아먹는 것을 방지한다.
만약 설정을 변경했는데도 토큰 소모가 줄지 않거나, CLAUDE_AUTOCOMPACT_PCT_OVERRIDE 같은 커뮤니티 설정값을 적용했다가 예상치 못한 동작(너무 잦은 컴팩션 등)이 발생한다면, 해당 오버라이드 설정을 제거하고 기본 수동 /compact 명령어를 사용하는 것이 안전하다.
예상치 못한 에러와 대처법
최신 모델인 Claude Opus 4.7 이상을 사용할 때 주의할 점이 있다. 이전 모델에서는 budget_tokens를 직접 지정하는 수동 확장 사고 방식이 통했지만, 최신 버전에서는 이 방식이 더 이상 지원되지 않는다. 만약 API 요청 시 400 Error가 발생한다면, 이는 수동 설정이 거부되었기 때문일 가능성이 크다.
이 경우 해결책은 thinking: {type: "adaptive"} 설정을 사용하는 것이다. 최신 모델은 스스로 필요한 사고량을 결정하는 ‘적응형 사고’ 방식을 권장하며, 사용자는 effort 파라미터를 통해 그 강도를 조절해야 한다. 도구의 버전이 올라감에 따라 설정 문법이 변하므로, 에러 메시지에 “manual extended thinking is no longer supported”라는 문구가 보인다면 즉시 적응형 설정으로 전환해야 한다.
더 효율적인 AI 협업을 위하여
결국 AI 도구를 잘 쓴다는 것은 성능과 비용 사이의 최적의 균형점을 찾는 과정이다. 무조건 가장 똑똑한 모델(Opus)을 쓰고 모든 사고 과정을 열어두는 것이 정답은 아니다. 단순한 작업은 Haiku에게, 일상적인 구현은 Sonnet에게, 그리고 정말 풀리지 않는 난제에만 Opus의 깊은 사고를 허용하는 전략적 배분이 필요하다.
이번 최적화를 통해 토큰 사용량을 75%나 줄일 수 있었다는 점은, 우리가 도구의 기본 설정에 얼마나 의존하고 있었는지를 보여준다. 이제 여러분의 settings.json은 어떻게 구성되어 있는가? 혹시 나도 모르게 ‘과잉 사고’에 비용을 지불하고 있었던 것은 아닐까.