# 스포티파이 엔지니어가 Claude Code의 토큰 소비를 약 90% 절감한 방법은?

> https://bookfactory.kr/c/news/11315
> 게시판: 뉴스
> 작성자: tachikoma43
> 작성일: 2026-09-12T08:41:49.377Z

---

음악 스트리밍 서비스 Spotify가 Claude Code에서 대량의 토큰을 소비하는 단순 작업을 다른 AI 모델에 맡김으로써 토큰 소비를 대폭 절감하는 기법을 공개했습니다. Spotify의 디미트리 마즈마노프 씨는 이 기법을 검증한 결과, 대량의 파일 읽기를 위임하는 테스트에서 Claude 측의 토큰 소비를 평균 약 90% 절감할 수 있었다고 보고했습니다.
Portal by Spotify cut my Claude Code token usage by 90% | Spotify Engineering
https://engineering.atspotify.com/2026/9/portal-by-spotify-cut-my-claude-code-token-usage-by-90
Spotify Claude Agent SDK case study | Claude by Anthropic
https://claude.com/customers/spotify
AI 코딩 에이전트는 어떤 메서드에 대해 답하기 위해 5개의 파일을 읽거나, 기존의 20개 테스트와 같은 형식으로 새로운 테스트를 작성하는 등의 처리에서 많은 토큰을 소비합니다. 마즈마노프 씨는 이러한 작업의 대부분은 고도의 추론이 아니라 단순한 입출력(I/O)이며, 모든 것을 성능이 높은 모델에 맡길 필요는 없다고 생각했습니다.

이에 마즈마노프 씨가 활용한 것이 Spotify의 개발자용 플랫폼 'Portal by Spotify'에 탑재된 'AiKA Modes'입니다. AiKA Modes에서는 AI에 부여하는 지시와 사용하는 모델, temperature 등의 파라미터, 이용 가능한 MCP 도구 등을 선언적으로 설정할 수 있으며, 설정한 내용을 하나의 에이전트로서 Portal CLI나 API에서 호출할 수 있습니다. 실행 환경은 일시적으로 생성되므로 상시 가동되는 에이전트용 서버를 별도로 준비할 필요도 없습니다. 마즈마노프 씨는 이 구조를 이용해 'bulk-reader'와 'code-writer'라는 두 가지 모드를 준비했습니다. 또한 두 모드 모두 Claude보다 경량인 작업용 모델로 Gemini 2.5 Flash를 지정하고 있습니다. 단, 반드시 Gemini 2.5 Flash여야 하는 것은 아니며, Portal에서 설정된 다른 모델로 교체할 수도 있다고 합니다. 'bulk-reader'의 역할은 Claude를 대신해 큰 파일을 읽는 것입니다. 예를 들어, Claude Code가 여러 개의 큰 소스 파일을 조사해야 하는 경우, 파일 자체를 Claude의 컨텍스트에 넣는 것이 아니라 bulk-reader에 파일과 질문을 전달합니다. 그리고 bulk-reader는 파일을 읽고, 질문에 대한 답변에 필요한 정보만을 간결하게 정리해 Claude에 반환합니다. 즉, 수천 줄의 소스 코드가 아니라 그중에서 추출된 짧은 요약만을 Claude에 읽게 함으로써 Claude 측의 입력 토큰을 줄이는 구조입니다.

반면 “code-writer”는 bulk-reader와는 반대로, 대량의 코드를 “출력”하는 작업을 Claude로부터 분리하기 위한 구조입니다. 테스트 코드나 설정 파일의 템플릿, 타입 정의 등 기존 코드의 패턴을 모방하면 만들 수 있는 것에 대해서는, Claude가 사양과 참고 파일을 작업용 모델에 전달하여 코드를 생성하게 합니다. 작업용 모델이 생성한 코드는 파일에 직접 쓸 수도 있기 때문에, 그 경우에는 Claude가 생성된 코드를 받을 필요조차 없습니다. 또한 참고 파일의 지정을 필수로 하고 있는 것도 포인트이며, 작업용 모델이 프로젝트와 무관한 범용적인 코드를 생성하는 것이 아니라 기존 코드의 명명 규칙이나 작성 방식에 맞춘 코드를 생성하도록 하고 있습니다.

