"한국어로 프롬프트 쓰면 영어보다 토큰이 2~3배 든다"는 얘기, 한 번쯤 들어보셨을 겁니다. 저도 그렇게 알고 있었는데, 직접 재본 적은 없더라고요.
그래서 재봤습니다. 같은 프롬프트를 27개 언어로 옮겨서 OpenAI 토크나이저로 토큰 수를 셌습니다. 결론부터 말하면 한국어는 영어의 1.44배입니다. "2~3배"는 이제 옛날 얘기였습니다.
영어로 34토큰짜리 평범한 고객 응대 프롬프트를 썼습니다.
Please summarize the customer email below in three bullet points and suggest a polite reply. The customer says the order arrived two days late and one item was missing from the box.
한국어 버전은 이렇습니다.
아래 고객 이메일을 세 가지 요점으로 요약하고 정중한 답장을 제안해 주세요. 고객은 주문이 이틀 늦게 도착했고 상자에서 물건 하나가 빠져 있었다고 말합니다.
이걸 27개 언어로 옮긴 뒤 두 가지 토크나이저로 셌습니다.
import { getEncoding } from "js-tiktoken";
const enc = getEncoding("o200k_base");
const count = (text) => enc.encode(text).length;
count(english); // 34
count(korean); // 49
파이썬이라면 tiktoken으로 똑같이 할 수 있습니다.
import tiktoken
enc = tiktoken.get_encoding("o200k_base")
print(len(enc.encode(korean))) # 49

| 언어 | 토큰 수 (o200k) | 영어 대비 | 예전 GPT-4 토크나이저 (cl100k) |
|---|---|---|---|
| 영어 | 34 | 1.00배 | 1.00배 |
| 중국어(간체) | 35 | 1.03배 | 1.53배 |
| 스페인어 | 40 | 1.18배 | 1.29배 |
| 독일어 | 43 | 1.26배 | 1.50배 |
| 프랑스어 | 44 | 1.29배 | 1.44배 |
| 러시아어 | 45 | 1.32배 | 2.15배 |
| 베트남어 | 46 | 1.35배 | 2.32배 |
| 한국어 | 49 | 1.44배 | 2.50배 |
| 힌디어 | 51 | 1.50배 | 4.59배 |
| 태국어 | 59 | 1.74배 | 3.71배 |
| 일본어 | 61 | 1.79배 | 2.21배 |
| 폴란드어 | 64 | 1.88배 | 2.12배 |
| 체코어 | 68 | 2.00배 | 2.59배 |
27개 언어 전체 결과는 영어로 정리한 글에 있습니다.
GPT-4 시절 토크나이저로 재면 한국어는 2.50배입니다. 우리가 알던 숫자가 여기서 나온 거죠. 지금 토크나이저에서는 1.44배까지 내려왔습니다. 같은 프롬프트라면 예전보다 토큰이 40% 넘게 줄어든 셈입니다.
한글 한 글자당으로 치면 예전에는 1.3토큰 정도였는데, 지금은 0.77토큰 정도입니다. 자주 쓰는 음절과 단어는 한 덩어리로 처리된다는 뜻입니다.
예전 토크나이저에서는 일본어(2.21배)가 한국어(2.50배)보다 쌌습니다. 지금은 뒤집혀서 일본어가 1.79배로 한국어보다 비쌉니다. 일본어는 토크나이저가 바뀌어도 가장 덜 줄어든 언어 중 하나였습니다.
1위는 체코어(2.00배), 그다음이 폴란드어·우크라이나어(1.88배)입니다. 알파벳을 쓰는 언어라도 어미 변화가 많으면 잘게 쪼개지는 것 같습니다. 반대로 중국어(간체)는 영어와 거의 같았습니다(1.03배).
입력 100만 토큰당 2달러인 모델에 이 프롬프트를 100만 번 보낸다고 해보겠습니다.
| 언어 | 입력 토큰 | 입력 비용 |
|---|---|---|
| 영어 | 3,400만 | $68 |
| 한국어 | 4,900만 | $98 |
| 일본어 | 6,100만 | $122 |
| 체코어 | 6,800만 | $136 |
입력만 계산한 겁니다. 답변도 한국어로 받으면 토큰 단가가 보통 4~5배 비싼 출력에도 같은 배수가 붙습니다.
같은 측정을 브라우저에서 바로 해볼 수 있도록 TokenSave라는 무료 도구를 만들었습니다.
한국어를 포함해 27개 언어를 지원합니다.
여러분이 실제로 쓰는 프롬프트에서는 한국어가 영어의 몇 배쯤 나오나요? Claude의 토큰 카운트 API로 재보신 분이 있다면 결과도 궁금합니다.