How to actually track your AI / LLM API spend before the bill surprises you

개요

AI/LLM API 사용 비용을 예측치 못한 청구서 발생 전에 추적하고 관리하는 방법을 다룹니다.

주요 내용

* 비용 추적의 필요성: OpenAI SDK 등을 사용하여 기능을 출시한 후 재무팀으로부터 예상치 못한 높은 청구서에 대한 질문을 받는 경우가 발생하며, 제공업체 대시보드에서는 상세 내역을 파악하기 어렵습니다.
* 핵심 문제: AI/LLM API 비용은 단일 숫자로 제공되지만, 실제 비용은 기능별, 고객별, 모델별, 환경별 등 다양한 차원으로 분석되어야 합니다. 이러한 차원은 원시 청구서에 포함되지 않으므로, API 호출 시점에 자체적인 비즈니스 컨텍스트를 첨부하여 기록해야 합니다.
* 데이터 캡처 단계:
* 각 주요 제공업체는 응답에서 토큰 사용량을 반환합니다.
* 이 정보를 비즈니스 컨텍스트(기능 이름, 테넌트, 환경 등)와 함께 로깅해야 합니다.
* TypeScript와 OpenAI SDK를 예시로, feature, tenantId, env 등의 컨텍스트를 포함하여 recordUsage 함수를 통해 llm_usage 테이블에 데이터를 저장하는 방식을 제시합니다.
* 데이터 분석 단계:
* 수집된 데이터를 기반으로 기능별, 테넌트별 비용을 쿼리하여 분석할 수 있습니다.
* 일일 이상 감지 기능을 구현하여 월말 예상치 못한 청구서 발생 전에 비용 급증을 파악하고 대응할 수 있습니다. (예: 오늘 지출이 지난 7일간 일일 평균 지출의 1.5배를 초과하는 경우 알림)
* 자체 개발 방식의 한계:
* 가격 변동: 제공업체는 지속적으로 가격을 변경하고 신규 모델을 출시하므로, 가격 정보를 최신 상태로 유지하는 것이 번거롭습니다.
* 다중 제공업체: 여러 AI 제공업체를 사용할 경우, 각기 다른 사용량 형태와 가격 모델을 통합 관리해야 합니다.
* 클라우드 + AI 비용 통합: AI 토큰 비용 외에 관련 인프라(AWS/GCP 등) 비용까지 통합하여 분석하는 것은 데이터 엔지니어링 작업이 필요합니다.
* 배포 원인 파악: 특정 기능 출시나 코드 변경이 비용 상승의 원인인지 파악하려면, 지출 데이터와 Git 기록을 연관시켜야 합니다.
* 단순 이상 감지: 단순한 평균값 기반의 이상 감지는 요일별, 마케팅 캠페인 등 특정 이벤트로 인해 오탐(false positive)이 발생할 수 있습니다.
* 전용 도구 활용: 자체 개발 방식의 유지보수 부담이 커질 때, StackSpend와 같은 전용 도구는 비용 관리, 다중 제공업체 지원, 가격 업데이트, 계절성 고려 이상 감지, GitHub PR과의 연관 분석 등을 자동화하여 제공합니다.

시사점

AI/LLM API 비용을 효과적으로 관리하기 위해서는 API 호출 시점에 자체 컨텍스트를 첨부하여 데이터를 수집하고, 이를 바탕으로 다차원적인 분석을 수행하는 것이 중요합니다. 자체 개발 방식이 초기에는 효과적일 수 있으나, 유지보수 부담과 복잡성이 증가함에 따라 전용 도구 활용을 고려할 수 있습니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions