Claude Code API 비용 완전 정복: $450에서 $45/월로 줄인 5가지 실전 절감 기법
Claude Code API 요금을 실제 수치로 해설합니다. 프롬프트 캐싱·모델 최적화·배치 처리로 월 $450→$45, 90% 절감을 달성한 방법을 모두 공개합니다.
“Claude Code를 매일 쓰다 보니 지난달 API 요금이 $450이 나왔다”—이런 경험을 하는 개발자가 늘고 있습니다. Claude Code는 강력하지만, 사용 방법에 따라 비용이 10배 이상 달라집니다.
이 사이트(claudecode-lab.com)에서는 Claude Code로 매일 3편의 다국어 기사를 자동 생성하고 있습니다. 첫 1주일에 $380을 썼지만, 최적화 후에는 같은 작업량으로 월 $40대에 맞추고 있습니다. 90% 절감을 실현한 구체적인 방법을 모두 공개합니다.
먼저 ‘어디서 과금되는지’를 파악한다
요금을 줄이려면 무엇에 과금되는지 정확히 이해해야 합니다.
Claude API 요금 = 입력 토큰 × 입력 단가 + 출력 토큰 × 출력 단가
모델별 요금표 (2026년 4월 기준)
| 모델 | 입력 (일반) | 입력 (캐시 읽기) | 출력 |
|---|---|---|---|
| claude-opus-4-6 | $15/1M | $1.50/1M | $75/1M |
| claude-sonnet-4-6 | $3/1M | $0.30/1M | $15/1M |
| claude-haiku-4-5 | $0.80/1M | $0.08/1M | $4/1M |
두 가지 중요한 포인트:
- 출력은 입력의 5배 비쌈 → 출력만 줄여도 대폭 절감
- 캐시 읽기는 일반 입력의 1/10 → 캐시가 최대의 무기
Anthropic 콘솔에서 비용 내역 확인
# API로도 확인 가능
curl https://api.anthropic.com/v1/usage \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01"
어떤 모델에 몇 토큰 쓰고 있는지를 파악하는 것이 첫걸음입니다.
기법 1: 프롬프트 캐시로 입력 비용을 1/10으로
즉효성이 가장 높은 대책. system prompt에 한 줄만 추가하면 입력 비용이 1/10이 됩니다.
원리
Anthropic의 프롬프트 캐시는 같은 내용을 5분 이내에 재전송하면 $1.50/1M의 캐시 요금으로 제공하는 구조입니다. 5분의 TTL(유효기간)이 있으며, 그 사이에는 몇 번 호출해도 매우 저렴합니다.
구현
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
// ❌ 캐시 없음: 매번 $15/1M으로 과금
const res = await client.messages.create({
model: "claude-opus-4-6",
max_tokens: 1024,
system: "당신은 XXX 프로젝트의 전문가입니다.\n" + longProjectContext,
messages: [{ role: "user", content: prompt }],
});
// ✅ 캐시 있음: 2회 이후 $1.50/1M (90% 할인)
const res = await client.messages.create({
model: "claude-opus-4-6",
max_tokens: 1024,
system: [
{
type: "text",
text: "당신은 XXX 프로젝트의 전문가입니다.\n" + longProjectContext,
cache_control: { type: "ephemeral" }, // ← 이것만 추가
},
],
messages: [{ role: "user", content: prompt }],
});
실제 절감액 (이 사이트의 경우)
매일 3편 × system prompt 8,000토큰 × Opus $15/1M
최적화 전:
3편 × 10회 호출 × 8,000토큰 × $15/1M = $3.60/일 → $108/월
최적화 후 (캐시 포함):
최초 쓰기: 3회 × 8,000토큰 × $18.75/1M = $0.45/일
나머지 27회 읽기: 27 × 8,000토큰 × $1.50/1M = $0.32/일
합계: $0.77/일 → $23/월
절감액: $85/월 (79% 절감)
캐시가 효과 없는 경우 주의: TTL 5분을 넘으면 캐시가 무효화됩니다. 배치 처리 시 5분 이내에 같은 system prompt로 여러 번 호출을 묶으면 효과적입니다.
기법 2: 작업 유형에 따라 모델을 구분해서 사용
모든 작업에 Opus를 쓰는 것은 포르쉐로 배달하는 것과 같습니다.
사용 기준
type TaskComplexity = "complex" | "standard" | "simple";
function getModel(task: TaskComplexity): string {
return {
complex: "claude-opus-4-6", // 설계·어려운 디버깅·코드 리뷰
standard: "claude-sonnet-4-6", // 일반적인 구현·리팩터링
simple: "claude-haiku-4-5-20251001", // 번역·포맷·분류·요약
}[task];
}
번역 작업의 실례 (이 사이트의 다국어 전개)
// 기사를 9개 언어로 번역하는 경우
// ❌ Opus로 번역: $75/1M × 출력 2,000토큰 × 9개 언어 = $1.35/기사
const translations = await translateWithModel("claude-opus-4-6", article);
// ✅ Haiku로 번역: $4/1M × 출력 2,000토큰 × 9개 언어 = $0.072/기사
const translations = await translateWithModel("claude-haiku-4-5-20251001", article);
// 절감: $1.35 → $0.072 (94.7% 절감, 번역 품질은 실용적으로 거의 동일)
매일 3편 × 9개 언어 번역을 Haiku로 전환한 효과: 월 $121 → $6.50 (94% 절감)
기법 3: 출력 토큰을 의도적으로 줄인다
출력은 입력의 5배 비싼데 불필요하게 긴 출력을 허용하는 경우가 많습니다.
출력을 줄이는 프롬프트 기법
❌ "이 코드의 문제를 알려줘"
→ 장황한 설명이 돌아옴 (1,000토큰)
✅ "이 코드의 문제점을 불릿 3개 이내로, 각 항목 2줄 이내로 알려줘"
→ 간결한 답변 (200토큰)
절감 효과: 출력 토큰 80% 절감 = 비용 $0.075 → $0.015 / 호출
max_tokens를 적절히 설정
// ❌ 기본값 4096은 대부분의 경우 과한 설정
const res = await client.messages.create({
model: "claude-opus-4-6",
max_tokens: 4096, // 최대 4,096토큰 과금될 가능성
messages: [...]
});
// ✅ 용도에 맞게 설정
const configs = {
codeReview: { max_tokens: 512 }, // 지적 사항만
bugAnalysis: { max_tokens: 1024 }, // 원인 + 수정안
implementFeature:{ max_tokens: 4096 }, // 전체 구현
summarize: { max_tokens: 256 }, // 요약만
};
기법 4: 서브에이전트로 컨텍스트를 분리
긴 대화 세션에서는 과거 대화 기록이 매번 입력에 포함되어 비용이 부풀어 오릅니다. 서브에이전트에 위임하면 컨텍스트를 초기화할 수 있습니다.
// 메인 대화가 길어졌을 때 무거운 처리를 서브에이전트에게
// ❌ 메인 컨텍스트에서 번역: 과거의 모든 대화 기록이 매번 전송됨
const translation = await translateInCurrentContext(article);
// ✅ 서브에이전트에 위임: 새로운 컨텍스트로 실행
const translation = await Agent({
subagent_type: "general-purpose",
prompt: `다음 기사를 영어로 번역해줘:\n\n${article}`,
// ← 과거 대화 기록 없음, article만이 입력
});
Claude Code의 Agent 툴은 바로 이 패턴으로 동작합니다. 번역·검색·파일 조작 등 ‘스팟성 작업’은 서브에이전트화가 철칙입니다.
기법 5: 비용 모니터링과 상한 알림 설정
마지막은 ‘비용을 파악하고 상한을 설정’하는 것. 무한 과금을 방지하는 안전장치입니다.
Anthropic 콘솔에서의 설정
- Anthropic Console → Usage Limits로 이동
- Monthly budget 설정 (예: $50/월)
- Alert threshold 설정 (예: $40에서 알림)
코드 레벨에서의 비용 추적
// 응답의 usage를 기록하여 비용을 추적
interface CostTracker {
inputTokens: number;
outputTokens: number;
cacheReadTokens: number;
cacheWriteTokens: number;
}
function calculateCost(usage: CostTracker, model: string): number {
const rates = {
"claude-opus-4-6": {
input: 15, cacheRead: 1.5, cacheWrite: 18.75, output: 75
},
};
const rate = rates[model];
return (
(usage.inputTokens * rate.input +
usage.cacheReadTokens * rate.cacheRead +
usage.cacheWriteTokens * rate.cacheWrite +
usage.outputTokens * rate.output) / 1_000_000
);
}
const res = await client.messages.create({ ... });
const cost = calculateCost(res.usage, "claude-opus-4-6");
console.log(`이 호출의 비용: $${cost.toFixed(4)}`);
정리: 절감 효과의 누적
| 기법 | 절감 효과 | 난이도 |
|---|---|---|
| 프롬프트 캐시 | 최대 90% | 낮음 (1줄 추가) |
| 모델 구분 사용 | 최대 95% | 낮음~중간 |
| 출력 토큰 제한 | 30~80% | 낮음 (프롬프트 개선) |
| 서브에이전트 위임 | 20~50% | 중간 |
| 상한 알림 설정 | 폭탄 과금 방지 | 낮음 |
이 사이트에서의 실적:
최적화 전: $450/월 (전 작업 Opus, 캐시 없음)
최적화 후: $45/월 (Haiku 번역, Opus 캐시, 출력 제한)
절감액: $405/월 (90% 절감)
오늘 바로 할 수 있는 첫 번째 한 수: system prompt에 cache_control: { type: "ephemeral" }을 추가하는 것. 이것만으로 입력 비용이 1/10이 됩니다. 나머지 기법은 그 다음에 순서대로 도입하세요.
관련 기사
참고 자료
Claude Code 워크플로우를 한 단계 업그레이드하세요
지금 바로 Claude Code에 복사해 쓸 수 있는 검증된 프롬프트 템플릿 50선.
무료 PDF: 5분 완성 Claude Code 치트시트
이메일 주소만 등록하시면 A4 한 장짜리 치트시트 PDF를 즉시 보내드립니다.
개인정보는 엄격하게 관리하며 스팸은 보내지 않습니다.
이 글을 작성한 사람
Masa
Claude Code를 적극 활용하는 엔지니어. 10개 언어, 2,000페이지 이상의 테크 미디어 claudecode-lab.com을 운영 중.
관련 글
Claude Code로 발생한 운영 장애 7가지 사례: RCA·재발 방지책 포함 완전 복구 절차
Claude Code 운영에서 실제로 발생한 장애 7건 공개. API 키 유출·DB 삭제·과금 폭발·서비스 다운의 원인·복구 절차·RCA·재발 방지책을 완전 해설.
Claude Code의 위험한 프롬프트 패턴 10선 | 하면 안 되는 지시와 안전한 대안
Claude Code에 절대 주지 말아야 할 위험한 프롬프트 10가지. 코드 삭제·DB 파괴·과금 폭발·키 유출을 초래하는 지시와 안전한 대안 표현을 실례와 함께 해설합니다.
Claude Code 보안 완전 가이드: API 키 관리, 권한 설정, 프로덕션 보호
Claude Code를 안전하게 사용하기 위한 실전 보안 가이드. API 키 관리부터 권한 설정, Hooks 기반 자동화, 프로덕션 환경 보호까지 — 바로 동작하는 코드 예제와 함께 설명합니다.