ai-startup
CHAPTER 98 / 100
읽기 약 2분
FUNCTION
AI 비용 최적화: 모델 선택 + 캐싱
핵심 개념
model routing·prompt caching·batching·실전 — 비용 80% 절감.
본문
비용 줄이기 5가지 패턴
1. 모델 라우팅 (Flash → Sonnet → Opus)
2. Prompt Caching (Anthropic)
3. Batching (OpenAI Batch API)
4. Token 최적화
5. RAG로 컨텍스트 줄임모델 라우팅
async function classifyComplexity(message: string) {
const result = await generateText({
model: google('gemini-2.5-flash'), // 매우 저렴
prompt: `Classify the complexity of this query as 'simple', 'medium', or 'complex': ${message}`,
maxTokens: 5,
});
return result.text.trim();
}
function selectModel(complexity: string) {
return {
'simple': google('gemini-2.5-flash'), // $0.10/1M
'medium': anthropic('claude-haiku-4-5'), // $0.80/1M
'complex': anthropic('claude-sonnet-4-6'), // $3/1M
}[complexity];
}
// 사용
const complexity = await classifyComplexity(message); // 0.001 cents
const model = selectModel(complexity);
const result = await generateText({ model, messages });
// 비용 절감
// - 80% simple → Flash (1/30 비용)
// - 15% medium → Haiku (1/4 비용)
// - 5% complex → Sonnet (full)
// 평균 비용 1/10 절감Prompt Caching (Anthropic)
// 시스템 prompt 자주 재사용 시 — 캐시
const result = streamText({
model: anthropic('claude-sonnet-4-6'),
messages: [
{
role: 'system',
content: LONG_SYSTEM_PROMPT, // 1000+ tokens
providerOptions: {
anthropic: {
cacheControl: { type: 'ephemeral' }
}
},
},
...messages,
],
});
// 첫 호출 — 정상 비용
// 5분 내 재호출 — 1/10 비용 (캐시 히트)
// 이메일·콘텐츠 자동화에 매우 효과적Batch API (OpenAI)
// 실시간 X — 배치 처리
import OpenAI from 'openai';
const openai = new OpenAI();
// 1. JSONL 파일 생성
const requests = users.map(user => ({
custom_id: user.id,
method: 'POST',
url: '/v1/chat/completions',
body: {
model: 'gpt-4o-mini',
messages: [{ role: 'user', content: `Summarize: ${user.bio}` }],
},
}));
const file = await openai.files.create({
file: Buffer.from(requests.map(r => JSON.stringify(r)).join('\n')),
purpose: 'batch',
});
// 2. Batch 시작
const batch = await openai.batches.create({
input_file_id: file.id,
endpoint: '/v1/chat/completions',
completion_window: '24h',
});
// 3. 24시간 내 완료
// 4. 결과 다운로드
const result = await openai.batches.retrieve(batch.id);
// 비용
// - 50% 할인 (실시간 vs 배치)
// - 콘텐츠·요약 등에 적합Token 최적화
// ❌ 긴 prompt
"Please analyze this customer feedback and provide:
- Sentiment (positive/negative/neutral)
- Key issues mentioned
- Recommended actions
- Priority level
And explain each in detail with examples."
// ✅ 간결
"Analyze: sentiment, issues, actions, priority. Be concise."
// ❌ Few-shot 너무 많이
[10 examples × 500 tokens] = 5000 tokens overhead
// ✅ 핵심 3개만
[3 examples × 200 tokens] = 600 tokens overhead
// 결과
// - 80% 작업 — 같은 품질
// - 비용 1/3응답 길이 제한
const result = await generateText({
model: anthropic('claude-sonnet-4-6'),
prompt,
maxTokens: 500, // 명시적 제한
});
// system prompt에 명시
"Be concise. Maximum 200 words per response."
// 효과
// - 평균 응답 1000 → 300 tokens
// - 비용 70% 절감
// - 응답 빠름RAG로 컨텍스트 축소
// ❌ 전체 문서 prompt에
const result = await generateText({
model,
prompt: `Document:\n${entireDocument}\n\nQuestion: ${question}`,
});
// ✅ 관련 chunk만
const relevantChunks = await searchEmbeddings(question, topK = 5);
const result = await generateText({
model,
prompt: `Context:\n${relevantChunks.join('\n')}\n\nQuestion: ${question}`,
});
// 비용
// - 10000 tokens (전체) → 1000 tokens (관련)
// - 1/10 비용실전 — 종합 절감
[Before — 모든 query Opus]
- 1000 query × 5000 tokens × $15/1M = $75/일
- 월 $2,250
[After — 라우팅 + 캐싱 + RAG]
- 800 simple × 500 tokens × Flash $0.4/1M = $0.16
- 150 medium × 1000 tokens × Sonnet $3/1M = $0.45
- 50 complex × 2000 tokens × Opus $15/1M = $1.5
- 캐싱 50% 추가 절감
- 일 약 $1
- 월 $30
→ 75x 절감
→ $2,250 → $30다음 챕터
CH.99 "2026 AI 트렌드".
AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
무료
월 $0 — 검증·시작 단계
AI 비용 최적화을 무료 도구만으로 시작하는 방법을 알려줘.
소자본
월 $20~50 — MVP·초기 운영
월 $20~50 예산으로 AI 비용 최적화을 검증·MVP 단계까지 진행하는 전략은?
프로덕션
월 $200~500 — 성장 단계
AI 비용 최적화을 프로덕션 단계로 확장할 때 필요한 도구·운영 체계는?
스택
풀스택 — 도구 조합 분석
2026년 AI 비용 최적화 관련 도구 5개를 조합한 추천 스택을 알려줘.
⭐ 이것만 기억하세요
AI 비용 최적화: 모델 선택 + 캐싱은 이 3가지만 확실히 잡으세요
1.모델 라우팅 (Flash·Sonnet·Opus) = 비용 1/10
2.Prompt Caching + Batch API + RAG = 추가 1/3
3.종합: 75x 절감 가능 ($2250 → $30/mo)
공유하기
진행도 98 / 100