주소창에서 복사한 한글 URL이 토큰을 3.78배 먹는다 — URL·경로 실측
AI에게 “이 페이지 요약해 줘”라며 주소를 붙여 넣거나, 오류를 물으며 스택 트레이스를 통째로 넣는 일은 흔합니다. 그 주소와 경로가 몇 토큰인지 재봤습니다.
가장 큰 건 한글 주소였습니다. 브라우저 주소창에서 복사하면 3.78배가 됩니다.
측정 조건
- 인코딩
o200k_base·tiktoken 0.14.0· 측정일 2026년 10월 13일 - URL 6종, 파일 경로 4종, 스택 트레이스 1종
- 표본은 전부 직접 작성 (실제 서비스 주소가 아닌 예시 도메인)
① 한글 주소가 인코딩되면 3.78배
한글이 들어간 주소는 그대로 보면 멀쩡한데, 브라우저 주소창에서 복사하면 퍼센트 인코딩된 형태가 붙습니다.
[그대로 — 43자, 23토큰]
https://blog.example.com/카테고리/한국어-토큰-비용-정리/
[주소창에서 복사한 것 — 147자, 87토큰]
https://blog.example.com/%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC/
%ED%95%9C%EA%B5%AD%EC%96%B4-%ED%86%A0%ED%81%B0-%EB%B9%84%EC%9A%A9-%EC%A0%95%EB%A6%AC/같은 주소인데 23토큰 vs 87토큰. 한글 한 글자가
%EC%B9%B4같은 9글자로 부풀기 때문입니다.
해결은 간단합니다. 주소창에서 바로 복사하지 말고, 링크를 우클릭해 복사하거나 붙여 넣은 뒤 눈으로 읽히는 형태로 고치면 됩니다. 한글이 그대로 보이면 싼 쪽입니다.
② 추적 파라미터를 떼면 77% 절약
쇼핑몰·광고 링크에는 utm_source 같은 추적 파라미터가 길게 붙습니다. AI에게는 아무 의미도 없는 부분입니다.
| 토큰 | 주소 | |
|---|---|---|
| 붙은 채 | 39 | ...item/8821?utm_source=naver&utm_medium=cpc&utm_campaign=... |
? 뒤를 자름 | 9 | https://shop.example.com/item/8821 |
30토큰 절약, 77%입니다. URL 50개를 넣는 작업이면 1,500토큰 차이입니다. 단, 쿼리가 페이지를 결정하는 경우(검색 결과, 목록의 페이지 번호 등)에는 자르면 안 됩니다 — utm_으로 시작하는 것만 떼세요.
③ URL 종류별 — 글자당 비용은 거의 일정
| 종류 | 글자 | 토큰 | 글자당 |
|---|---|---|---|
| 짧은 주소 | 17 | 5 | 0.29 |
| 일반 글 주소 | 48 | 14 | 0.29 |
| 쿼리 1개 | 31 | 9 | 0.29 |
| 쿼리 여러 개 | 62 | 21 | 0.34 |
| 추적 파라미터 포함 | 129 | 39 | 0.30 |
| 한글 주소 | 43 | 23 | 0.53 |
영문 URL은 글자당 0.29~0.34토큰으로 꽤 일정합니다. 한글 주소만 0.53으로 튑니다.
④ 파일 경로 — 길다고 비싼 게 아니다
| 종류 | 글자 | 토큰 |
|---|---|---|
짧은 상대 경로 src/main.py | 11 | 3 |
| 맥·리눅스 경로 | 55 | 16 |
| 윈도우 경로(한글 폴더 포함) | 58 | 24 |
| 깊은 중첩(영문만) | 83 | 15 |
83자짜리 깊은 경로가 15토큰인데, 58자짜리 윈도우 경로는 24토큰입니다. 더 짧은 쪽이 더 비쌉니다.
깊은 경로는 billing·repositories처럼 흔한 영어 단어로만 되어 있어 단어 하나가 토큰 하나입니다. 반면 윈도우 경로는 역슬래시와 한글 폴더명이 섞여 잘게 쪼개집니다. 한국어가 비싼 이유와 같은 맥락입니다.
쪼개진 모습을 보면 이렇습니다.
src/main.py
→ ['src', '/main', '.py'] 3토큰
/Users/jaehyun/projects/token-lab/src/measure/tokens.py
→ ['/', 'Users', '/', 'ja', 'eh', 'yun', '/projects', '/token',
'-l', 'ab', '/src', '/', 'measure', '/t', 'okens', '.py'] 16토큰사람 이름(jaehyun)이 ja+eh+yun 세 조각으로 쪼개집니다. 사전에 없는 고유명사라서입니다.
⑤ 스택 트레이스 — 경로를 줄이면 69% 절약
오류를 물을 때 스택 트레이스를 통째로 붙여 넣는 경우가 많습니다. 같은 긴 경로가 줄마다 반복됩니다.
| 줄 수 | 그대로 | 파일명만 남김 |
|---|---|---|
| 1줄 | 26 | — |
| 10줄 | 260 | — |
| 30줄 | 780 | 240 |
/Users/jaehyun/projects/token-lab/src/measure/tokens.py를 tokens.py로만 줄이면 30줄 기준 69% 절약됩니다.
다만 경로를 지우면 어느 파일인지 모호해질 수 있습니다. 같은 이름의 파일이 여러 폴더에 있다면 혼동이 생깁니다. 프로젝트 루트 기준 상대 경로(src/measure/tokens.py)로 줄이는 절충이 보통 안전합니다.
직접 재보기
본인이 넣으려는 주소나 로그가 몇 토큰인지는 토큰 계산기에 붙여 넣으면 바로 나옵니다.
import tiktoken, urllib.parse
enc = tiktoken.get_encoding("o200k_base")
n = lambda t: len(enc.encode(t))
url = "https://blog.example.com/카테고리/한국어-토큰-비용-정리/"
print("그대로 ", n(url))
print("인코딩됨", n(urllib.parse.quote(url, safe=":/")))
# 추적 파라미터 떼기
dirty = "https://shop.example.com/item/8821?utm_source=naver&utm_medium=cpc"
print(n(dirty), "->", n(dirty.split("?")[0]))한계: o200k_base 하나로만 측정했습니다. URL과 경로는 제가 만든 예시라 실제 쓰시는 주소와 구성이 다를 수 있습니다 — 특히 도메인 이름이 흔한 단어인지 아닌지에 따라 토큰이 달라집니다. 토큰만 쟀고, 경로를 줄였을 때 AI가 답을 제대로 하는지는 재지 않았습니다. 스택 트레이스에서 경로를 지우면 문제 파일을 특정하지 못할 수 있으니 줄인 뒤 답이 전과 같은지 확인하세요.
정리
- 한글 주소를 주소창에서 복사하면 3.78배(23 → 87토큰). 한글이 그대로 보이는 쪽이 쌉니다.
utm_추적 파라미터를 떼면 77% 절약. 단 쿼리가 페이지를 결정하면 자르지 마세요.- 영문 URL은 글자당 0.29~0.34토큰으로 일정, 한글 주소만 0.53.
- 길다고 비싼 게 아닙니다 — 83자 영문 경로(15토큰) < 58자 윈도우 한글 경로(24토큰).
- 스택 트레이스는 경로를 줄이면 69% 절약. 상대 경로로 줄이는 절충이 안전합니다.
측정일: 2026년 10월 13일 / tiktoken 0.14.0 / o200k_base