Claude Code에서 비용을 낮추는 요령이 돌고 있습니다. 시스템 프롬프트, 도구 설명, 로그, 과거 대화와 같이 부피가 큰 컨텍스트(context)를 텍스트가 아닌 글자를 채운 PNG 이미지로 보내는 방법입니다. 이미지는 안에 어떤 문자가 들어있든 픽셀 크기로 과금되기 때문에, 작은 글자로 채운 이미지가 같은 내용의 텍스트보다 훨씬 적은 토큰으로 처리할 수 있습니다.
오픈 소스 프록시 pxpipe가 바로 이 기능을 수행하며, 비용이 59~70% 감소했다고 발표했습니다. README에도 정확한 값은 달라질 수 있다고 솔직하게 명시되어 있습니다. 그래서 양면을 독립적으로 측정해 보았습니다. 토큰이 실제로 얼마나 줄어드는지, 그리고 모델이 내용을 얼마나 정확하게 읽어낼 수 있는지에 대한 테스트입니다.
- 문서 6개(10,600~23,200자): 자체 기사의 영어/한국어/일본어 버전, JavaScript 코드, 생성된 JSON의 API 응답, 생성된 230줄의 서버 로그
- 각 문서에 '티켓 T123의 빌드 해시는 3f9a1c7e02bd, 타임아웃은 19043 ms'와 같은 줄을 5개 삽입했습니다. JSON과 로그에서는 원래 있던 레코드 5건도 질문했습니다.
- 전송 방법 3가지: 텍스트 그대로, pxpipe가 실제로 만드는 형태(이미지 + 정확한 식별자를 모은 '팩트시트'), 이미지만
- Claude Haiku 5.5, Sonnet 5.5, Opus 5.5, Fable 5.1을 Claude Code로 각 2회씩, 총 144회에 걸쳐 완전 일치로 채점했습니다.
- 시스템 프롬프트: 문서에 있는 것만 답하고, 확신이 없으면 null
| 문서 | 텍스트 | pxpipe 이미지 | 변화 |
|---|
| 영어 기사 | 5,870 | 2,100 | -64% |
| ... | | | |
| (Opus 5.5. Haiku와 Sonnet도 몇 토큰 차이로 동일했습니다. Fable용으로 더 밀집된 배치를 사용했을 때는 -68~-81%였습니다.) | | | |
텍스트로 보낼 때 토큰을 많이 사용하는 언어일수록, 이미지를 했을 때의 절감 폭이 커졌습니다. 일본어와 한국어가 크게 줄었습니다.
텍스트로 보내면 4개 모델 모두 모든 항목에서 정답했습니다. pxpipe를 거치면 다음과 같습니다.
| 모델 | 삽입된 해시 | 삽입된 숫자 | JSON/로그 내 원래 ID |
|---|
| Haiku 5.5 | 21/60 | 22/60 | 0/20 |
| ... | | | |
눈에 띄는 점은 세 가지입니다.
- 해시는 이미지가 아니라 팩트시트 덕분에 맞았습니다. 삽입된 해시는 모두 pxpipe의 텍스트 목록에 있었습니다. 로그에는 ID가 235개가 있었지만, 목록에 들어간 것은 94개뿐이었고, 빠진 ID는 4개 모델 합쳐서 80번 중 단 한 번도 읽어내지 못했습니다.
- 숫자가 약점이었습니다. 가장 좋았던 Opus 5.5에서도 60개 중 44개였고, 한국어 기사에서는 10개 중 3개였습니다.
- 실수가 가장 많았습니다. '확신이 없으면 null'이라고 지시했음에도 불구하고, 94392를 9392로 읽거나, 문서에 없는 숫자를 답하거나, Fable 5.1은 팩트시트에 있는 실제 값을 다른 티켓에 붙여서 답변했습니다.
모델이 이해하기만 하면 되는 내용에는 사용하고, 그대로 베껴 써야 하는 내용에는 사용하지 않는 것이 정답입니다. 요약하는 장문, 검토하는 설계서, 과거 대화 기록이라면 문제가 없습니다. ID, 해시, 가격, 행 번호, 수정해야 할 코드는 텍스트 상태로 남겨두어야 합니다.
일본어처럼 토큰을 많이 사용하는 장문의 경우 절감 폭이 크기 때문에, 무료 토큰 카운터 https://tokensave.app/ja/에 시험 기능의 텍스트 → 이미지 버튼을 추가했습니다. 브라우저 내에서 문서를 PNG로 만들고(서버에는 전송하지 않음), 선택한 GPT, Claude, Gemini 모델에서의 이미지 토큰을 텍스트 토큰과 나란히 표시하고 이미지를 복사/다운로드할 수 있습니다. 한국어 기사 9,000자를 넣었을 때, Claude는 텍스트 8,229토큰에 비해 이미지는 약 1,400토큰이었습니다.
주의할 점이 두 가지 있습니다. 이 버튼은 pxpipe의 5x8 픽셀보다 더 크고 단순한 글꼴을 사용하기 때문에 절감 폭은 다소 작으며, 읽어내는 정확도는 아직 측정하지 못했습니다. 그리고 위의 경고는 그대로 적용됩니다. 정확도가 필요한 내용에는 사용하지 마십시오.
각 셀당 2회, 문서 6개 분량이므로 개별 셀은 예시로 봐주세요. 측정된 것은 정확한 값의 읽기만 했을 뿐이며, pxpipe 측에서 좋은 결과가 나온 요약이나 계산 질문은 다시 측정하지 않았습니다. pxpipe는 실제로는 과거 기록과 시스템 프롬프트만을 이미지로 처리하고, 가장 최근 대화 내용은 텍스트 그대로 유지하기 때문에, 전체 비용이 얼마나 절감될지는 세션에 따라 다릅니다.
표・방법・CSV (CC BY 4.0): https://tokensave.app/data/text-as-image-token-cost
문서・レンダリング画像・回答の生データ・スクリプト: https://github.com/johnisking/token-cost-by-language/tree/main/text-as-image