AI 코딩 에이전트의 토큰, 새는 곳을 들여다보니 — 숨은 낭비 18곳 이야기
분명 이번 달엔 뭐 대단한 프로젝트를 돌린 것도 아닌데, 월말에 날아온 AI API 청구서 금액을 보고 두 눈을 의심했다(내 카드가 해외에서 도난당한 줄 알았다). 딱히 긴 코드를 짠 기억도 없는데 도대체 내 토큰은 어디로 증발한 걸까?
어제 r/ClaudeCode에 바로 이 의문을 정면으로 파헤친 레전드 분석 글이 올라왔다. 작성자는 Claude Code, Codex, Cursor 등으로 수백 개의 에이전트 세션을 굴리면서, 중간에 로컬 프록시를 물려 모델로 오가는 날것의 원시(Raw) API 페이로드를 모조리 캡처해 로깅했다. 그리고 그 빅데이터를 탈탈 털어보니, 사용자 몰래 토큰을 야금야금 갉아먹고 있던 ‘숨은 누수 지점’이 자그마치 18곳이나 발견됐다는 거다.
단순 뇌피셜이나 뜬구름 잡는 이론이 아니다. 실제 청구서에 찍힌 바이트 단위의 데이터를 까발린 결과라 파급력이 어마어마하다(레딧 댓글 창도 집단 멘붕에 빠졌다).
조용히 쌓이는 것들
글쓴이가 짚어낸 낭비 목록을 보면, 화려한 버그가 아니라 “설마 이것 때문에?” 싶은 사소한 설정들이 대부분이다.
가장 충격적인 건 ‘방치된 MCP 서버’였다.
설정 파일에 등록만 해두고 이번 작업에선 쓰지도 않는 MCP 서버가 있다면, 그 서버의 도구 스키마(Tool Schema) 텍스트가 매 턴마다 프롬프트에 자동으로 실려 나간다. 안 쓰는 MCP 서버가 5개만 켜져 있어도 요청 한 번 보낼 때마다 15k(1만 5천) 토큰이 그냥 허공으로 날아간다. 세션 수십 개를 굴리는 개발자라면 하루에 수십만 토큰을 ‘안 쓰는 도구 설명서 읽히는 데’ 태우고 있었던 셈이다(돈 아까워 죽겠다).
두 번째는 ‘프롬프트 캐시의 허탈한 증발’이다.
요즘 Anthropic 등 주요 LLM은 입력 프롬프트 캐시 히트(Cache Hit) 시 최대 90%까지 요금을 깎아준다. 그런데 세션이 한참 진행 중일 때 CLAUDE.md나 규칙 파일을 “어? 오타 났네” 하고 슬쩍 수정해 저장하는 순간, 앞서 쌓아둔 거대한 프롬프트 캐시가 전부 무효화(Invalidate)된다. 90% 할인이 날아가는 건 물론이고, 수만 토큰을 생돈 내고 다시 업로드해야 한다. 규칙 파일을 수시로 찔끔찔끔 고치는 습관이 통장을 갉아먹는 주범이었다.
세 번째는 ‘테스트 러너의 무식한 풀 로그’다.
유닛 테스트가 실패했을 때 터미널의 수백 줄짜리 스택 트레이스 원본을 그대로 에이전트에게 밀어 넣으면, 에이전트는 그 쓰레기 로그 속에서 에러 원인 2~3줄 찾겠다고 비싼 토큰을 태우며 끙끙댄다. 관련 실패 지점만 잘라주거나 요약해서 주입하는 것만으로 토큰을 80% 이상 아낄 수 있다.
마지막은 ‘생각(Thinking) 블록의 비대화’다.
모델이 실제로 수정한 코드는 고작 10줄인데, 지 혼자 속으로 고민한 thinking 블록이 3,000토큰을 넘기는 기현상이 비일비재하다. 모델이 일한 시간보다 멍때리고 고민한 비용이 5배는 더 비싼 꼴이다. 글쓴이가 정리한 18가지 낭비 포인트는 하나같이 “아차!” 싶지만 몇 줄 세팅만 바꾸면 즉시 해결되는 것들이었다.
같은 날, 같은 결론
재미있는 건 같은 날 r/ClaudeCode에 올라온 또 다른 글이다.
Chrome 확장 프로그램을 테스트하던 한 개발자가, 스크린샷 기반 멀티모달 에이전트를 돌리다가 기겁했다. 화면 캡처 한 번 뜰 때마다 7k(7천) 토큰씩 살살 녹아내렸던 것. 그래서 즉시 스크린샷 방식을 버리고, 헤드리스 브라우저를 터미널 명령어로 직접 쑤시는 ‘Playwright CLI’ 방식으로 파이프라인을 갈아엎었다.
결과는 대성공이었다. 토큰 소모량은 10분의 1로 급감했고, 눈으로 화면을 볼 필요가 없으니 버그 탐지와 패치 속도는 훨씬 더 빨라졌다.
두 글의 메시지는 하나로 통한다. 불필요하게 무거운 시각 데이터와 멍청한 컨텍스트 오염을 걷어내는 것이 에이전트 최적화의 전부라는 사실이다.
왜 이 시점에 주목해야 하나
코딩 에이전트가 개발자의 일상 도구로 자리 잡으면서, 이제 질문의 초점은 “이 녀석이 코드를 짤 줄 아느냐”에서 “내 월급을 얼마나 갉아먹느냐”로 옮겨왔다.
LLM 토큰 단가는 날이 갈수록 떨어지고 있지만, 에이전트가 스스로 판단하며 소비하는 컨텍스트 양은 기하급수적으로 폭증했다. 단가가 내려가면 뭐 하나, 쓰는 양이 100배로 뛰어서 청구서 금액은 오히려 늘어났는데(이것이 현대 AI의 아이러니).
이럴 때 필요한 건 비싼 신규 모델을 쫓아다니는 게 아니라, 내 파이프라인의 배관 어딘가에서 토큰이 줄줄 새고 있지 않은지 원시 페이로드를 까보는 일이다. 감(Feel)으로 때려잡지 말고 숫자로 확인해야 어디를 틀어막을지 견적이 나온다.
정리
수백 개 세션을 도청해 밝혀낸 토큰 다이어트 핵심 수칙을 딱 네 줄로 요약한다.
- 안 쓰는 MCP 서버는 설정 파일에서 가차 없이 지워라(스키마 텍스트도 돈이다).
- 작업 세션 중간에
CLAUDE.md나 프롬프트 파일을 건드리지 마라(캐시 할인 다 날아간다). - 테스트 실패 로그는 무식하게 통으로 던지지 말고 핵심만 잘라 줘라.
- 웹 UI 검증에 비싼 스크린샷 찍지 말고, Playwright CLI 같은 텍스트 기반 도구를 써라.
비용 최적화는 화려하지 않다. 수도꼭지 잠그듯 새는 구멍을 하나씩 틀어막는 지루한 노가다다. 하지만 그 구멍만 제대로 막아도 다음 달 청구서 숫자가 절반으로 줄어든다. 당장 오늘 퇴근 전에 내 에이전트 MCP 목록부터 열어보자(분명 안 쓰는 도구가 서너 개는 켜져 있을 거다).