AI 요금 폭탄, 어디서 새고 있을까?

프로토타입은 몇 천 원, 출시 후엔 수십만 원. 작은 팀이 AI 원가를 잡는 순서를 정리했습니다.

AI 트렌드 대표 이미지

AI 기능을 붙인 팀들이 요즘 공통으로 겪는 순간이 있습니다.
만들 때는 하루 몇 백 원이던 API 요금이, 출시 두 달째 청구서에서 갑자기 자릿수가 달라져 있는 겁니다.
사용자가 폭증해서 그런 경우는 오히려 드뭅니다.
대부분은 사용량이 아니라 구조가 문제입니다.
같은 일을 하면서 토큰을 몇 배로 쓰고 있는데, 아무도 그걸 보고 있지 않았을 뿐입니다.

모델 단가는 계속 내려가는 중입니다.
그런데 요금은 왜 늘까요?
단가가 내려간 만큼 우리가 모델에게 더 많이, 더 자주, 더 길게 물어보기 때문입니다.
에이전트·자동화가 퍼질수록 이 격차는 커집니다.
원가 구조를 모르는 채로 가격표를 만들면, 잘 팔릴수록 손해 보는 상품이 됩니다.

AI 요금은 왜 예상보다 커질까?

대부분의 초과 비용은 트래픽이 아니라 반복되는 낭비에서 나옵니다.
한 번의 사용자 요청이 내부적으로 여러 번의 모델 호출로 번지고, 매번 같은 지시문과 문서를 통째로 다시 보내는 구조가 가장 흔한 원인입니다.
아래 여섯 가지 중 두세 개는 대부분의 서비스에 이미 들어 있습니다.

  • 대화 누적: 채팅이 길어질수록 이전 내용을 전부 다시 보내 입력 토큰이 눈덩이처럼 불어남
  • 통째로 넣기: 검색해서 필요한 문단만 넣으면 될 것을 매뉴얼 전체, 상품 목록 전체를 프롬프트에 붙임
  • 보이지 않는 재시도: 형식이 틀리거나 타임아웃이 나면 자동 재시도가 도는데, 실패 로그만 남고 비용 로그는 없음
  • 에이전트 루프: 도구를 호출할 때마다 대화 전체가 다시 들어가서, 5단계짜리 작업이 단순 호출의 수십 배가 됨
  • 과잉 모델: 분류·요약·태깅처럼 가벼운 일까지 최상위 모델로 처리
  • 무방비 무료 체험: 로그인 없이 열어둔 데모에 자동화 스크립트가 붙는 경우

어디부터 줄여야 할까?

순서가 중요합니다.
측정 없이 최적화부터 하면 체감 품질만 떨어지고 요금은 그대로입니다. 측정 → 캐싱 → 라우팅 → 컨텍스트 다이어트 순으로 손대면, 코드 구조를 크게 바꾸지 않고도 대부분의 낭비가 정리됩니다.

  1. 요청 단위로 기록하기: 어떤 기능이, 어떤 모델로, 입력·출력 토큰을 얼마나 썼는지 한 줄씩 남깁니다.
    기능별 원가표가 나오는 순간 범인은 대개 한두 개로 좁혀집니다.
  2. 프롬프트 캐싱 켜기: 시스템 지시문, 브랜드 가이드, 상품 정책처럼 매번 똑같이 들어가는 앞부분은 캐싱 대상입니다.
    OpenAI·Anthropic·Google 모두 캐시된 입력에 더 낮은 단가를 적용합니다.
    고정 블록을 앞에, 바뀌는 내용을 뒤에 두는 것만으로 적용 대상이 됩니다.
  3. 모델 라우팅: 기본은 작고 빠른 모델, 어려운 요청만 상위 모델로 넘깁니다.
    예를 들어 문의 분류와 정형 답변은 소형 모델, 환불·클레임처럼 판단이 필요한 건만 상위 모델로 올리는 식입니다.
  4. 컨텍스트 줄이기: 문서 전체 대신 검색 상위 3~5개 문단만. 대화는 최근 몇 턴 + 요약본으로 대체합니다.
  5. 출력 통제: 최대 토큰을 정하고, 자유 서술 대신 JSON 같은 구조화 출력으로 받습니다.
    짧게 답하라고 프롬프트에 쓰는 것보다 확실합니다.
  6. 급하지 않은 일은 배치로: 상품 설명 일괄 생성, 리뷰 분류처럼 실시간이 아닌 작업은 배치 API로 돌리면 단가가 내려갑니다.

