같은 모델, 같은 작업, 같은 한 줄짜리 대답. 그런데 요청 하나가 시작되는 순간 이미 토큰 사용량이 갈립니다. Claude Code는 사용자가 입력한 프롬프트가 도착하기도 전에 약 3만 3천 토큰을 씁니다. 경쟁 CLI 도구인 OpenCode는 같은 시점에 7천 토큰이면 충분합니다.

AI 인프라 리서치 업체 Systima가 Claude Code와 OpenCode 사이에 로깅 프록시를 심어, 두 도구가 모델 서버로 실제로 무엇을 보내는지 그대로 캡처했습니다. 같은 컴퓨터, 같은 모델(Claude Sonnet 4.5), 같은 작업을 시켜놓고 오간 요청과 응답의 토큰 구성을 하나하나 뜯어본 겁니다. 결과는 단순한 “어느 쪽이 비싸다”가 아니라, 왜 그런 차이가 나는지, 그리고 항상 한쪽이 불리한 것도 아니라는 점까지 보여줍니다.
출처: Claude Code Sends 4.7x More Tokens Than OpenCode Before Reading Your Prompt – Systima
시작부터 벌어지는 격차
Systima는 두 도구에 “정확히 OK라고만 답하라”는 22자짜리 지시만 내려봤습니다. 사용자가 실제로 입력한 내용은 22자가 전부인데, 그 앞에 얼마나 많은 토큰이 따라붙는지를 보려는 의도였죠.
Claude Code는 시스템 프롬프트만 2만 7천 자, 3개 블록으로 구성돼 있었습니다. 여기에 27개 도구의 스키마가 약 10만 자를 차지하고, 대화가 시작되기 전에 삽입되는 <system-reminder> 블록이 8천 자 더 붙습니다. 반면 OpenCode는 시스템 프롬프트 하나(9천 자 남짓)에 도구 10개(약 2만 1천 자)가 전부입니다. 계산해보면 Claude Code는 첫 턴에 약 3만 2,800토큰, OpenCode는 약 6,900토큰. 4.7배 차이입니다.
도구를 아예 꺼도 격차는 사라지지 않습니다. 도구 스키마를 다 걷어낸 순수 시스템 프롬프트만 비교해도 Claude Code(약 6,500토큰)가 OpenCode(약 2,000토큰)보다 세 배 이상 큽니다. 남은 건 어조 규칙, 안전 지침, 작업 관리 방식 같은 ‘행동 원칙’ 자체의 분량 차이입니다.
같은 “OK” 한마디에 대해 두 도구가 실제로 보낸 첫 턴 요청을 항목별로 나누면 이렇습니다.
| 구성 요소 | Claude Code | OpenCode |
|---|---|---|
| 시스템 프롬프트 | 27,344자 (3개 블록) | 9,324자 (1개 블록) |
| 도구 스키마 | 27개 도구, 99,778자 | 10개 도구, 20,856자 |
| 대화 전 삽입 블록 | 7,997자 (system-reminder) | 없음 |
| 첫 턴 토큰 환산 | 약 32,800토큰 | 약 6,900토큰 |
캐시를 쓰는 방식도 다릅니다
두 도구가 프롬프트 캐싱을 다루는 방식도 갈립니다. OpenCode는 매 실행마다 요청 앞부분이 바이트 단위로 똑같아서, 세션당 한 번만 캐시에 기록하고 이후에는 저렴하게 읽어옵니다.
Claude Code는 세션 도중에도 수만 토큰 단위의 캐시를 반복해서 다시 씁니다. 같은 작업에서 OpenCode보다 최대 54배 많은 캐시 쓰기가 발생한 경우도 있었습니다. 캐시 쓰기는 일반 입력보다 비싼 요금이 매겨지기 때문에, 이 차이가 실제 사용량 대시보드에 그대로 반영됩니다.
설정 파일과 MCP 서버가 얹는 무게
실제 작업 환경을 흉내 내면 격차는 더 벌어집니다. 72KB짜리 실제 프로젝트 지침 파일(AGENTS.md 또는 CLAUDE.md)을 넣었더니 두 도구 모두 요청당 2만 토큰씩 늘었습니다. 여기에 MCP 서버 다섯 개를 붙이면 5천~7천 토큰이 추가됩니다. 실제로 쓰는 구성 그대로라면, 사용자가 한 글자도 입력하기 전에 이미 7만 5천에서 8만 5천 토큰을 소비한 상태로 요청이 시작되는 셈입니다.
흥미로운 지점은 두 도구가 지침 파일을 처리하는 방식이 다르다는 겁니다. Claude Code 2.1.207 버전은 AGENTS.md라는 파일명은 아예 무시하고 CLAUDE.md로 이름을 바꿔야만 인식했습니다. OpenCode는 두 파일명 모두 읽습니다. 지침 파일을 넣었는데도 반영이 안 된다면, 파일명부터 확인해볼 문제라는 뜻입니다.
서브에이전트로 나누면 비용이 곱절로 뜁니다
가장 큰 배율은 서브에이전트에서 나왔습니다. 같은 작업을 하나의 에이전트가 직접 처리하면 약 12만 1천 토큰이 들었는데, 이 작업을 서브에이전트 두 개로 나눠 맡기자 51만 3천 토큰까지 뛰었습니다. 4배 이상입니다.
이유는 구조에 있습니다. 서브에이전트 하나하나가 독립된 에이전트라서, 자기 턴마다 자신의 시스템 프롬프트와 도구 목록을 처음부터 다시 읽습니다. 부모 에이전트는 서브에이전트가 돌려준 결과만 받아들이지 전체 대화 기록을 다 흡수하진 않지만, 서브에이전트 자체의 반복 비용은 고스란히 쌓입니다. 위임은 강력한 도구지만, 이번 조사에서 측정된 배율 중 가장 컸습니다.
항상 Claude Code가 불리하지는 않았습니다
다만 예외도 있었습니다. 파일을 쓰고, 실행하고, 테스트하고, 고치는 다단계 작업에서는 Claude Code의 총 토큰량이 오히려 더 낮게 나왔습니다. 이 도구가 여러 작업을 한 번의 요청에 병렬로 묶어 보내는 반면, OpenCode는 매 턴마다 도구 호출을 하나씩 순차로 보내며 작은 기본 비용을 계속 반복해서 치렀기 때문입니다. 시작할 때는 Claude Code가 훨씬 더 무겁지만, 세션이 몇 번의 턴으로 이어지느냐에 따라 최종 비용의 우열이 갈릴 수 있다는 뜻입니다.
다만 이 결과는 모델에 따라 달라졌습니다. 같은 실험을 최신 모델인 Claude Fable 5로 재실행하자, 배치 처리의 이점이 사라지고 Claude Code가 여섯 번의 요청 끝에 약 29만 8천 토큰을 쓴 반면 OpenCode는 13만 3천 토큰에 그쳤습니다. 배치 우위는 도구 자체의 고정된 특성이 아니라 모델의 행동 방식에 달려 있었던 셈입니다.

답글 남기기