클로드 API 지출 관리
새벽 두 시, 콘솔 화면 하나를 오래 들여다본 밤이 있었다. 숫자 하나가 이상하게 크다는 것을 알아챈 순간부터, 그 숫자가 어디서 왔는지 끝까지 쫓아가 본 밤. 오늘은 그 이야기를 적어두려 한다.
✦ 크레딧이 사라진 자리
발단은 단순했다. Claude Console에서 결제 내역을 확인하다가, 지난 5월에 충전해둔 $55가 벌써 바닥났다는 걸 알게 됐다. 처음엔 대수롭지 않게 넘겼다. 코딩을 하며 쓰는 돈이려니, 개발이라는 게 원래 이런저런 비용이 드는 일이려니 하고.
그런데 그날 하루치 사용량 그래프를 열어보니, 유독 하루 만에 $10.88이 나가 있었다. 다른 날엔 조용하던 그래프가 딱 하루, 우뚝 솟아 있었다.
궁금증이 생기면 파고드는 성격 탓에, 그 밤은 결국 원인을 끝까지 찾는 데 썼다.
✦ 첫 번째 오해 — “그냥 많이 써서 그런가?”
제일 먼저 떠오른 건 흔한 착각들이었다.
- 이 코딩 세션 자체가 무거워서 그런가?
- 웹검색을 69번이나 했던데, 그게 비싼 건가?
- 블로그 자동생성 파이프라인을 우연히 두 번 겹쳐 돌려서 그런가?
하나씩 확인해봤다. 코딩 세션은 완전히 다른 지갑에서 과금되고 있었다 — Claude Pro 계정으로 로그인해서 쓰는 세션과, 서버가 API 키로 직접 호출하는 크레딧은 애초에 분리된 시스템이었다. 웹검색 69번의 표면적인 비용은 $2 남짓, 전체의 일부일 뿐이었다. 파이프라인이 겹쳐 돈 것도 사실이었지만, 계산해보니 그 정도 중복으로는 절대 설명이 안 되는 규모였다.
그럴듯한 설명들이 하나씩 무너질 때마다, 진짜 원인은 더 안쪽에 숨어 있다는 게 분명해졌다.
✦ 진짜 범인 — 보이지 않는 검색의 무게
결국 코드를 열어 실제 API 호출 하나하나에 로그를 심었다. 그리고 마주한 숫자는 예상을 완전히 벗어났다.
그런데 실제로 청구된 입력 토큰은 339,921개.
프롬프트 대비 약 150배.
이유는 이랬다. 최신 AI 모델에 쓰이는 서버사이드 웹검색 도구는, 겉으로는 “한 번의 요청”처럼 보여도 그 내부에서 여러 번 검색하고, 찾아낸 페이지들의 내용을 통째로 모델에 읽혀서 답을 만든다. 그리고 그 내부에서 벌어진 일 전체가 — 겉으로 드러나지 않는 그 방대한 처리량이 — 결국 이 “한 번의 요청”에 고스란히 청구된다.
세무 법령 개정 사실을 확인하려던 자동화 파이프라인이, 확인 한 번 할 때마다 조용히 수십만 토큰씩 태우고 있었던 셈이다. 화면에는 그저 “검증 완료”라는 짧은 문구 하나만 남긴 채.
✦ 숫자로 정리한 하루
| 상황 | 검증 1건당 입력 토큰 | 비용 |
|---|---|---|
| 제한 없이 방치 | 153,743 ~ 339,921 | ~$0.5 ~ $1.7 |
| 검색 횟수 제한(max_uses: 3) 적용 후 | 94,552 | ~$0.33 |
| 후보가 아예 없을 때 | 검증 자체 미발생 | ~$0.1 |
제한을 걸고 나니 최고치 대비 약 70~94%가 줄었다. 문제를 정확히 짚으면, 해결은 의외로 단순한 설정 한 줄이었다.
✦ 이 밤이 남긴 것
AI를 도구 삼아 무언가를 만드는 시대에, 우리는 종종 그 도구의 값을 잊는다. 화면 위 답변은 늘 그대로인데, 그 답변 하나를 만들기 위해 조용히 소모되는 자원의 크기는 매번 다르다는 것을. 특히 “웹검색”이나 “도구 사용”처럼 AI가 알아서 처리해주는 기능일수록, 그 내부에서 실제로 얼마나 많은 일이 벌어지는지는 겉으로 잘 드러나지 않는다.
이건 비단 개발자만의 이야기는 아닐 것이다. 업무에 AI를 붙여 쓰는 사람이라면 누구나, 편리함 뒤에 숨은 비용의 결을 한 번쯤은 들여다볼 필요가 있다.
그렇지 않으면, 편리함의 값을 나중에야, 훨씬 크게 치르게 된다.
오늘 밤 확인한 것들을 정리해둔다. 언젠가 비슷한 새벽을 맞이할 누군가에게, 이 기록이 조금은 지름길이 되어주기를 바라며.
- AI API를 쓰는 자동화가 있다면, 콘솔의 사용량·비용 대시보드를 정기적으로 들여다볼 것.
- 특히 “웹검색”, “도구 호출”처럼 AI가 알아서 처리하는 기능은, 겉보기 프롬프트 크기와 실제 청구 토큰이 완전히 다를 수 있다는 것을 기억할 것.
- 이런 기능을 쓸 땐 검색 횟수나 범위를 제한하는 옵션이 있는지 먼저 확인하고, 처음부터 상한을 걸어둘 것.
- 예상치 못한 지출을 발견했을 때, “그냥 넘어가기”보다 “왜 그런지 끝까지 확인하기”가 결국 더 큰 지출을 막아준다는 것.