40명의 엔지니어에게 코딩 에이전트(Coding Agents)를 맡겼더니, 청구서가 처참하게 날아왔습니다.
요약
코딩 에이전트 도입 후 급증하는 API 비용 문제를 해결하기 위해 LiteLLM 프록시를 도입한 사례를 소개합니다. 개발자별 예산 제한, 팀 단위 한도 설정, 모델 액세스 제어를 통해 비용 가시성을 확보하고 예산 초과를 방지하는 방법을 다룹니다.
핵심 포인트
- 코딩 에이전트의 잦은 API 호출로 인한 급격한 비용 상승 위험
- LiteLLM을 활용한 프록시 기반의 비용 추적 및 예산 관리
- 개발자별/팀별 가상 키 발급을 통한 엄격한 예산 한도 설정
- 작업 성격에 따른 모델 액세스 제어로 비용 최적화 구현
- 태그를 활용한 상세한 비용 귀속 및 가시성 확보
당신의 엔지니어링 팀은 지난달 Claude Code를 도입했습니다. 생산성은 올라갔습니다. 그러다 청구서가 날아왔습니다.
340% 증가.
아무도 이를 위한 예산을 세우지 않았습니다. 누가 무엇을 얼마나 썼는지조차 아무도 몰랐습니다.
예산을 파괴하는 계산법
단 한 번의 코딩 에이전트 (Coding Agent) 세션은 50200회의 API 호출을 발생시킵니다. Claude Sonnet 4는 매 호출마다 100K 이상의 컨텍스트 윈도우 (Context Windows)를 처리합니다. 개발자 한 명이 하루 종일 세션을 실행하면 50100달러를 소모합니다.
이를 40명의 엔지니어로 확장하면, 예상치 못한 AI 지출이 월 20,000달러에 달하게 됩니다.
근본 원인은 바로 생(raw) API 키였습니다. 개발자별 예산도, 팀별 한도도, 가시성도 없었습니다. 문제는 인보이스(Invoice)가 도착했을 때야 알게 됩니다.
우리가 한 일
우리는 코딩 에이전트와 LLM 제공업체 사이에 LiteLLM을 배치했습니다. 모든 호출은 프록시 (Proxy)를 통해 흐르며, 추적되고, 예산 확인을 거칩니다. 설정하는 데는 아마 15분 정도 걸렸을 것입니다.
개발자별 예산 키 (Per-developer budget keys)
각 엔지니어는 엄격한 예산 한도가 설정된 가상 키를 받습니다:
curl -X POST 'http://litellm-proxy:4000/key/generate' \
-H 'Authorization: Bearer sk-master' \
-d '{
...
월 100달러 한도입니다. 자동 리셋됩니다. 제어되지 않는 루프 (Runaway loop)가 10분 만에 예산을 다 써버리지 못하도록 속도 제한 (Rate-limited)이 걸려 있습니다.
개발자는 환경 변수 (Env var) 하나만 바꾸면 됩니다:
export ANTHROPIC_BASE_URL=http://litellm-proxy:4000
export ANTHROPIC_API_KEY=sk-alice-generated-key
Claude Code는 게이트웨이 (Gateway)를 거치고 있다는 사실을 알지 못합니다. SDK 변경도, 설정 파일 수정도, 아무것도 필요 없습니다.
두 번째 방어선으로서의 팀 예산
개별 한도도 좋지만, 팀 예산은 20명의 개발자가 각각 90달러씩 써서 총 1,800달러가 되는 상황을 방지합니다:
curl -X POST 'http://litellm-proxy:4000/team/new' \
-H 'Authorization: Bearer sk-master' \
-d '{
...
예산 확인은 키, 팀, 조직 (Org) 등 모든 단계에서 이루어집니다. 어떤 한도라도 초과하면 요청은 명확한 에러와 함께 거부됩니다. 조용히 실패하는 일은 없습니다.
모델 액세스 제어 (Model access controls)
모든 작업에 Claude Opus (입력 토큰 100만 개당 15달러)가 필요한 것은 아닙니다. 대부분의 코딩 에이전트 작업, 즉 자동 완성 (Autocomplete), 테스트 생성 (Test generation), 문서화 (Docs) 등은 Sonnet 4 (100만 개당 3달러)나 GPT-4.1-mini (100만 개당 0.40달러)의 영역입니다.
주니어 개발자에게는 비용 효율적인 모델만 접근 권한을 부여합니다. 시니어 엔지니어는 전체 메뉴를 사용할 수 있습니다. 만약 인턴의 에이전트가 Opus를 호출하려고 시도하면, 토큰이 소비되기 전에 요청이 거부됩니다.
태그를 통한 비용 귀속 (Cost attribution)
이 부분이 실제로 우리 CFO를 기쁘게 만든 대목입니다:
response = client.chat.completions.create(
model="claude-sonnet-4",
messages=[{"role": "user", "content": "Refactor this function..."}],
...
이제 "AI 비용이 월 5만 달러입니다"라는 대화 대신, "결제 팀이 3분기 리팩토링을 위해 Claude Sonnet에 1만 2천 달러를 지출하여 엔지니어링 시간 3주를 절약했습니다"라는 대화가 가능해집니다.
수치 (The numbers)
제어 장치가 없다면, 조직 전체에 에이전트를 도입한 지 3개월 차의 모습은 다음과 같습니다:
- 개발자 80명, 일일 4세션, 세션당 평균 비용 15달러
- 월 105,600달러의, 아무도 계획하지 않았던 AI 지출
개발자당 한도(월 100달러)와 팀 예산(월 2,000달러)을 설정하면, 노출 범위를 실제로 선택한 수치 내로 제한할 수 있습니다. 사용량의 50%에 도달하면 알림이 발생하여, 조정할 수 있는 2주의 시간을 확보해 줍니다.
왜 LangSmith Gateway가 아닌가요?
LangSmith가 최근 LLM Gateway를 출시했습니다. 공정한 비교를 해보자면 다음과 같습니다:
- 여전히 베타 버전입니다. LiteLLM은 2023년부터 프로덕션 환경에서 사용되어 왔습니다.
- 7개의 제공업체 vs 100개 이상.
- 매니지드(Managed) 전용입니다. LiteLLM은 셀프 호스팅(Self-hosted)이 가능하며, 코드가 귀하의 VPC 내에 머무릅니다.
- LangSmith 생태계에 종속됩니다. LiteLLM은 어떤 관측성(Observability) 스택과도 함께 작동합니다.
독점적인 소스 코드를 처리하는 코딩 에이전트의 경우, 셀프 호스팅 기능이 매우 중요합니다.
시작하기
# 프록시 시작
litellm --config config.yaml
...
15분이면 충분합니다. 모든 코딩 에이전트 호출은 추적되고, 예산이 확인되며, 비용이 귀속됩니다.
스크린샷이 포함된 전체 가이드: docs.litellm.ai/blog/coding-agent-spend-control
유사한 에이전트 비용 문제에 직면하셨나요? 다른 팀들은 어떤 접근 방식을 사용하는지 궁금하신가요?
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기