예시: 문의 응대 봇의 원가 정리

회원 20명 규모 쇼핑몰의 상담 봇이 매 질문마다 배송·교환 정책 전문과 전체 대화 기록을 보내고 있었다고 해봅시다.
정책 문서를 고정 블록으로 앞에 빼서 캐싱하고, 대화는 최근 6턴만 유지하고, 단순 배송 조회는 소형 모델로 분기하면 코드 변경은 반나절이지만 청구서는 확실히 달라집니다.
중요한 건 바꾸기 전에 미니 평가셋으로 답변 품질을 먼저 고정해두는 것입니다.

요금이 터지지 않게 하려면 어떤 가드레일이 필요할까?

최적화는 평균을 낮추고, 가드레일은 최악의 하루를 막습니다.
둘은 다른 일이고 둘 다 필요합니다.
특히 에이전트처럼 스스로 반복하는 구조라면 한도 설정이 최적화보다 먼저입니다.

  • 사용자·조직별 일일 한도와 초과 시 안내 메시지
  • 에이전트 최대 스텝 수와 타임아웃 — 무한 루프 한 건이 하루 예산을 삼킵니다
  • 플랫폼 콘솔의 월 예산 알림을 실제 담당자 휴대폰으로
  • 공개 데모는 로그인 또는 레이트 리밋 뒤에 두기
  • 가격 정책에 원가 반영: 무제한 대신 크레딧·횟수제, 무거운 기능은 상위 요금제로

AI 원가는 서버비처럼 고정비가 아니라 재료비에 가깝습니다.
한 번 팔릴 때마다 얼마가 나가는지 아는 팀만이 제대로 된 가격을 정할 수 있습니다.
이번 주에 할 일은 딱 하나여도 충분합니다.
기능별 토큰 로그 한 줄을 남기는 것. 나머지 결정은 그 표가 대신 해줍니다.

자주 묻는 질문

AI 요금을 줄이면 답변 품질이 떨어지지 않나요?
무작정 모델을 낮추면 떨어집니다. 그래서 바꾸기 전에 대표 질문 20~30개로 미니 평가셋을 만들어 기준선을 잡고, 캐싱과 컨텍스트 정리처럼 품질에 영향이 적은 항목부터 손대는 것이 안전합니다. 모델 라우팅은 쉬운 요청만 소형 모델로 내리는 식으로 단계적으로 적용하세요.
프롬프트 캐싱은 어떻게 적용하나요?
매 요청마다 동일하게 들어가는 시스템 지시문·정책 문서·예시를 프롬프트 맨 앞에 고정 블록으로 모으고, 사용자 입력처럼 매번 바뀌는 부분을 뒤에 배치하면 됩니다. OpenAI, Anthropic, Google 모두 캐시된 입력 토큰에 더 낮은 단가를 적용하므로 순서만 바꿔도 효과가 있습니다.
AI 기능 가격은 원가에 어떻게 반영해야 하나요?
기능별로 1회 실행 평균 원가를 먼저 계산한 뒤, 헤비 유저 상위 몇 %가 만들어내는 비용까지 감당 가능한지 확인하세요. 사용량 편차가 큰 기능은 무제한 정액제보다 크레딧이나 횟수 제한이 안전하고, 원가가 높은 기능은 상위 요금제로 분리하는 편이 좋습니다.