1. 토큰이란?
토큰은 LLM 이 보는 가장 작은 단위입니다. 최신 모델들은 모두 BPE (Byte-Pair Encoding) 변형을 쓰며 자주 등장하는 문자 조합을 하나의 ID 로 병합합니다. 영문 산문은 평균 약 4글자당 1토큰, 한글은 약 1글자당 1토큰 근처여서 같은 의미라도 한국어 프롬프트가 훨씬 비쌉니다.
2. 이 페이지에서 사용하는 4개 토크나이저 계열
- OpenAI cl100k_base — GPT-3.5 Turbo 와 구형 GPT-4. 10만 어휘,
js-tiktoken으로 JavaScript 포팅. 정확 카운트. - OpenAI o200k_base — GPT-4o 계열과 o-시리즈. 20만 어휘에 다국어 병합이 더 많아 한국어가 cl100k 대비 20~30% 저렴. 정확 카운트.
- Anthropic Claude — 라틴 문자에서는 cl100k 와 매우 유사. 브라우저 토크나이저는 공개되지 않았으며, count_tokens API 가 정확합니다. 본 페이지는 근사치입니다.
- Google Gemini — 25.6만 어휘의 SentencePiece BPE 로, 다국어 데이터 비중이 높아 한국어·일본어 효율이 좋습니다. Google 은
countTokensREST API 를 제공합니다. - Meta Llama 3 — 12.8만 어휘의 SentencePiece BPE. 비라틴 문자는 대부분 바이트 단위이며 한국어 비율이 가장 나쁩니다. 참고용으로 포함했습니다.
3. 한국어가 토큰을 많이 쓰는 이유
한글 음절 블록(가·나·다…)은 유니코드상 2~3 코드포인트의 자모로 구성되며, 영어 중심의 BPE 는 각 음절을 2~3개의 바이트 토큰으로 쪼갭니다. cl100k 에서 한글은 글자당 1.5~2.0 토큰, o200k 는 1.0 근처, Gemini 는 깨끗한 산문에서 0.7 수준까지 내려갑니다. 한국어 서비스라면 모델 등급보다 토크나이저 선택이 훨씬 큰 비용 지렛대가 됩니다.
4. 비용 계산 치트시트
각 제공사는 1M 토큰당 가격을 공시합니다. 요청당 비용:
cost_usd = input_tokens / 1_000_000 * input_price
+ output_tokens / 1_000_000 * output_price출력 토큰은 입력보다 3~5배 비쌉니다. max_tokens 상한을 두고, 스트리밍으로 조기 종료가 가능하게 설계하세요.
5. 품질을 해치지 않고 비용 줄이기
- 프롬프트 캐싱 활성화 (Claude / GPT-4o) — 캐시된 접두부 90% 할인.
- 난이도별 파이프라인 분리: 가벼운 턴은 Haiku / Flash / mini 로 라우팅.
- 마크다운 표, 연속 이모지, 반복 공백을 사전에 제거.
- RAG 는 정답에 실제로 기여하는 top-K 만 잘라 넣기.
- JSON 모드와 타이트한 스키마로 출력 길이 단축.