토큰 낭비를 멈춰라: LLM 비용을 97% 절감하는 방법
Source: Dev.to
AI 파이프라인에 숨겨진 세금
GPT나 Claude를 사용해 개발하고 있다면, 아마 다음과 같은 과정을 겪었을 겁니다:
- API 호출
- 큰 JSON 응답 받기
- 전체 데이터를 LLM에 전달
괜찮아 보이지만, 사실 그렇지 않습니다. 사용하지도 않는 데이터에 돈을 낭비하고 있는 겁니다.
예시 페이로드
{
"order": {
"id": 123,
"user": {
"name": "Midhun",
"email": "midhun@email.com"
},
"items": [ /* 100 objects */ ],
"metadata": { /* tons of fields */ }
}
}
LLM이 실제로 필요로 하는 것
{
"name": "Midhun",
"email": "midhun@email.com"
}
LLM은 보내는 모든 것에 대해 토큰을 청구합니다:
| 페이로드 | 토큰 수 | 대략적인 비용 (1 k 호출당) |
|---|---|---|
| 전체 JSON | ~1500 | 약 $45 |
| 필요한 데이터만 | ~60 | 약 $1 |
필요 이상으로 약 25배 더 비용을 지불하고 있으며, 이 비용은 매 요청마다 발생합니다.
일반적인 우회 방법 (그리고 그 한계)
user = data.get("order", {}).get("user", {})
email = user.get("email")
- 10개 이상의 필드
- 깊게 중첩된 구조
- 여러 API 호출
결과: 방어적인 null 체크, 깨지기 쉬운 파싱 로직, 곳곳에 반복되는 보일러플레이트. 구현 자체는 어렵지 않지만 번거롭고 오류가 발생하기 쉽습니다.
LLM에 보내기 전에 페이로드 정리하기
추출 단계
간단한 쿼리 형식으로 필요한 필드를 정의합니다:
{
"data": { /* raw payload */ },
"queries": {
"email": ".order.user.email",
"name": ".order.user.name"
}
}
출력
{
"email": "midhun@email.com",
"name": "Midhun"
}
비용 영향
| 페이로드 | 토큰 수 | 대략적인 비용 (1 k 호출당) |
|---|---|---|
| 원본 JSON | 1500 | 약 $45 |
| 정제된 JSON | 60 | 약 $1 |
결과: 토큰 사용량이 약 97 % 감소합니다. 이를 일일 요청량에 곱하면, 최적화 단계에서 실제 비용 제어 단계로 넘어갑니다.
구현 옵션
- JSONPath 라이브러리 사용 – 코드에 쿼리 엔진을 통합.
- 전처리 레이어 구축 – 원본 JSON과 쿼리를 받아 최소 페이로드를 반환하는 작은 서비스.
제가 만든 가벼운 “JSON 쿼리 엔진 서비스”는 다음과 같이 동작합니다:
- 입력: 원본 JSON + 쿼리
- 출력: 정제된 최소 페이로드
설정 필요 없고, 무거운 의존성도 없습니다.
활용 사례
- LLM에 데이터를 보내기 전 토큰 사용량 감소
- Stripe, Shopify, GitHub 등 서비스에서 받은 페이로드 정리
- 대규모 로그 또는 분석 데이터셋에서 필요한 필드만 추출
대부분 개발자는 프롬프트와 모델 선택 최적화에 집중하지만, 전송하는 데이터 자체가 숨은 낭비 원인인 경우가 많습니다. AI 시대에 효율성 = 수익입니다. 프롬프트를 조정하기 전에 입력 데이터를 최적화해 보세요.
직접 사용해 보기
JSON PowerExtract (RapidAPI에서 제공) – 필요한 필드를 추출해 주는 간단한 API입니다. 무료 티어(월 500 요청)로 오늘 바로 파이프라인에서 토큰 절감 효과를 테스트해 보세요.