같은 뜻인데 값이 딴판
CJK — 한국어, 일본어, 중국어 — 는 같은 내용을 담는 데 영어보다 token을 2-3배 먹어. 이유는 시시해. BPE tokenizer 대부분이 영어 위주 corpus에서 학습돼서, CJK 글자는 훨씬 잘게 부서지거든. 한글 한 글자가 2-4 token으로 쪼개지기도 해.
이중언어 서비스면 이 차이가 긴 session 내내 쌓여. 한국어 쓰는 사람이 똑같은 길이로 대화하고도 API 청구서를 2-3배 내는 거지. 그러니까 미리 예산을 그렇게 잡든가, tokenizer까지 반영한 가격 모형을 쓰든가 해야 해. 없는 셈 치는 게 흔하고 비싼 실수야.
코드도 비싸다
소스 코드는 산문보다 빽빽해. tokenizer 입장에서는 같은 이름이 두 번 나오는 걸 거의 못 봤거든. handleAuthenticationCallback 같은 함수 이름은 4-6 token으로 쪼개지고, 호출되는 자리마다 그게 그대로 반복돼. 길고 친절한 변수명은 등장하는 곳마다 예산을 태운다는 뜻이야.
실전에서는
비용이 중요하면 모형한테 보낼 코드는 짧고 흔한 이름을 써. userId가 theCurrentlyAuthenticatedUserIdentifier보다 훨씬 적게 쪼개지거든. 한꺼번에 올리기 전엔 쓸데없는 공백이랑 꼬리에 달린 주석을 정리하고. CJK 자료는 원문에 짧은 영어 요약을 붙여서 보내. 양쪽 전문을 다 보내는 것보다 나아.
CJK 함정: 영어 기준으로 token 예산 잡아놓고 그대로 한국어 워크플로를 돌리면, 눈에 보이는 길이의 1/3쯤에서 한도를 친다. 처음부터 그걸 계산에 넣어.