비용이 폭증한 이유

팀이 생성형 AI를 처음 도입했을 때, 모든 사용자 요청을 가장 최신의 가장 강력한 모델로 보냈습니다. 트래픽이 증가함에 따라 요청당 비용도 함께 상승했고, CFO의 스프레드시트에는 지출이 사용자 증가 속도를 앞지르고 있음이 나타났습니다. "그저 더 저렴한 모델을 사용하라"는 식의 일반적인 임시방편은 실제 운영 환경에서는 통하지 않습니다. 쿼리마다 필요한 추론 수준이 다르기 때문입니다. 핵심 레버는 항상 어떤 모델을 사용하는가가 아니라, 요청을 어떻게 보내느냐에 있습니다.

비용을 절감하는 라우팅 레이어 구축하기

엔지니어는 추론 서비스를 다른 프로덕션 구성 요소와 동일하게 취급했습니다. 즉, 티어(tier)를 정의하고, SLA를 설정하며, 지연 시간 예산(latency budget)을 강제하는 방식입니다. 그 결과 탄생한 아키텍처는 네 가지 구성 요소가 유기적으로 작동하며 총 95%의 비용 절감을 달实现합니다.

티어별 라우팅 (Tiered routing)

가벼운 프런트엔드가 들어오는 각 요청의 난이도를 분류합니다. 약 95%의 쿼리는 적당한 성능의 모델이 실행되는 '저렴한' 티어에 할당되며, 가장 어려운 5%만이 프리미엄 모델로 에스컬레이션(escalation)됩니다. 분류는 규칙 기반(예: 길이, 도메인 특정 키워드 포함 여부)으로 수행하거나 과거의 에스컬레이션 데이터를 통해 학습할 수 있습니다. 기본 설정을 저비용 티어로 지정함으로써, 챗봇의 월간 비용은 420달러에서 28달러로 급감했습니다.

모델 적정 규모 산정 (Model right-sizing)

모델의 성능을 작업의 복잡도에 맞추는 것이 가장 큰 절감 효과를 가져옵니다.

  • 단순 채팅 – 플래그십 모델 대신 경량 모델 사용 (97.5% 절감).
  • 분류(Classification) – 중간 크기 모델을 더 저렴한 대안으로 교체 (98.3% 절감).
  • 요약(Summarization) – 최상위 모델을 중간 단계 모델로 교체 (97.2% 절감).

정확한 모델 이름은 중요하지 않습니다. 핵심 원칙은 정말로 필요한 소수의 쿼리를 위해 가장 성능이 뛰어난 모델을 예비로 남겨두는 것입니다.

스마트 캐싱 (Smart caching)

캐시 히트(cache hit)가 발생할 때마다 네트워크 호출과 API 비용을 제거할 수 있습니다. 분산 Redis 캐시는 성공적인 응답뿐만 아니라 "모릅니다"와 같은 '부정적인' 답변도 저장합니다. 동일한 답변 불가능한 질문이 다시 나타나면, 시스템은 모델을 다시 호출하는 대신 캐시된 "모릅니다"를 반환합니다. 수천 건의 요청을 처리하다 보면, 이것만으로도 청구 금액의 상당 부분을 줄일 수 있습니다.

프롬프트 압축 (Prompt compression)

긴 프롬프트는 토큰 사용량을 늘리며, 이는 곧 비용으로 직결됩니다. 팀은 클라이언트 측이나 전처리 단계에서 저렴한 요약기를 실행하여, 2,000 토큰의 컨텍스트를 고비용 모델에 도달하기 전에 약 400 토큰으로 축소합니다. 토큰 감소 효과는 모든 요청에 걸쳐 배가되어, 최종 사용자 경험을 해치지 않으면서도 막대한 비용 절감을 가져옵니다.

전략적 배치 처리 (Strategic batching)

배치(Batching)는 여러 개의 독립적인 요청을 하나의 API 호출로 그룹화합니다. 원칙은 간단합니다. 사용자가 답변을 기다리고 있다면 배치를 사용하지 말고, 요청이 백그라운드에서 실행된다면(야간 보고서, 예약된 작업 등) 모든 것을 배치로 처리하십시오. 야간 배치 작업만으로도 지출의 10~20%를 추가로 절감할 수 있습니다.

최적화 루프 모니터링

측정할 수 없는 것은 개선할 수 없습니다. 엔지니어는 네 가지 주간 지표를 설정했습니다.

  1. 티어별 요청당 비용.
  2. 각 라우팅 경로의 캐시 히트율(Cache-hit rate).
  3. 저가형에서 프리미엄 티어로의 에스컬레이션 비율.
  4. 고객 세그먼트별 지출액.

이 수치들은 편차(drift)를 드러냅니다. 예를 들어, 에스컬레이션 비율이 상승하면 분류 로직이 너무 공격적이거나 저가형 모델의 품질이 저하되었음을 의미할 수 있습니다. 팀은 매주 임계값, 모델 할당 및 캐시 정책을 반복적으로 개선하며, 비용 관리를 위기 대응이 아닌 하나의 습관으로 만들어 나갑니다.

요약 (Takeaway)

요청을 분류하고, 모델 규모를 적정하게 맞추며, 공격적으로 캐싱하고, 프롬프트를 압축하며, 백그라운드 작업을 배치로 처리하는 체계적인 라우팅 레이어는 신뢰성을 높게 유지하면서도 AI API 지출을 최대 95%까지 줄일 수 있습니다. 추론 스택을 하나의 프로덕션 서비스로 취급하십시오. 티어를 정의하고, 결과를 측정하며, 매주 반복하여 개선하십시오.