ChatGPT, Claude, Gemini, API를 통한 AI 모델 등 AI를 자주 사용한다면 토큰이라는 용어를 자주 접하게 될 것입니다.
토큰은 기본적으로 AI가 처리하는 텍스트 조각입니다. 대화, 프롬프트, 문서, 생성된 응답이 길수록 더 많은 토큰이 사용됩니다.
AI를 가끔만 사용한다면 크게 느끼지 못할 수도 있습니다. 그러나 AI를 애플리케이션, 자동화, 챗봇, 번역기, 대량 기사 생성 등에 사용한다면 통제되지 않은 토큰 사용으로 비용이 크게 늘어날 수 있습니다.
출력 품질을 크게 희생하지 않으면서 AI 토큰을 절약할 수 있는 몇 가지 간단한 방법을 소개합니다.
1. 프롬프트를 너무 길게 만들지 마세요
프롬프트에 너무 많은 지시사항을 넣는 것은 꽤 흔한 실수입니다.
예를 들어:
발리(Bali)에 관한 기사를 작성해 주세요.
기사는 읽기 쉬워야 합니다.
영어를 사용하세요.
너무 격식 있지 않아야 합니다.
인간적인 느낌이 나게 해주세요.
너무 어려운 언어를 사용하지 마세요.
여행자가 이해하기 쉬워야 합니다.
간단한 문장을 사용하세요.
일부 지시사항은 실제로 결합할 수 있습니다.
예를 들어:
국제 관광객을 위한 발리(Bali)에 대해 캐주얼하고 읽기 쉬운 영어 여행 기사를 작성하세요.
요청한 결과는 여전히 명확하지만 전송되는 토큰 수는 훨씬 적습니다.
간단한 원칙은 다음과 같습니다:
프롬프트는 길지 않고 명확해야 합니다.
2. AI 응답 길이 제한하기
짧은 답변만 필요하다면 AI가 지나치게 긴 텍스트를 생성하지 않게 하세요.
다음과 같은 지시사항을 추가할 수 있습니다:
최대 150단어로 답변하세요.
또는:
설명 없이 최종 답변만 제공하세요.
AI 출력도 일반적으로 토큰으로 계산되므로 API를 통해 AI를 사용하는 경우 매우 유용합니다.
출력이 길수록 비용이 높아집니다.
3. 필요하지 않으면 대화 전체를 보내지 마세요
챗봇 애플리케이션에서 토큰 사용량이 많은 원인 중 하나는 전체 채팅 기록이 항상 AI로 다시 전송된다는 점입니다.
예를 들어 대화가 50개의 메시지에 도달했습니다.
모든 요청이 50개의 메시지를 모두 보내면 AI는 새 질문이 있을 때마다 모든 메시지를 다시 읽어야 합니다.
하지만 AI는 마지막 5~10개의 메시지만 필요할 수 있습니다.
해결책은 다음만 보내는 것입니다:
시스템 지시사항
+
마지막 5개 메시지
+
최신 사용자 메시지
더 복잡한 애플리케이션의 경우 이전 대화를 먼저 요약할 수도 있습니다.
4. 긴 대화에는 요약 사용하기
AI가 이전 대화의 맥락을 여전히 필요로 한다면 모든 것을 전체로 보낼 필요는 없습니다.
예를 들어 이전 대화가 10,000개의 토큰이었다고 가정해 봅시다.
모든 것을 다시 보내는 대신 다음과 같은 요약을 만드세요:
사용자는 Next.js와 Laravel을 사용하여 빌라 예약 애플리케이션을 구축하고 있습니다.
현재 진행 상황:
- 인증 완료
- 예약 API 완료
- 달력 통합은 아직 개발 중
- 사용자는 TypeScript 대신 JavaScript를 선호함
그 요약은 몇 백 개의 토큰만 사용할 수 있지만 여전히 AI에게 충분한 맥락을 제공합니다.
이 방법은 긴 대화를 하는 챗봇에 매우 효과적입니다.
5. 작업에 따라 모델 선택하기
모든 작업이 가장 고급 AI 모델을 요구하는 것은 아닙니다.
다음과 같은 간단한 작업의 경우:
- 번역
- 분류
- 메타 설명 만들기
- 텍스트 정리
- 데이터 추출
- 카테고리 결정
- 태그 만들기
- 감정 분석
더 작은 모델로 충분한 경우가 많습니다.
더 강력한 모델은 다음과 같은 작업에 더 적합합니다:
- 복잡한 분석
- 코딩
- 계획
- 추론
- 복잡한 문서 읽기
- 대량의 데이터를 기반으로 의사 결정
좋은 전략은 하나의 애플리케이션에서 여러 모델을 사용하는 것입니다.
예를 들어:
번역 → 소형 모델
분류 → 소형 모델
기사 생성 → 중형 모델
복잡한 추론 → 대형 모델
이렇게 하면 AI 비용을 훨씬 더 잘 통제할 수 있습니다.
6. 불필요한 데이터를 보내지 마세요
예를 들어 AI가 제품 설명을 만들도록 하려고 합니다.
다음과 같이 전체 제품 데이터를 보내지 마세요:
{
"id": 8293,
"created_at": "...",
"updated_at": "...",
"internal_code": "...",
"database_id": "...",
"name": "Villa Bumi",
"bedroom": 4,
"location": "Kerobokan",
"description": "...",
"internal_notes": "...",
"staff_id": "...",
"supplier_id": "..."
}
AI가 다음만 필요하다면:
{
"name": "Villa Bumi",
"bedroom": 4,
"location": "Kerobokan",
"description": "..."
}
그 부분만 보내세요.
AI로 보내는 데이터가 깨끗할수록 낭비되는 토큰이 줄어듭니다.
7. 지나치게 큰 JSON 피하기
JSON은 애플리케이션과 AI 간의 통신에 확실히 편리합니다.
문제는 JSON 형식이 필드 이름이 반복되기 때문에 상당히 많은 토큰을 사용할 수 있다는 점입니다.
예를 들어:
{
"villa_name": "Villa A",
"villa_location": "Seminyak",
"villa_bedroom": 4
}
데이터에 수천 개의 행이 있다면 필드 이름만으로도 토큰 사용량이 상당할 수 있습니다.
대량의 데이터의 경우 더 간단한 형식이 때때로 더 효율적일 수 있습니다.
예를 들어:
Villa A | Seminyak | 4BR
Villa B | Umalas | 3BR
Villa C | Canggu | 5BR
형식이 AI와 애플리케이션이 이해하기 쉬운지 확인하세요.
8. 대용량 문서에는 RAG 사용하기
수백 개의 기사나 문서가 있다면 사용자가 질문할 때마다 모두 보내지 마세요.
RAG(검색 증강 생성) 시스템을 사용하세요.
기본 개념:
사용자 질문
↓
관련 문서 검색
↓
중요한 부분 몇 개 선택
↓
해당 부분을 AI로 전송
↓
AI가 답변 생성
예를 들어 데이터베이스에 1,000개의 기사가 있습니다.
사용자가 묻습니다:
공항 이동 비용은 얼마인가요?
시스템은 공항 이동에 대해 다루는 문서만 가져옵니다.
AI는 1,000개의 기사를 모두 읽을 필요가 없습니다.
토큰을 절약하는 것 외에도 이 방법은 답변을 더 관련성 있게 만드는 경우가 많습니다.
9. 데이터베이스에서 가져오는 데이터 양 제한하기
AI가 데이터베이스에서 데이터를 가져올 때도 동일하게 적용됩니다.
예를 들어 50,000개의 예약이 있습니다.
다음과 같이 직접 보내지 마세요:
SELECT * FROM bookings;
질문이 다음과 같다면:
8월 예약은 몇 건인가요?
데이터베이스가 먼저 필터링을 수행하는 것이 좋습니다.
예를 들어:
SELECT *
FROM bookings
WHERE check_in >= '2026-08-01'
AND check_in < '2026-09-01';
AI가 예약 건수만 필요로 해도 데이터베이스가 직접 다음과 같이 할 수 있습니다:
SELECT COUNT(*)
FROM bookings
WHERE check_in >= '2026-08-01'
AND check_in < '2026-09-01';
데이터베이스에 더 적합한 작업은 데이터베이스가 처리하도록 하세요.
모든 것을 AI에 던지지 마세요.
10. 이미 존재하는 데이터를 AI가 생성하도록 요구하지 마세요
예를 들어 애플리케이션이 이미 알고 있습니다:
체크인: 8월 10일
체크아웃: 8월 15일
단순히 숙박 일수만 알고 싶다면 실제로 AI가 필요하지 않습니다.
다음과 같은 계산은:
8월 15일 - 8월 10일 = 5박
코드로 직접 처리하는 것이 더 좋습니다.
AI는 실제로 언어나 추론 능력이 필요한 작업에 사용해야 합니다.
다음과 같은 간단한 작업은:
- 계산
- 필터링
- 정렬
- 날짜 형식 지정
- 데이터 변환
- 간단한 검증
애플리케이션에서 직접 처리하는 것이 일반적으로 더 저렴하고 빠릅니다.
11. 자주 사용되는 AI 결과 캐시하기
같은 질문이 자주 나온다면 캐시 사용을 고려하세요.
예를 들어 사용자들이 자주 묻습니다:
체크인 시간은 몇 시인가요?
정보가 항상 동일하다면 매번 AI를 호출할 필요가 없습니다.
이전 결과를 저장할 수 있습니다.
개념은 다음과 같습니다:
사용자 요청
↓
캐시 확인
↓
결과 가능?
├── 있음 → 이전 결과 사용
└── 없음 → AI 요청 → 캐시에 저장
캐싱은 트래픽이 많은 애플리케이션에 매우 유용합니다.
12. 너무 많은 예제를 제공하지 마세요
프롬프트의 예제는 AI가 원하는 형식을 이해하는 데 도움이 됩니다.
하지만 너무 많은 예제는 토큰 사용량도 증가시킵니다.
예를 들어 기사 예제가 20개 있습니다.
반드시 모두 보낼 필요는 없습니다.
보통 다음을 제공하는 것으로 충분합니다:
1~3개의 가장 좋은 예제
원하는 출력 스타일을 가장 잘 대표하는 예제를 선택하세요.
13. 필수 프롬프트와 선택 프롬프트 분리하기
큰 시스템 프롬프트가 있다면 각 지시사항을 다시 검토해 보세요.
물어보세요:
AI가 모든 요청에 대해 이 지시사항을 정말로 필요로 합니까?
대답이 아니오라면 그 지시사항은 제거하거나 필요할 때만 보낼 수 있습니다.
처음에 3,000토큰이었던 시스템 프롬프트는 출력에 큰 변화 없이 때때로 800~1,500토큰으로 줄일 수 있습니다.
애플리케이션이 수천 개의 요청을 처리한다면 이러한 절약은 상당히 클 수 있습니다.
14. 토큰 사용량 모니터링하기
월말에 총 AI 비용만 보지 마세요.
각 요청에 대한 토큰 사용량을 기록하는 것이 좋습니다.
예를 들어:
기능: 기사 생성기
입력 토큰: 1,240
출력 토큰: 1,850
총 토큰: 3,090
그런 다음 다른 기능과 비교하세요:
번역기
평균: 850토큰
기사 생성기
평균: 3,500토큰
고객 지원
평균: 6,200토큰
이를 통해 어떤 기능이 가장 많은 토큰을 사용하는지 확인할 수 있습니다.
15. 요청당 비용 계산하기
상업용 애플리케이션에서 중요한 숫자 중 하나는 요청당 비용입니다.
예를 들어:
1회 요청 = Rp20
다음과 같은 경우:
하루 100회 요청
대략 다음과 같습니다:
하루 Rp2,000
하지만 다음과 같은 경우:
하루 100,000회 요청
비용은 다음과 같아집니다:
하루 Rp2,000,000
그래서 작은 최적화가 애플리케이션에 사용자가 많아지기 시작할 때 큰 영향을 미칠 수 있습니다.
가장 효과적인 전략 조합
토큰을 더 효율적으로 사용하려면 다음과 같은 흐름을 사용할 수 있습니다:
사용자 요청
↓
AI 없이 처리할 수 있는가?
↓
있음 → 애플리케이션으로 처리
↓
없음
↓
관련 데이터만 가져오기
↓
작업을 수행할 수 있는 가장 저렴한 모델 사용
↓
출력 길이 제한
↓
가능하면 결과를 캐시에 저장
이런 시스템을 사용하면 AI는 정말로 필요할 때만 사용됩니다.
결론
토큰을 절약한다는 것은 AI를 더 단순하게 만들거나 프롬프트를 가능한 한 짧게 만든다는 의미가 아닙니다.
해야 할 일은 최종 결과에 가치를 더하지 않는 정보를 제거하는 것입니다.
가장 효과적인 최적화 중 일부는 다음과 같습니다:
- 프롬프트를 더 간결하게 만들기
- 출력 길이 제한
- 전체 채팅 기록을 보내지 않기
- 오래된 대화 요약
- 작업에 따라 모델 선택
- 필요한 데이터만 보내기
- 대용량 문서에 RAG 사용
- 데이터베이스에서 필터링
- 간단한 작업에 코드 사용
- 캐시 사용
- 요청당 비용 모니터링
AI를 대규모로 사용한다면 요청당 몇 백 개의 토큰만 절약해도 상당한 절감 효과를 얻을 수 있습니다.
결론은 AI가 실제로 읽을 필요가 없는 데이터를 처리하는 데 AI를 사용하지 마세요.
저자
Wilan
발리 아일랜드 테크노(Bali Island Tekno)의 정기 기고자로, 기술, 프로그래밍, 소프트웨어 엔지니어링 분야에 대한 지식을 적극적으로 공유하고 있습니다.