아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
데브투 favicon데브투

LLM(Language Model) 사용, JSON 최적화로 비용 절감!

by DD
2026-01-08
6개월 전
조회수 22

LLM(Language Model) 기반 기능 개발 시 JSON 토큰 사용량(Token Usage)을 줄이기 위한 다양한 최적화 기법 소개

UUID를 짧은 ID로 대체, JSON 포맷팅 제거, 키 이름 축약 등 구체적인 방법론 제시

Kollabe의 회고 및 스탠드업 요약 기능에 실제 적용하여 토큰 사용량 50% 감소 효과를 확인

TOON(Token-Oriented Object Notation)과 같은 표준화된 압축 방식도 존재하지만, 유연한 커스터마이징(Customization)을 위해 자체적인 최적화 방식 선택

데이터 구조 단순화, 불필요한 메타데이터 제거 등을 통해 LLM(Language Model)의 추론 속도(Inference Speed) 향상 및 비용 절감 가능

UUID를 짧은 ID로 대체하는 방법

본문에서는 UUID(Universally Unique Identifier)를 짧은 ID로 대체하여 토큰 사용량을 줄이는 방법을 제시한다. UUID는 데이터베이스(Database)에서 고유 식별자로 유용하지만, LLM(Language Model)에게는 불필요한 토큰을 소모하는 원인이 된다.

UUID를 u-1, u-2와 같은 짧은 ID로 매핑: 동일한 사용자를 나타내는 경우, 짧은 ID를 재사용하여 토큰 절약

접두사(Prefix) 사용: 사용자(u), 질문(q), 답변(a) 등, 각 객체 유형에 따라 다른 접두사를 사용하여 LLM(Language Model)이 문맥을 이해하도록 돕는다.

구현: 데이터 처리 시, UUID와 짧은 ID 간의 매핑 테이블을 구축하여 관리한다. 이 방법은 JSON 데이터 크기(JSON Data Size)를 줄이는 효과를 가져온다.

JSON 포맷팅 제거 및 키 이름 축약

글에서는 JSON 포맷팅 제거와 키 이름 축약을 통해 토큰 사용량을 줄이는 방법을 설명한다. JSON.stringify()의 두 번째, 세 번째 인자를 활용하여 JSON 데이터 크기(JSON Data Size)를 최적화한다.

JSON.stringify() 활용: 공백 제거를 통해 데이터 압축(Data Compression) 효과를 얻는다.

키 이름 축약: odUserId를 uid로, userName을 name으로 변경하는 등, 의미를 해치지 않는 범위 내에서 키 이름을 줄인다.

구현: 개발자는 JSON 직렬화 시 포맷팅 옵션을 제거하고, 키 이름을 축약하는 규칙을 정의하여 적용한다. 이러한 방법은 JSON 파싱(JSON Parsing) 속도 향상에도 기여한다.

데이터 구조 단순화 및 불필요한 데이터 제거

본문에서는 중첩된 구조를 평탄화하고, null 또는 빈 값을 제거하여 토큰 사용량을 줄이는 방법을 소개한다. LLM(Language Model)에 불필요한 정보를 전달하지 않도록 데이터 전처리(Data Preprocessing)를 수행한다.

중첩 구조 평탄화: user -> profile -> name과 같은 중첩 구조를 name으로 변경하여 구조적 토큰(Structural Token) 사용을 줄인다.

null 및 빈 값 제거: 존재하지 않는 데이터는 LLM(Language Model)에 전달하지 않음으로써 토큰 낭비를 방지한다.

구현: 데이터 구조를 분석하고, 불필요한 중첩과 값을 제거하는 로직을 구현한다. 이러한 최적화는 LLM(Language Model)의 추론 정확도(Inference Accuracy) 향상에도 기여할 수 있다.

배열 사용 및 불리언 표현 최적화

글에서는 유사한 항목들을 배열로 표현하고, 불리언 값을 효율적으로 나타내는 방법을 제시한다. 데이터 구조를 변경하여 토큰 사용량(Token Usage)을 절감하고, LLM(Language Model)의 이해도를 높인다.

반복되는 객체 대신 배열 사용: 동일한 구조를 가진 객체들의 경우, 헤더 행과 데이터 행으로 구성된 배열을 사용하여 중복되는 키(Key)를 제거한다.

불리언 값 표현 최적화: false인 경우 필드를 생략하거나, true인 값만 배열에 포함하여 토큰 사용량을 줄인다.

구현: 데이터 구조를 분석하고, 배열로 표현하는 것이 효율적인지 판단한다. 불리언 값은 긍정적인 경우만 포함하도록 로직을 변경한다. 이러한 방법은 LLM(Language Model)의 성능 향상에 기여한다.

실제 사례: Kollabe의 회고 요약 기능

본문에서는 Kollabe의 회고 요약 기능에 적용된 JSON 최적화 사례를 보여준다. 실제 데이터를 기반으로 최적화 전후의 차이점을 비교 분석하여 최적화의 효과(Optimization Effect)를 시각적으로 제시한다.

최적화 전: UUID, 긴 키 이름, 중첩 구조, null 값, 타임스탬프(Timestamp) 등, 불필요한 데이터가 포함되어 토큰 사용량 증가

최적화 후: 짧은 ID, 축약된 키 이름, 구조 단순화, null 값 제거, 불필요한 데이터 제거를 통해 JSON 데이터 크기 50% 감소

결과: 토큰 비용 절감, 추론 속도 향상, LLM(Language Model)의 성능 향상

이러한 사례는 LLM(Language Model) 기반 서비스를 개발하는 개발자들에게 실질적인 가이드라인(Practical Guideline)을 제공한다.

Optimizing JSON for LLMs
중급
기술
JSON
LLM
AI/ML
데브투 favicon데브투
중급
기술
JSON
LLM
AI/ML

관련 추천 글

LLM으로 앱을? 바이브 코딩의 빛과 그림자

레딧 로고

LLM으로 테스트 데이터 자동 생성! 뱅크샐러드 QA팀의 비법

뱅크샐러드 로고

AI 에이전트, 이제 URL을 JSON으로 바로 활용!

프로덕트 헌트 로고
원문 읽기
원문 읽기

관련 추천 글

LLM으로 앱을? 바이브 코딩의 빛과 그림자

레딧 로고

LLM으로 테스트 데이터 자동 생성! 뱅크샐러드 QA팀의 비법

뱅크샐러드 로고

AI 에이전트, 이제 URL을 JSON으로 바로 활용!

프로덕트 헌트 로고

이번 주 DEV 인기 게시물 TOP 7

데브투 로고

이번 주 DEV 인기 게시글: AI, iOS 앱, 웹 프레임워크, 그리고 지식 공유의 미래

데브투 로고

구글, 프롬프트를 코드처럼 관리하는 비법 공개

데브투 로고

댓글 0

첫 번째 댓글을 남겨보세요!