KODA Format: 스키마 우선 데이터 포맷으로 LLM 토큰 사용량 감소 ( 40%)
I’m happy to translate the article for you, but I need the full text you’d like translated. Could you please paste the content (excluding the source line you already provided) here? I’ll then translate it into Korean while preserving the original formatting, markdown, and any code blocks or URLs.
소개
대형 언어 모델(LLM)을 사용해 애플리케이션을 구축할 때, 가장 간과되는 비용 중 하나는 구조화된 데이터가 어떻게 표현되는가 입니다. 대부분의 시스템은 JSON을 사용하지만, JSON은 LLM 입력에 비효율적입니다.
JSON의 문제점
JSON은 각 레코드마다 필드 이름을 반복해서 토큰을 낭비합니다.
예시
[
{"id": 1, "title": "Bug", "state": "open"},
{"id": 2, "title": "Fix", "state": "closed"}
]
각 객체는 id, title, state 키를 반복합니다.
1 000개의 레코드를 전송하면 해당 키가 1 000번 반복되어 다음과 같은 문제가 발생합니다:
- 토큰 낭비
- 비용 증가
- 실제 컨텍스트 창 감소
KODA: Knowledge‑Oriented Data Abstraction
KODA는 스키마‑우선 데이터 포맷으로, 구조화된 데이터를 LLM에 전송할 때 토큰 사용량을 줄이도록 설계되었습니다. 작동 방식은 다음과 같습니다:
- 구조를 한 번 정의 (스키마‑우선)
- 값을 위치 기반으로 인코딩
- JSON에서 반복되는 키를 제거
Optimized For
- Retrieval‑augmented generation (RAG) pipelines
- Tool‑calling systems
- Agent workflows
- High‑volume structured LLM input
KODA 구문 예시
KODA/1
@META
schemas:issue
counts:issue=3
@SCHEMA
issue:id title state
@DATA:issue
1|Bug|open
2|Fix|closed
키가 중복되지 않음—스키마 정의와 값만 포함됩니다.
토큰 감소 결과
실제 데이터셋에서 GPT‑4o‑mini 토크나이저로 측정.
| 사례 | JSON 토큰 | KODA 토큰 | 감소 |
|---|---|---|---|
| 반복 로그 | 3 202 | 1 233 | 61.5 % |
| GitHub 이슈 | 4 137 | 2 576 | 37.7 % |
| 소규모 데이터셋 | 26 | 35 | ‑34.6 % |
KODA는 크고 반복적인 구조화 데이터에서 가장 좋은 성능을 보입니다. 매우 작은 데이터셋의 경우, 스키마 오버헤드가 이점을 상쇄할 수 있습니다.
토큰이 중요한 이유
- Tokens = cost (API 가격)
- Tokens = latency (처리 시간)
- Tokens = context capacity (모델이 볼 수 있는 데이터 양)
토큰을 약 30–40 % 줄이면:
- API 비용 감소
- 사용 가능한 컨텍스트 증가
- 전체 시스템 효율성 향상
KODA 작동 방식
- Schema → 한 번 정의
- Data → 위치 기반 스트리밍
이렇게 하면 구조적 중복이 제거됩니다.
Python 예제
from koda import Schema, Field, encode
schema = Schema("user", [
Field("id"),
Field("name"),
Field("email", optional=True),
Field("active", default="true")
])
data = [
{"id": 1, "name": "Alice", "email": "alice@example.com"},
{"id": 2, "name": "Bob"}
]
koda_str = encode(data, schema)
print(koda_str)
포맷 비교
| 포맷 | 토큰 효율성 | 가독성 | 최적 사용 사례 |
|---|---|---|---|
| JSON | 낮음 | 높음 | API |
| YAML | 중간 | 중간 | 설정 파일 |
| TOON | 높음 | 중간 | LLM 구조화 데이터 |
| KODA | 높음 | 낮음 | LLM 파이프라인 |
KODA를 언제 사용해야 할까
다음과 같은 경우 KODA를 사용하세요:
- LLM에 대용량 구조화된 데이터셋을 전송할 때
- RAG 파이프라인을 구축할 때
- 툴 호출이나 에이전트를 사용할 때
- 프로덕션 시스템에서 토큰 사용량을 최적화할 때
다음과 같은 경우 KODA를 사용하지 마세요:
- 소규모 데이터셋 (1–2개 레코드)
- 불규칙하거나 깊게 중첩된 JSON
- 인간이 직접 만든 설정 파일 (JSON이 권장됨)
자주 묻는 질문
-
KODA가 JSON을 대체하나요?
아니요. KODA는 LLM 파이프라인을 위한 전송 형식으로, 최적화 레이어 역할을 합니다. 일반적인 사용에서는 JSON이 더 적합합니다. -
KODA는 모든 LLM에서 작동하나요?
LLM 입력을 위해 설계되었으며, 대규모 구조화된 데이터셋에서 가장 잘 작동합니다. -
어떤 워크로드가 가장 큰 혜택을 받나요?
RAG 파이프라인, 툴 호출 및 기타 구조화된 LLM 입력 시나리오가 해당됩니다.
시작하기
- 저장소:
- 설치:
pip install koda
구조화된 데이터를 LLM에 보내고 있다면 토큰을 낭비하고 있을 가능성이 높습니다. KODA는 그 오버헤드를 줄이는 간단한 방법을 제공합니다. 피드백 및 기여를 환영합니다.