Tool overview
LLM 토큰 카운터이란?
LLM 토큰 카운터은(는) 색상 경계 맵으로 토큰 수 계산 위한 개발자 도구입니다.
왜 LLM 토큰 카운터을(를) 사용하나요?
색상 경계 맵으로 토큰 수 계산할 때 가독성과 작업 속도를 높이며 서버로 데이터를 보내지 않습니다.
주요 기능
클라이언트 사이드 프라이버시, 즉시 결과, 원클릭 복사. 색상 경계 맵으로 토큰 수 계산
사용 방법
위 도구에서 정확한 결과를 얻기 위한 단계입니다.
- 모델에 보낼 정확한 텍스트를 붙여넣으세요: 시스템 프롬프트, 사용자 메시지, 도구 JSON 또는 연결된 RAG 컨텍스트 블록.
- 세 인코딩 카드를 비교하세요 — GPT-4o는 o200k_base, GPT-4 / Claude 근사는 cl100k_base, 레거시 Codex는 p50k_base.
- 토큰 경계 맵을 열고 스팬에 마우스를 올려 Token ID를 확인하세요. 대상 모델에 맞게 맵 인코딩을 바꾸세요.
- 스키마·도구 페이로드는 Minify JSON, 여백이 많은 산문은 Strip Spaces를 누른 뒤 다시 계산하세요.
- 예상 월간 볼륨을 입력해 GPT-4o, GPT-4o mini, Claude 3.5 Sonnet 입력 비용을 투영하세요.
- 다중 인코딩 지표를 설계 문서·티켓·PR에 복사해 팀이 하나의 예산 숫자를 공유하게 하세요.
- 반복: 가장 비싼 few-shot이나 스키마 구간부터 제거하고 다시 세며, 채팅 래퍼용 10–20% 여유를 남기세요.
- 에이전트 스택은 AI 에이전트 빌더에서 tools + MCP + 프롬프트를 조립하고 합산 예산을 다시 확인하세요.
LLM 토큰 카운터 — 완전 가이드 및 사용 사례
권위 있는 안내: 인코딩, 단계별 예산, 실제 사용 사례, 오버플로 수정, 경계 맵, 가격 메모 — 위 콕핏에서 바로 적용할 수 있습니다.
LLM 토큰 카운터 가이드 — 여기서 시작
이 페이지는 DevUtilities로 브라우저에서 LLM 토큰을 세는 정식 가이드입니다. 읽는 동안 위의 대화형 Prompt Budget Cockpit을 사용하거나 아래 주제로 이동하세요. 모든 작업은 js-tiktoken을 통해 클라이언트에서 실행되며 프롬프트는 기기를 떠나지 않습니다.
Prompt Budget Cockpit이 하는 일
LLM Token Counter(Prompt Budget Cockpit)는 OpenAI가 tiktoken에 제공하는 것과 동일한 BPE 표로 텍스트를 토큰화합니다. 세 인코딩을 나란히 비교하고, 토큰 경계를 시각화하며, GPT-4o, GPT-4o mini, Claude 3.5 Sonnet의 입력 비용을 추정하고, 프로덕션 API에 도달하기 전에 프롬프트를 줄이도록 돕습니다.
얻는 것
- o200k_base(GPT-4o), cl100k_base(GPT-4 / Claude 근사), p50k_base(레거시 Codex) 동시 카운트
- 호버 가능한 Token ID가 있는 색상 코딩 Token Boundary Map
- 프롬프트 무게를 줄이는 Minify JSON 및 Strip Spaces 액션
- 정적 공개 입력 요율 기반 쿼리당·월간 비용 외삽
- 설계 문서와 예산 검토용 복사 가능한 다중 인코딩 지표
다음일 때 사용
- system prompt + tools + 사용자 메시지가 컨텍스트 창에 맞는지 알아야 할 때
- 모델 선택 전 GPT-4o vs Claude 스타일 토큰 예산을 비교할 때
- OpenAI 또는 Anthropic API 호출 없이 로컬·프라이버시 안전 카운트가 필요할 때
- 비용을 부풀리는 RAG 청크, few-shot 예제, JSON 스키마를 줄일 때
기대하지 말 것
- 바이트 동일한 Claude 청구 — Anthropic은 다른 프로덕션 토크나이저를 쓰며 cl100k_base는 유용한 영어 근사입니다
- API가 원시 텍스트 주변에 추가하는 채팅 래퍼 오버헤드(역할 태그, 도구 엔벨로프)
- 실시간 시장 가격 — 비용 패널은 달라질 수 있는 정적 공개 요율을 사용합니다
o200k vs cl100k vs p50k — 올바른 인코딩 선택
Token ID는 인코딩별로 다릅니다. 같은 영어 문장도 o200k_base vs cl100k_base에서 길이와 ID가 달라질 수 있습니다. 항상 대상 모델이 실제로 쓰는 인코딩으로 예산을 잡으세요.
이 워크스페이스에서 비교하는 인코딩
| 인코딩 | 대표 모델 | 여기서 사용할 때 |
|---|---|---|
| o200k_base | GPT-4o, GPT-4o mini | 현대 OpenAI 채팅과 GPT-4o 패밀리 비용 카드의 기본값 |
| cl100k_base | GPT-4, GPT-4 Turbo, GPT-3.5 Turbo; Claude approximation | 레거시 OpenAI 채팅 예산과 대략적인 Claude 영어 추정 |
| p50k_base | Legacy Codex / older completion models | 역사적 비교와 구형 completion 파이프라인 |
특정 모델 패밀리의 병합을 검사할 때는 비교 카드와 독립적으로 Token Boundary Map 인코딩을 전환하세요.
단계별: 계산, 최적화, 예산 복사
처음 콕핏을 열 때 이 안내를 따르세요. 이후 대부분 세션은 붙여넣기 → 비교 → 최적화 → 복사입니다.
- 관심 있는 전체 프롬프트 페이로드를 붙여넣습니다: 시스템 메시지, 사용자 턴, 도구 JSON 또는 연결된 RAG 컨텍스트 블록.
- 세 비교 카드를 읽습니다. 가장 높은 인코딩을 기록 — 아직 모델을 골라야 한다면 보수적 예산입니다.
- Token Boundary Map을 열고 놀라울 만큼 긴 스팬(URL, 이모지, 들여쓴 JSON)에 호버해 구체적 Token ID를 확인합니다.
- 입력이 JSON 중심이면 Minify JSON을 클릭. 이중 공백이나 패딩 개행이 있는 산문이면 Strip Spaces를 클릭.
- 예상 월간 호출량을 입력해 GPT-4o, GPT-4o mini, Claude 3.5 Sonnet 입력 지출을 투영합니다.
- 지표 요약을 설계 문서, 티켓, PR 설명에 복사해 팀이 하나의 숫자를 공유하게 합니다.
「좋은」 상태의 모습
- System + tools + 평균 사용자 턴이 선택한 컨텍스트 창 안에서 모델 응답 여유를 남김
- 사람이 예쁜 사본을 편집해도 프로덕션 프롬프트의 JSON 스키마는 minify됨
- 비용 외삽이 청구 모델과 일치하는 인코딩을 사용
사용 사례: 시스템 프롬프트 컨텍스트 초과 방지
문제: 정책, 톤 규칙, few-shot 예제 세 개를 추가한 뒤 지원 에이전트 프롬프트가 대화 중간에 잘립니다.
이 도구가 해결하는 방법
- 현재 system prompt만 붙여넣고 o200k_base(또는 cl100k_base) 카운트를 기록합니다.
- few-shot 예제를 하나씩 추가하며 델타를 기록 — 가치가 가장 낮은 예제부터 제거합니다.
- 대표 사용자 메시지와 매 호출에 보내는 tools JSON을 붙여넣고 모델 컨텍스트 창에 대해 합산합니다.
- 산문에 Strip Spaces, 스키마에 Minify JSON을 사용한 뒤 다시 세어 절감을 정량화합니다.
- 최종 예산을 에이전트 런북에 복사해 이후 프롬프트 편집이 같은 상한을 지키게 합니다.
결과: 어떤 섹션이 예산을 터뜨렸는지, 각 최적화가 몇 토큰을 회복했는지 정확히 압니다 — 다음 프로덕션 잘림 전에.
사용 사례: OpenAI 도구 스키마 토큰 낭비 줄이기
문제: OpenAI function-calling 스키마는 가독성을 위해 들여쓰기로 작성된 뒤 라이브 요청에 붙여넣습니다. 논리 스키마는 그대로인데 토큰 지출이 올라갑니다.
이 도구가 해결하는 방법
- 예쁜 tools 배열 또는 parameters 객체를 입력 패널에 붙여넣습니다.
- API 모델이 쓰는 인코딩(보통 GPT-4o는 o200k_base)의 토큰 수를 기록합니다.
- Minify JSON을 클릭하고 새 카운트와 비교 — 차이는 순수 공백 세금입니다.
- boundary map을 검사: 반복 키와 긴 enum 목록이 지배적인 경우가 많으니 필드를 자르기 전에 설명을 줄입니다.
- API 호출에는 minify된 스키마를 보내고, 예쁜 사본은 소스 관리나 Agent Builder 편집기에만 둡니다.
결과: 도구 동작을 바꾸지 않고 도구 사용 호출마다 입력 비용을 낮춥니다.
사용 사례: 월간 LLM 입력 비용 예측
문제: 모델을 수천 번 호출할 기능을 출시하기 전에 재무가 월간 LLM 지출 추정치를 요청합니다.
이 도구가 해결하는 방법
- 현실적인 평균 페이로드(system + tools + 전형적 사용자 텍스트)를 만들어 여기에 붙여넣습니다.
- 프로덕션 모델과 일치하는 인코딩의 비교 카드를 확인합니다.
- Estimated monthly volume을 예상 호출 수로 설정합니다.
- 같은 페이로드로 벤더를 비교하려면 GPT-4o, GPT-4o mini, Claude 3.5 Sonnet 월간 열을 읽습니다.
- 요율이 정적 공개 입력 가격임을 문서화하고, 벤더가 가격 페이지를 바꾸면 추정치를 갱신합니다.
결과: 「토큰은 싸다」는 막연한 추측 대신 페이로드별 방어 가능한 예측이 됩니다.
사용 사례: 하드 토큰 예산으로 RAG 청크 크기 조정
문제: RAG 파이프라인이 쿼리당 다섯 청크를 검색합니다. 일부는 공백이나 보일러플레이트 헤더가 많고, 유용한 텍스트가 잘려 모델이 답을 놓칩니다.
이 도구가 해결하는 방법
- 후보 청크를 따로 붙여넣고 검색 모델 인코딩으로 토큰 수를 기록합니다.
- 더 밀도 높은 청크를 선호: Strip Spaces, 반복 내비게이션 헤더 제거, 거의 중복 단락 삭제.
- 보낼 top-k 세트를 연결하고 질문과 답변 여유가 남는지 확인합니다.
- boundary map으로 사람에게는 짧아 보이는 토크나이저 고비용 시퀀스(긴 URL, 표, 이모지)를 찾습니다.
- 이 도구로 측정한 합계로 리트리버에 쿼리당 하드 토큰 예산을 설정합니다.
결과: 검색이 토큰당 신호를 더 담고 조용한 컨텍스트 잘림으로 덜 실패합니다.
수정: context_length_exceeded 및 조용한 잘림
증상: API 400 context_length_exceeded, 잘린 completion, 세션 중간에 초기 지시를 「잊는」 에이전트.
왜 발생하는지
system prompt, tools, 기록, 사용자 턴 합이 모델 컨텍스트 창을 초과합니다. 예쁜 JSON과 긴 few-shot 뱅크가 흔한 조용한 원인입니다.
진단
클라이언트가 보내는 정확한 페이로드를 붙여넣거나 재구성합니다. 토큰 합계를 모델 컨텍스트 창과 비교하고, 따로 세어 가장 큰 섹션을 찾습니다.
수정
- 도구 스키마를 Minify JSON하고 산문의 과도한 공백을 제거합니다.
- 드물게 쓰는 정책을 상시 system prompt 대신 온디맨드 검색으로 옮깁니다.
- 매 호출 전 채팅 기록을 상한(요약 또는 가장 오래된 턴 삭제).
- 측정 후에만 더 큰 컨텍스트 모델로 전환 — 추측하지 마세요.
변경마다 다시 세요. 8k 토큰 tools 블롭에서 공백 10% 절감이 짧은 정책 단락 삭제보다 여유를 더 자주 회복합니다.
수정: 로컬 카운트가 API 사용량과 다름
증상: 로컬 카운트는 괜찮아 보이지만 OpenAI 사용량 대시보드와 다르거나 Claude 청구가 스프레드시트와 다릅니다.
왜 발생하는지
잘못된 인코딩으로 예산을 잡았거나, 역할·도구 엔벨로프로 메시지를 감싸는 API와 원시 텍스트를 비교했습니다.
진단
모델의 문서화된 토크나이저를 확인합니다. GPT-4o 패밀리는 o200k_base, GPT-4 / 3.5는 cl100k_base. 여기 Claude 수치는 근사로만 취급하세요.
수정
- 비교 포커스와 boundary map을 일치하는 인코딩으로 전환합니다.
- 사람이 읽는 프롬프트 초안이 아니라 SDK가 실제로 보내는 직렬화 메시지를 셉니다.
- 하드 한도를 계획할 때 채팅 포맷용 작은 오버헤드 버퍼(종종 수십~수백 토큰)를 더합니다.
- Anthropic 청구는 SLA를 고정하기 전에 중요 프롬프트를 Anthropic 자체 카운터로 검증합니다.
수정: 예쁜 JSON과 빈 줄이 토큰을 부풀림
증상: 프롬프트 의미가 바뀌지 않았는데 Minify JSON 또는 Strip Spaces 후 토큰 수가 급감합니다.
왜 발생하는지
BPE 인코딩은 들여쓰기 개행, 정렬 공백, 반복 빈 줄에 요금을 매깁니다. 사람은 무시하지만 토크나이저는 그렇지 않습니다.
진단
예쁜 페이로드를 붙여넣고 카운트를 기록한 뒤 Minify JSON / Strip Spaces를 실행해 비교합니다. 큰 델타는 공백이 주요 비용 동인이었음을 뜻합니다.
수정
- 사람이 편집하는 예쁜 JSON은 git에 두고 요청 시 minify합니다.
- system prompt 안의 패딩 ASCII 다이어그램이나 거대한 들여쓴 로그를 피합니다.
- 긴 정책 문서의 다중 빈 줄 섹션 구분자를 접습니다.
boundary map은 공백 토큰을 별도 색 스팬으로 보이게 합니다 — 팀에 minify가 중요한 이유를 가르칠 때 유용합니다.
토큰 경계 맵 읽는 법
Token Boundary Map은 각 BPE 병합을 색 스팬으로 그립니다. 색은 시각 분리용으로만 순환하며 토큰 범주를 인코딩하지 않습니다.
읽는 법
- 스팬에 호버하면 선택한 맵 인코딩의 숫자 Token ID가 표시됩니다
- URL이나 base64의 긴 끊김 없는 스팬은 줄일 가치가 있는 비싼 1~소수 토큰 청크인 경우가 많습니다
- 이모지와 CJK 텍스트는 같은 시각 길이의 라틴 산문보다 더 많은 토큰을 쓸 수 있습니다
- 같은 문자열을 GPT-4o vs GPT-4가 어떻게 분할하는지 비교할 때 맵 인코딩을 바꿉니다
비용 외삽기 작동 방식
비용 카드는 로컬 토큰 수에 정적 공개 입력 요율을 곱합니다: GPT-4o $5 / 1M, GPT-4o mini $0.15 / 1M, Claude 3.5 Sonnet $3 / 1M. 월간 볼륨이 쿼리당 비용을 스케일합니다.
주의사항
- 출력 토큰은 포함되지 않습니다 — 전체 TCO를 위해 completion 추정치를 별도로 더하세요
- 캐시 입력 또는 배치 할인은 모델링되지 않습니다
- 벤더 정가는 변합니다. 수치는 청구서가 아니라 계획 보조로 취급하세요
토큰 예산 모범 사례
- 프로덕션과 일치하는 인코딩으로 예산을 잡고 채팅 래퍼·재시도를 위해 10–20% 안전 여유를 둡니다
- system prompt만이 아니라 전체 요청 형태(system + tools + 기록 + 사용자)를 셉니다
- 기계가 소비하는 JSON은 minify하고 사람용 예쁜 사본은 유지합니다
- few-shot 예제, MCP 설정, 긴 정책 부록을 추가할 때마다 다시 셉니다
- 출시 전 비용이 보이도록 설계 검토에서 월간 볼륨 투영을 사용합니다
- 독점 프롬프트는 로컬 카운팅을 선호 — 이 도구는 텍스트를 업로드하지 않습니다
토크나이저 및 특수 토큰 참조
경계 색은 tiktoken 바이트 페어 인코딩에 매핑됩니다. <|endoftext|> 같은 특수 토큰은 리터럴 텍스트로 있을 때 계산됩니다.
토크나이저 및 특수 토큰 참조
| 필드 유형 | 샘플 페이로드 | 구조 규칙 |
|---|---|---|
| cl100k_base | GPT-4, GPT-4 Turbo, Claude 3 | 기본 OpenAI 채팅 인코딩. 영어 산문 약 4자/토큰. 단어 경계를 넘어 공백을 병합. |
| o200k_base | GPT-4o, GPT-4o mini | omni 모델용 확장 어휘 인코딩. 동일 문자열도 Token ID가 cl100k_base와 다름. |
| <|endoftext|> | <|endoftext|> | GPT 학습 코퍼스의 문서 경계를 표시하는 예약 제어 토큰. 리터럴일 때 단일 토큰으로 계산. |
| Unicode emoji | 🚀 | 인코딩에 따라 종종 1–3 토큰. 다중 코드포인트 그래핌은 여러 BPE 병합으로 갈라질 수 있음. |
| JSON whitespace | {\n "key": "value"\n} | 들여쓰기 개행과 공백이 토큰을 소비 — 컨텍스트 사용을 세기 전에 JSON 페이로드를 minify. |
자주 묻는 질문
일반적인 문제와 데이터 프라이버시에 대한 답변입니다.
관련 도구
이 도구를 보완하는 관련 유틸리티를 살펴보세요.
공식 문서 및 참고 자료
이 유틸리티의 공식 사양 및 플랫폼 문서입니다.