토큰이 무엇인가

모델은 글자도 단어도 아닌 토큰 단위로 글을 읽고 쓴다. 자주 나오는 덩어리를 하나로 묶은 것이라, 흔한 영어 단어는 통째로 한 토큰이 된다. o200k 로 재 보면 영어는 글자당 0.20 토큰(다섯 글자에 하나), 한글은 글자당 0.72 토큰이다. 요금은 이 토큰 수로 매겨진다.

입력에 무엇이 들어가는지 자주 놓친다

입력 토큰은 이번에 사용자가 친 글만이 아니다. 시스템 프롬프트, 붙여 넣은 문서, 도구 정의, 그리고 대화형이라면 이전 대화 전체가 매 턴마다 다시 들어간다. 열 번 주고받는 대화는 마지막 턴에서 첫 턴보다 훨씬 많은 입력을 보낸다. 견적이 실제보다 낮게 나오는 가장 흔한 원인이 이것이다.

위 계산기의 입력 칸에는 그 전부를 합친 값을 넣어야 한다. 대화형이라면 평균 턴 수를 곱해 어림잡는 편이 실제에 가깝다.

한글은 1.3배쯤 든다

같은 내용을 주고받으면 한글이 영어보다 토큰을 약 1.3배 쓴다. 글자 수를 맞춰 견주면 3.65배로 보이지만, 같은 내용을 한글로 쓰면 글자 수가 영어의 절반도 안 되므로 그건 분량 차이를 잰 것이다. 배수는 모델을 가리지 않고, 그 30%가 만드는 금액만 모델에 따라 월 ₩60 에서 ₩62만까지 벌어진다.

225개 모델로 셈해 본 글 읽기

토크나이저 세대에 따라 또 다르다

위 계수는 o200k 기준이다. GPT-4o 세대부터 쓰는 토크나이저다. 그 전 세대의 cl100k 로 같은 말뭉치를 세면 한글이 글자당 1.16 토큰으로 1.6배 나오고, 영어는 0.198 로 똑같다. 오래된 모델을 고르면 한글에서 여기 적힌 것보다 더 든다. Anthropic 과 Google 은 토크나이저를 공개하지 않아 어느 쪽에 가까운지 알 수 없다.

이 값에 빠져 있는 것

여기 쓰는 단가는 카탈로그가 공개한 정가다. 실제 청구서는 대개 이보다 낮다. 프롬프트 캐시를 쓰면 반복되는 앞부분이 할인되고, 배치로 보내면 절반 가까이 깎이는 곳이 있으며, 사용량이 크면 구간 요금이 따로 붙는 모델도 있다. 반대로 이미지나 음성을 함께 보내면 그쪽 토큰이 더해져 올라간다.

원화는 수집 시점의 환율로 환산한 값이다. 계약이나 청구는 달러로 이루어지므로, 예산을 잡을 때는 환율이 움직일 여지를 함께 잡아 두는 편이 낫다.

이 숫자를 어디까지 믿을까

토큰 수를 직접 넣었다면 곱셈은 정확하다. 글을 붙여넣어 추정한 경우라면 o200k 기준으로 문단 926개에서 토큰 가중 오차가 7.6% 였고, 문단 하나로는 최악 48%, 한두 단어짜리는 곱절도 넘는다. 짧은 글이 많이 틀리는 것은 반올림이 지배하는 구간이기 때문이고, 금액을 가르는 것은 긴 글이라 실제 견적에는 영향이 적다. Claude 와 Gemini 는 토크나이저를 공개하지 않아 더 어긋날 수 있다. 정확한 값이 필요하면 벤더의 토큰 계산 API 로 한 번 세어 그 값을 위 칸에 넣는 것이 가장 낫다.