생성형 AI 서비스를 살펴보면 100만 Token당 얼마라는 가격 표현을 자주 볼 수 있습니다.
일반 인터넷 서비스는 월 이용료를 받고, 클라우드는 CPU 사용시간이나 저장 용량을 기준으로 가격을 계산하는 경우가 많습니다.
그런데 AI에서는 Token, 즉 토큰이 중요한 비용 단위가 됐습니다.
이유는 AI가 우리가 보는 문자나 단어를 그대로 읽는 것이 아니라 토큰이라는 작은 단위로 나눠 계산하기 때문입니다.
1. 토큰이란 무엇인가
Token은 AI가 언어를 처리하는 기본 단위입니다.
한글의 글자 하나와 정확히 대응하는 것은 아닙니다.
단어 하나가 하나의 Token이 될 수도 있고 하나의 단어가 여러 Token으로 나뉠 수도 있습니다.
반대로 자주 등장하는 문자열은 여러 글자가 하나의 Token으로 묶일 수도 있습니다.
문장 부호와 숫자, 공백 등도 Token을 구성하는 요소가 될 수 있습니다.
따라서 글자 수와 Token 수는 동일하지 않습니다.
2. 왜 문자를 그대로 처리하지 않을까
AI는 최종적으로 모든 데이터를 숫자로 바꿔 계산합니다.
만약 세상에 존재하는 모든 단어를 하나의 독립적인 숫자로 등록한다면 어휘 사전이 지나치게 커질 수 있습니다.
새로운 단어나 사람 이름, 회사 이름이 등장할 때마다 문제가 생길 수도 있습니다.
반대로 글자 하나씩만 나누면 문장이 지나치게 많은 조각으로 분해됩니다.
그래서 현대 언어 모델은 자주 사용되는 문자열을 적당한 크기로 묶어 Token으로 만드는 방식을 사용합니다.
이 과정을 Tokenization, 즉 토큰화라고 합니다.
3. Tokenizer란 무엇인가
Tokenization을 담당하는 프로그램을 Tokenizer, 즉 토크나이저라고 합니다.
Tokenizer는 입력된 문장을 모델이 사용할 수 있는 Token ID로 변환합니다.
예를 들어 사람이 보는 문장이 실제 모델 내부에서는 여러 개의 숫자로 바뀝니다.
AI는 이 숫자를 Embedding, 즉 임베딩 벡터로 다시 변환해 계산합니다.
결국 우리가 입력한 자연어 문장은 AI 내부에서 숫자의 연속으로 처리됩니다.
그래서 Token은 인간이 사용하는 언어와 AI가 사용하는 숫자 세계를 연결하는 중간 단위라고 볼 수 있습니다.
4. 같은 문장도 Token 수가 다를 수 있다
중요한 점은 모든 AI 모델이 같은 Tokenizer를 사용하는 것은 아니라는 것입니다.
모델마다 Token을 나누는 방식이 다를 수 있습니다.
같은 문장을 입력해도 어떤 모델에서는 30 Token이 되고 다른 모델에서는 35 Token이 될 수 있습니다.
한국어와 영어의 Token 효율도 다를 수 있습니다.
한글 글자 수가 적다고 해서 항상 Token 수도 적은 것은 아닙니다.
따라서 AI 비용을 계산할 때 단순히 1,000자이니까 몇 Token일 것이라고 정확하게 단정하기는 어렵습니다.
실제 사용하는 모델의 Tokenizer를 기준으로 계산해야 합니다.
한국어 문장을 토큰으로 나누면 어떻게 보일까
예를 들어 ‘오늘 서울 날씨 알려줘’라는 짧은 한국어 문장을 생각해보겠습니다. 사람이 보기에는 몇 개의 단어로 구성된 간단한 문장이지만 AI 내부에서는 사용하는 Tokenizer에 따라 ‘오늘’, ‘서울’, ‘날씨’, ‘알려’, ‘줘’처럼 나뉠 수도 있고, 일부 표현이 더 작은 조각으로 분리될 수도 있습니다.
중요한 점은 이 구분이 사람이 세는 글자 수나 단어 수와 정확히 일치하지 않는다는 것입니다. 같은 문장이라도 모델마다 Tokenizer의 어휘 사전과 분할 규칙이 다르면 Token 수가 달라질 수 있습니다.
따라서 한국어 100자 또는 1,000자가 항상 일정한 Token 수로 바뀐다고 단정하면 안 됩니다. 비용을 정확히 계산하려면 실제 사용하는 모델의 Tokenizer로 입력 문장을 직접 계산해야 합니다.
5. Input Token과 Output Token의 차이
AI 서비스에서 Token은 크게 Input Token과 Output Token으로 나눌 수 있습니다.
Input Token은 AI에게 전달되는 입력입니다.
사용자가 쓴 질문뿐만 아니라 이전 대화, 시스템 지시문, 첨부 문서, 검색 결과도 포함될 수 있습니다.
Output Token은 AI가 새롭게 생성하는 답변입니다.
예를 들어 사용자가 500 Token의 질문을 입력하고 AI가 1,000 Token의 답을 생성했다면 전체 처리량은 단순하게 1,500 Token 이상이 됩니다.
서비스 구조에 따라 내부적인 추가 Token이 사용될 수도 있습니다.
6. 왜 AI 회사는 Token으로 가격을 계산할까
AI의 계산량은 모델이 얼마나 많은 Token을 읽고 생성하는지와 밀접하게 연결됩니다.
입력 Token이 늘어나면 모델이 읽어야 하는 데이터가 많아집니다.
출력 Token이 늘어나면 AI는 새로운 Token을 하나씩 계속 생성해야 합니다.
따라서 Token은 실제 GPU 연산과 연결되는 비교적 현실적인 비용 단위입니다.
사용자가 AI를 10분 사용했다는 시간보다 실제 몇 개의 Token을 처리했는지가 서버 자원 사용량을 설명하는 데 더 유용한 경우가 많습니다.
그래서 API 서비스에서는 100만 Input Token당 가격과 100만 Output Token당 가격을 따로 표시하는 경우가 많습니다.
7. 출력 Token이 더 비싼 경우가 있는 이유
AI가 입력 문장을 읽는 단계와 답변을 생성하는 단계는 처리 방식이 조금 다릅니다.
입력을 읽는 단계를 Prefill, 즉 프리필이라고 합니다.
많은 입력 Token을 한꺼번에 병렬로 계산할 수 있는 부분이 있습니다.
반면 답변을 만드는 Decode, 즉 디코드 단계에서는 Token을 순차적으로 생성합니다.
첫 번째 Token을 생성한 뒤 그 결과를 이용해 두 번째 Token을 만들고, 다시 세 번째 Token을 만드는 방식입니다.
이 때문에 출력 Token 생성은 입력 Token 처리와 하드웨어 사용 방식이 다르고, 일부 서비스에서는 Output Token의 가격이 더 높게 설정되기도 합니다.
8. Cached Token은 무엇인가
AI 서비스에서는 같은 긴 내용을 반복해서 사용하는 경우가 많습니다.
예를 들어 기업의 업무 규칙이나 긴 System Prompt가 모든 요청에 반복될 수 있습니다.
매번 동일한 내용을 처음부터 계산하면 비효율적입니다.
그래서 Prompt Caching, 즉 프롬프트 캐싱이라는 기술을 사용할 수 있습니다.
이미 처리한 동일한 입력 일부를 재사용해 계산량을 줄이는 방식입니다.
이런 Token을 Cached Token이라고 부를 수 있습니다.
AI 서비스를 대규모로 운영하는 기업에서는 반복되는 입력을 얼마나 잘 캐싱하느냐에 따라 비용 차이가 커질 수 있습니다.
9. 긴 대화가 비싸지는 이유
사용자는 새로운 질문 한 줄만 입력했다고 생각할 수 있습니다.
하지만 AI가 이전 대화를 참고하려면 기존 대화도 다시 Context에 포함될 수 있습니다.
대화가 길어질수록 Input Token 수가 증가합니다.
AI Agent에서는 더욱 심합니다.
검색 결과와 문서 내용, 프로그램 실행 결과, 이전 작업 기록 등이 계속 추가될 수 있기 때문입니다.
그래서 에이전트가 오래 작업할수록 눈에 보이는 답변보다 내부적으로 훨씬 많은 Token이 사용될 수 있습니다.
이 때문에 AI 시스템에서는 오래된 대화를 요약하거나 필요한 정보만 남기는 Context 관리 기술이 중요합니다.
10. Token은 AI 시대의 새로운 비용 단위다
클라우드 시대에는 CPU 사용시간과 저장 용량이 비용을 계산하는 대표적인 단위였습니다.
생성형 AI 시대에는 Token이 중요한 비용 지표가 되고 있습니다.
AI 모델이 실제로 얼마나 많은 정보를 읽고 얼마나 많은 문장을 생성했는지를 비교적 직접적으로 나타낼 수 있기 때문입니다.
기업 입장에서는 같은 업무를 수행하더라도 Token을 적게 사용하는 시스템이 더 저렴할 수 있습니다.
불필요하게 긴 Prompt를 줄이고, RAG를 이용해 필요한 문서만 전달하고, 반복되는 Context를 캐싱하면 Token 사용량을 낮출 수 있습니다.
결국 Token Optimization, 즉 토큰 최적화는 단순한 AI 개발 기술이 아닙니다.
GPU 비용과 전력 비용, 클라우드 비용을 줄이는 운영 기술이기도 합니다.
앞으로 AI 서비스를 비교할 때는 모델 성능뿐 아니라 100만 Token을 얼마에 처리하는지, Input과 Output 가격이 얼마나 다른지, Cached Token을 어떻게 처리하는지까지 살펴보는 것이 중요해질 것입니다.