tonl-dev/tonl

TONL (Token-Optimized Notation Language)

해결하는 문제

TONL (Token-Optimized Notation Language)은 구조화된 데이터의 크기를 줄이고, 대규모 언어 모델(LLMs)에 데이터를 입력할 때 발생하는 토큰 비용을 낮추기 위해 설계된 데이터 직렬화 형식 및 플랫폼입니다. JSON의 대안으로 인간이 읽기 쉬운 형식이지만, 바이트 수와 토큰 수 모두에서 훨씬 더 컴팩트하며, JSON과 완전한 양방향 호환성을 유지합니다.

작동 방식

TONL은 반복되는 JSON 키와 구조적 오버헤드를 스키마 유사한 헤더(예: users[3]{id:u32,name:str,role:str}:)로 대체하는 컴팩트한 표기법을 사용합니다. JSONPath 유사 구문을 사용하여 데이터의 인코딩, 디코딩, 쿼리가 가능한 포괄적인 TypeScript API를 제공합니다. 사이즈를 추가로 줄이기 위해 사전 인코딩, 델타 인코딩, 비트 패킹과 같은 고급 최적화 전략을 사용합니다.

대상 사용자

  • LLM 개발자: 프롬프트 내 구조화된 데이터를 압축하여 API 비용을 줄이고, 컨텍스트 창 효율을 높이고자 하는 분들.
  • 데이터 엔지니어: 설정 파일이나 API 응답용으로 빠르고 가벼우며 인간이 읽기 쉬운 직렬화 형식이 필요한 사용자들.
  • 프론트엔드 개발자: 브라우저에서 데이터 조작에 사용할 수 있는 작고 의존성이 없는 라이브러리가 필요한 개발자들.

주요 특징

  • 토큰 효율성: JSON 크기와 LLM 토큰 사용량을 32~45% 감소.
  • 강력한 쿼리 기능: JSONPath 쿼리, 필터 표현식, 트리 탐색을 지원.
  • 고급 압축: 적응형 최적화, 숫자 양자화, 런레인지 인코딩 포함.
  • 생산 환경 대응: 런타임 의존성 없음, 100% TypeScript, 테스트 커버리지 2,300개 이상.
  • 개발자 도구: 테마 지원 인터랙티브 CLI 대시보드, 스키마 검증 언어(TSL), VS Code 확장 기능 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트