다만, Claude에게 “간단한 작업이면 다른 모델에 맡겨라”고 지시하는 것만으로는 이 구조가 안정적으로 동작하지 않았다고 합니다. 마즈마노프 씨는 당초 각 프로젝트의 “CLAUDE.md”에 분배 규칙을 작성했습니다. 그러나 CLAUDE.md의 내용은 어디까지나 지시에 불과하기 때문에 Claude가 따르지 않는 경우가 있었고, 게다가 프로젝트마다 동일한 규칙을 준비할 필요도 있었다고 합니다. 그래서 “shunt”라는 Claude Code 플러그인으로 분배를 강제하는 방법을 채택하고 있습니다. “shunt”는 Claude Code의 “PreToolUse” 후크를 이용하여, Claude가 도구를 실행하기 직전에 처리를 체크합니다. 예를 들어, Claude가 Read 도구로 파일을 열려고 한 경우, shunt는 기본적으로 350행을 초과하는 파일 읽기를 차단하고, bulk-reader를 사용하도록 Claude에게 지시합니다. Linux나 macOS 등에서 파일 내용을 보기 위해 사용되는 “cat”, “head”, “tail”, “less”, “more”와 같은 명령어로 큰 파일을 읽는 동작도 마찬가지로 감지합니다. 반면, Claude가 읽어야 할 부분을 이미 파악하고 있어 그 부분만 지정해서 읽는 경우나, “cat file | grep”처럼 내용을 좁혀서 읽는 경우는 그대로 허용됩니다. 마즈마노프 씨 기법의 포인트는 “Claude에게 읽혀야 할 정보”와 “Claude에게 읽히지 않아도 되는 정보”를 기계적으로 나누는 데 있습니다. 구체적으로는, 후크가 불필요하게 큰 파일 읽기를 막고, Claude Code의 Skill이 작업용 모델의 호출 방법을 Claude에게 알려주며, 셸 스크립트가 Portal CLI를 통해 작업용 모델을 실제로 호출한다는 역할 분담으로 이루어져 있습니다. Claude가 Skill을 제대로 참조하지 못한 경우에도, 후크 자체는 큰 파일 읽기를 저지하기 때문에 단순한 프롬프트에 의한 지시보다 확실하게 토큰 소비를 억제할 수 있습니다. 또한, 작업용 모델에 전달한 대량의 소스 코드는 Claude의 컨텍스트에 들어가지 않습니다. bulk-reader 호출은 매번 독립적이어서 서버 측에서 대화 상태를 유지하지 않기 때문에, 같은 파일을 다시 전송해야 할 필요가 생기는 경우도 있지만, 그 대량의 토큰을 처리하는 것은 작업용 모델입니다. Claude가 받는 것은 답변뿐이므로, Claude 측 컨텍스트를 대량의 소스 코드로 채우지 않아도 된다는 것입니다.

마즈마노프 씨는 Java 모노레포를 사용해 4가지 시나리오에서 Claude가 파일을 직접 읽는 경우와 bulk-reader의 요약을 읽는 경우를 비교했습니다. 그 결과, bulk-reader를 이용한 경우 Claude 측의 토큰 소비를 평균 약 90% 절감할 수 있었다고 합니다. 한편, code-writer에 대해서는, 일반적으로는 Claude가 참조 파일을 읽는 입력 토큰과 코드를 작성하는 출력 토큰이 모두 발생하는 반면, 위임 시 파일에 직접 기록하는 경우에는 생성된 코드가 Claude를 전혀 거치지 않기 때문에 단순한 토큰 수 비교가 어렵다고 설명합니다. 물론, 무엇이든 다른 모델에 맡기면 좋은 것은 아닙니다. 마즈마노프 씨의 검증에서는 경량 작업용 모델이 표면적인 코드 패턴은 찾아낼 수 있었지만, 스레드 안전성과 관련된 문제를 놓친 사례도 있었습니다. 이에 따라 디버깅이나 아키텍처상의 판단, 안전성이 중요한 코드 작성 등 고도의 추론이 필요한 작업은 Claude에 맡기는 방침입니다. 또한, 다른 모델 호출에는 보통 10초~30초 정도 걸리기 때문에 작은 파일에서는 위임하지 않도록 일정한 임계값을 설정하고 있습니다. Spotify는 Claude 자체의 이용을 줄이려는 것이 아닙니다. Spotify에서는 별도의 노력으로 대규모 코드 변경 기반 “Fleet Management”에 Claude Agent SDK를 통합하고, 여러 리포지토리에 걸친 코드 마이그레이션에도 Claude를 활용하고 있습니다. Anthropic에 따르면, Spotify의 백그라운드에서 동작하는 코딩 에이전트는 매월 650건 이상의 풀 리퀘스트를 생성하고 있으며, 복잡한 코드 마이그레이션에 필요한 엔지니어의 작업 시간을 최대 90% 단축했다고 합니다.

[원문 보기](https://gigazine.net/news/20260912-spotify-cut-claude-code-token-usage/) | 출처: Gigazine