한 줄 정의

AI가 글을 읽을 때 한 입에 삼키는 글자 덩어리


1. 비유로 이해하기

김밥을 통째로 먹지는 않는다. 한 조각씩 썰어 먹는다. AI도 문장을 통째로 보지 않고 잘게 썰어서 본다. 그 한 조각이 토큰이다.

재미있는 건 자르는 위치가 글자 단위도, 단어 단위도 아니라는 점이다. 자주 쓰는 말은 크게 한 덩어리로, 드문 말은 잘게 썰린다.

같은 문장을 글자 단위로 자르면 너무 길어지고 단어 단위로 자르면 사전이 무한히 커지므로 자주 쓰는 조각만 모아 자르며, 한국어는 영어보다 토큰을 두세 배 많이 쓴다
그림 1. 자주 쓰는 말일수록 크게, 드문 말일수록 잘게
"the"           →  ["the"]                       (1토큰)
"unbelievable"  →  ["un", "believ", "able"]      (3토큰)
"Zbigniew"      →  ["Z", "big", "nie", "w"]      (4토큰)

2. 왜 필요한가

왜 하필 이렇게 자를까

극단 두 가지를 생각해 보면 답이 나온다.

  • 세상 모든 단어를 사전에 넣는다 → 사전이 무한히 커진다. 새 단어, 오타, 고유명사를 감당할 수 없다
  • 글자 하나씩 자른다 → 사전은 작아지지만 문장이 너무 길어진다

그래서 중간을 택한다. 자주 쓰는 조각들만 모아 둔 중간 크기 사전. 이 방식을 BPE(Byte Pair Encoding)라고 한다. unbelievable을 통째로 외우는 대신 un + believ + able로 쪼개 두면, unbelievablybeliever도 같은 조각으로 만들 수 있다.

에이전트의 세 가지가 전부 토큰으로 결정된다

무엇이 어떻게 연결되나
비용 API 요금이 토큰당 계산된다. 입력 토큰과 출력 토큰의 값이 다르다
한계 컨텍스트 윈도우가 “토큰 몇 개까지”로 정해진다
속도 출력은 토큰을 하나씩 만들어 내보내는 것이다. 토큰 수가 곧 시간이다

루프를 돌 때마다 처음부터 다시 보낸다

이게 에이전트 개발에서 가장 큰 골칫거리다.

하네스가 루프를 돌 때마다 대화 기록이 쌓인다. 그런데 모델은 기억이 없다. 그래서 매번 처음부터 전체를 다시 보낸다.

1번째 턴:  [시스템 프롬프트 + 도구 설명 + 질문]
2번째 턴:  [시스템 프롬프트 + 도구 설명 + 질문 + 답 + 새 질문]
3번째 턴:  [ ...................... 전부 다시 ...... + 또 새 질문]

루프를 열 번 돌면 보내는 양이 계속 불어난다. 같은 질문이라도 대화가 길어진 뒤에 하면 더 비싸다. 그래서 오래된 대화를 요약하거나, 필요한 부분만 골라 넣거나, 도구 결과를 잘라내는 컨텍스트 관리라는 기술이 따로 있다.

한국어 사용자가 알아야 할 것

한국어는 영어보다 토큰을 훨씬 많이 잡아먹는다.

영어: "Hello, how are you?"          →  약 6토큰
한글: "안녕하세요, 어떻게 지내세요?"   →  약 15토큰

대략적인 감으로는 이렇다.

영어    1토큰 ≈ 4글자 ≈ 단어 0.75개
한국어  1토큰 ≈ 1~2글자

같은 내용을 물어도 한국어로 물으면 돈이 더 나간다는 뜻이다.


3. 어디서 만났나

7회차에서 만났다. 에이전트와 하네스를 배우면서 “컨텍스트가 길면 왜 비싸지는가”를 다루는 자리에 토큰이 나왔다.

같은 회차에서 인상적인 비교도 나왔다. 어떤 벤치마크에서 같은 일을 하는 데 CLI는 약 1천 토큰, MCP는 약 4만 토큰을 썼다는 것이다. MCP는 연결해 두는 것만으로 도구 설명서를 통째로 읽어 두기 때문인데, 이 차이가 전부 토큰으로 계산된다.

7회차 — 에이전트, MCP, 스킬 — 범용 AI를 내 전용 조수로


4. 헷갈리는 개념

이 용어 비슷하지만 다른 것 차이
토큰 글자 토큰 하나가 글자 하나인 경우도 있고 여러 글자인 경우도 있다
토큰 단어 the는 1토큰이지만 unbelievable은 3토큰이다. 단어 경계와 무관하다
토큰 컨텍스트 윈도우 컨텍스트 윈도우는 한 번에 담을 수 있는 토큰의 최대 개수. 그릇의 크기다
토큰 (글자 조각) 액세스 토큰 인증에 쓰는 열쇠. MCP 서버에 연결할 때 쓰는 그 토큰이다. 문맥상 “토큰 수”, “토큰 비용”이면 글자 조각, “액세스 토큰”, “인증 토큰”이면 열쇠다
토큰 (글자 조각) 블록체인 토큰 디지털 자산 조각. 공통점은 “쪼갤 수 없는 최소 단위 하나”라는 감각뿐이다

5. 많이들 오해하는 지점

ㄱ. “토큰은 단어를 세는 단위”

가장 흔한 오해다. 토큰은 단어 경계와 관계없이 잘린다. 흔한 단어는 통째로 1토큰이고, 드문 단어나 고유명사는 여러 조각으로 쪼개진다. 그래서 “이 글은 몇 단어니까 몇 토큰이겠지”라는 계산은 잘 안 맞는다.

ㄴ. “모델이 내 대화를 기억하고 있다”

기억하지 않는다. 매 턴 전체를 처음부터 다시 읽는다. “아까 말했잖아”가 통하는 건 그 ‘아까’가 매번 통째로 다시 보내지고 있기 때문이다.

이걸 알고 나면 요금 구조가 이해된다. 대화가 길어질수록 매 턴이 점점 비싸진다. 짧은 질문 하나를 던져도, 그 앞에 쌓인 전부가 함께 간다.

ㄷ. “한국어나 영어나 비슷하게 들겠지”

2~3배 차이가 난다. 영어는 조각 사전이 영어 위주로 만들어져 있어서 효율이 좋고, 한국어는 그렇지 않다. 긴 문서를 다루는 에이전트를 만든다면 이 차이가 요금에 그대로 반영된다.


6. 관련 용어

LLM · 임베딩 · 스칼라 · 하네스 · MCP · Q/K/V