1. 작업별로 모델을 다르게 써요 (모델 라우팅)
가장 효과 큰 한 방. 모든 요청을 플래그십 모델(GPT-5.4 Pro, Claude Opus)에 보내는 게 아니라, 난이도에 따라 분기하세요.
- 분류·라우팅·간단 추출: Haiku 4.5, Gemini Flash-Lite, GPT-5.4 Nano
- 일반 챗봇·요약·콘텐츠: Sonnet 4.6, GPT-5.4, Gemini 3 Flash
- 복잡한 코딩·다단계 추론: Opus 4.7, GPT-5.4 Pro, o3
실제로 이 방식만 적용해도 비용이 60~80% 줄어요. 자세한 모델별 가격은 전체 비교표에서 확인하세요.
2. 프롬프트 캐싱 — 90% 할인의 비밀
챗봇·RAG 파이프라인처럼 같은 시스템 프롬프트나 문서가 반복되는 경우, 캐싱은 무조건 켜야 해요.
- OpenAI: 자동 캐싱 (50% 할인)
- Anthropic:
cache_control헤더로 명시 (90% 할인) - Google: 컨텍스트 캐싱 API (90% 할인)
- DeepSeek: 캐시 히트 시 입력가 1/10
2,000 토큰짜리 시스템 프롬프트를 매 요청마다 보내고 있다면, 캐싱 적용 시 입력 비용의 30~50%가 그냥 사라져요.
3. 배치 API — 50% 할인 자동 적용
실시간 응답이 필요 없는 작업이라면 무조건 배치를 쓰세요.
- 대량 데이터 분류·태깅
- 오프라인 콘텐츠 생성
- 모델 평가(eval)
- 일괄 번역·요약
24시간 이내 결과 반환을 받는 대신 모든 토큰 가격이 50% 할인돼요. 캐싱과 같이 쓰면 표준가의 5%까지 떨어질 수도 있어요.
4. 컨텍스트는 짧게 — 200K 임계점 주의
무조건 긴 컨텍스트가 좋은 게 아니에요. 일부 모델은 임계점을 넘으면 가격이 2배 됩니다.
- Gemini 3.1 Pro: 200K 초과 → $2/$12 → $4/$18
- GPT-5.4: 272K 초과 → $2.50/$15 → $5.00/$22.50
- Claude: 1M까지 일정한 가격 (장점)
RAG로 필요한 부분만 선별 검색해 보내는 게 거의 항상 더 효율적이에요.
5. 출력 길이 제한 — max_tokens 설정
출력은 입력보다 3~8배 비싼데, 모델은 종종 필요 이상으로 장황해요.
- API 호출 시
max_tokens파라미터로 출력 상한 설정 - 프롬프트에 "한 줄로 답변", "JSON만 출력" 같은 제약 추가
- Structured output / JSON mode 활용
이 작은 변경만으로도 출력 비용을 30~50% 줄일 수 있어요.
6. 한국어 vs 영어 — 토큰 효율
한국어는 영어보다 약 2배의 토큰을 소비해요. 모델 내부 처리는 영어 기반이라 한국어 → 영어 → 한국어 변환이 일어나거든요.
- 시스템 프롬프트는 영어로 (응답 품질 저하 거의 없음)
- RAG 문서는 가능하면 영어 원문 활용
- 최종 사용자 응답만 한국어로
💡 현실 팁: 콘텐츠 생성은 한국어로, 백엔드 로직(분류·추출)은 영어로. 비용은 30%, 응답 속도는 20% 개선돼요.
7. 메모리·요약 패턴 — 대화 길어질 때
멀티턴 챗봇은 대화가 길어질수록 매번 전체 기록을 보내야 해서 비용이 누적적으로 증가해요.
- Sliding window: 최근 N개 메시지만 유지
- 요약 메모리: 오래된 대화는 모델로 요약 후 단축
- 벡터 DB: Mem0 같은 메모리 레이어로 의미적 검색만 보냄
Mem0 등의 메모리 레이어를 쓰면 토큰 사용량을 90%까지 줄였다는 사례도 있어요.
🎯 우선순위는 이렇게
- 모델 라우팅 — 효과 가장 큼 (60~80% 절감)
- 프롬프트 캐싱 — 챗봇이면 무조건 (30~90% 절감)
- 배치 API — 비동기 가능하면 무조건 (50% 절감)
- 출력 제한 → 컨텍스트 관리 → 언어 최적화 순으로 적용