대규모 언어모델(LLM) API를 사용할 때 가장 큰 비용 요소 중 하나는 바로 '토큰(token)'입니다. 글자 수나 단어 수와는 다르게 토큰은 특정 규칙에 따라 텍스트를 분할하며, 예상치 못하게 많은 토큰을 소모하는 경우가 많습니다. 이러한 비효율성을 해결하기 위해 LLM 프롬프트의 토큰 효율성을 분석하는 오픈소스 린터(linter) '토큰시프트(Tokensift)'가 최근 공개되어 개발자들의 주목을 받고 있습니다.
토큰시프트는 프롬프트 문자열, 메시지 배열, 도구 스키마 등을 실제 토크나이저(tokenizer)를 이용해 정적으로 분석합니다. 예를 들어, UUID나 Base64 인코딩된 파일, 들여쓰기된 JSON 등은 토크나이저가 재사용 가능한 패턴을 찾기 어려워 예상보다 많은 토큰을 소비하게 되는데, 토큰시프트는 이런 부분을 정확히 식별해냅니다. 특정 UUID가 18토큰을 소모하고 짧은 ID는 3토큰이면 충분하다거나, JSON이 들여쓰기로 인해 16토큰을 쓰는 반면 압축하면 9토큰으로 줄일 수 있다는 식의 구체적인 절감 방안과 예상 비용까지 제시합니다. 특히 오픈AI(OpenAI) 모델의 경우 실제 BPE(Byte Pair Encoding) 어휘를 사용해 정확한 토큰 수를 제공하며, 클로드(Claude)처럼 공개된 토크나이저가 없는 경우에도 보정된 추정치를 제공합니다.
이 도구는 코드 린터가 불필요한 변수를 찾아내듯, LLM 프롬프트에서 비용과 컨텍스트 창 공간을 낭비하는 텍스트를 찾아내는 데 중점을 둡니다. 라이브러리 형태로 코드나 테스트 스위트에서 호출하거나, CLI(명령줄 인터페이스) 도구로 프롬프트 파일을 분석하고 CI(지속적 통합) 파이프라인에 통합할 수 있습니다. 토큰시프트의 등장은 LLM 애플리케이션 개발자들이 프롬프트 엔지니어링 단계에서부터 비용 효율성을 고려하고, 불필요한 지출을 줄여 더 경제적이고 최적화된 서비스를 구축하는 데 큰 도움이 될 것으로 기대됩니다.