← 모두의 툴

프롬프트 정제기가 보여주는 토큰 수는 가짜다 — 0.25 근사식의 함정

가이드 · 2026-08-19 최종 확인

프롬프트 정제 도구에서 정제 전후로 "~토큰: 1,234 → 987"처럼 숫자가 줄어드는 걸 보면 실제로 API 비용이나 컨텍스트 사용량이 그만큼 줄었다고 믿기 쉽습니다. 하지만 이 숫자는 실제 토크나이저를 돌린 값이 아니라, 문자 수에 고정 비율을 곱한 근사치입니다. 이 가이드는 그 근사식이 정확히 무엇이고, 왜 한국어에서 특히 신뢰할 수 없는지 설명합니다.

1. 실제 소스 코드에 박혀 있는 근사식

modoohub.com의 프롬프트 정제기(prompt-cleaner.html)를 직접 열어보면, 토큰 수를 계산하는 함수는 이렇게 되어 있습니다.

function estTokens(s){return Math.ceil(s.length*0.25);}

입력 문자열의 길이(length) × 0.25를 올림한 값을 그대로 "~토큰"으로 표시합니다. 실제 토크나이저 라이브러리는 전혀 호출하지 않습니다.

즉 문자 4개당 토큰 1개라는 단순 선형 비율입니다. 이 도구의 자체 FAQ에도 "실제 토크나이저를 실행하지 않고 문자 수 × 0.25라는 근사식만 사용합니다"라고 명시돼 있어, 숨겨진 버그가 아니라 의도된 단순화입니다.

2. "4글자당 1토큰"은 어디서 온 숫자인가

OpenAI의 tiktoken이나 Claude의 토크나이저는 BPE(Byte-Pair Encoding) 계열 알고리즘으로, 자주 등장하는 바이트/문자 조합을 하나의 토큰으로 병합하도록 대량의 텍스트로 학습된 어휘 사전을 사용합니다. 영어 산문을 이 방식으로 토큰화하면 평균적으로 문자 4개당 토큰 1개 정도가 나온다는 것이 널리 알려진 경험적 수치입니다. 이 도구의 0.25 계수는 바로 이 영어 기준 경험치를 그대로 가져다 쓴 것입니다.

3. 왜 한국어에서 유독 크게 어긋나는가

BPE 어휘 사전은 학습 데이터의 언어 분포를 그대로 반영합니다. 대부분의 범용 토크나이저는 학습 코퍼스에서 영어 비중이 압도적으로 높기 때문에, 영어의 흔한 단어·접두사·접미사 조합은 통째로 하나의 토큰으로 묶여 있는 경우가 많습니다. 반면 한글은 어휘 사전에서 상대적으로 덜 최적화돼 있어, 음절 하나하나 혹은 음절을 이루는 바이트 시퀀스가 여러 토큰으로 쪼개지는 경우가 흔합니다. 그 결과 같은 글자 수라도 한국어 텍스트의 실제 토큰 수는 "문자 수 × 0.25" 공식이 예측하는 값보다 훨씬 많이 나오는 경우가 많습니다 — 이 근사식은 한국어에서 실제 토큰 소비량을 체계적으로 과소평가하는 방향으로 어긋납니다.

4. 실무에서 벌어지는 일

이 도구로 프롬프트를 정제한 뒤 화면의 "절약된 토큰 수"만 보고 "이제 컨텍스트 창에 여유가 생겼다" 또는 "API 비용이 이만큼 줄었다"고 판단하면, 특히 한국어 프롬프트에서는 실제 값과 차이가 날 수 있습니다. 절약률(%) 역시 같은 근사식으로 정제 전후 값을 계산한 것이므로 똑같은 오차를 그대로 물려받습니다. 정제 기능 자체(공백 정리·빈 줄 처리·탭 변환 등)는 실제로 문자 수를 줄여주므로 유효하지만, 화면에 뜨는 토큰 숫자를 실제 청구/컨텍스트 계산의 근거로 쓰는 것은 위험합니다.

5. 정확한 토큰 수가 필요하다면

이 사이트의 AI 토큰 카운터도 참고할 수 있지만, 어떤 도구든 브라우저에서 문자 수 기반 근사식을 쓰는지 실제 토크나이저를 호출하는지 먼저 확인하는 습관이 중요합니다.

자주 묻는 질문

Q. 프롬프트 정제기의 토큰 수치를 아예 믿으면 안 되나요?

A. 완전히 무의미한 건 아닙니다. 정제 전후 상대적인 "글자 수가 줄었다"는 방향성 자체는 유효합니다. 다만 절대값(정확히 몇 토큰인지)이나 한국어 비율은 신뢰하지 말고, 정확한 값이 필요할 때는 실제 토크나이저를 따로 돌려야 합니다.

Q. 왜 도구가 처음부터 실제 토크나이저를 쓰지 않나요?

A. tiktoken 같은 라이브러리를 브라우저에 그대로 심으면 용량이 커지고, 모델마다 토크나이저가 달라(OpenAI/Claude/Gemini 등) 어떤 모델 기준으로 셀지 선택이 필요해집니다. 가벼운 도구는 이런 복잡도 대신 근사식을 택하는 경우가 많습니다.

Q. 영어 프롬프트라면 이 근사식을 믿어도 되나요?

A. 영어는 애초에 이 0.25 계수가 유래한 기준 언어라 상대적으로 오차가 작습니다. 다만 코드 블록, 특수문자, 반복 패턴이 많은 텍스트는 영어라도 실제 토큰화 결과가 단순 비율에서 벗어날 수 있습니다.

Q. 절약률(%) 수치는 정제 효과를 판단하는 데 아예 쓸모없나요?

A. 절약률도 같은 0.25 근사식으로 계산되므로 절대 정확도는 낮지만, "이 옵션을 켜니 절약률이 더 올라갔다"처럼 옵션 간 상대 비교 용도로는 참고할 수 있습니다. 실제 API 비용 절감폭을 확인하려면 정제 전후 텍스트를 실제 토크나이저에 넣어야 합니다.