교통정리 — Routing
작업별로 다른 AI 쓰기
🎯 이 레슨으로 얻는 것
"어떤 일엔 Claude, 어떤 일엔 GPT, 어떤 일엔 Perplexity" — 일마다 최적의 AI로 교통정리하는 법. 비용 50% 줄이면서 품질은 올리는 실전 기술입니다.
🚦 Routing이 뭐야?
들어온 작업의 성격을 먼저 분류하고, 그 분류에 맞는 전용 AI·모델로 보내는 패턴.
실제 사례: 우리 회사 CS 티켓이 들어오면,
- "결제 환불" → 결제팀으로
- "제품 문의" → 세일즈팀으로
- "단순 FAQ" → 챗봇으로
이 라우팅을 AI가 자동으로 판단해서 배분합니다.
🎯 왜 하나의 AI로 다 처리하면 안 되나
| 작업 | 잘 맞는 AI | 이유 | |------|-----------|------| | 긴 문서 분석 | Claude Opus | 200K 맥락, 추론력 | | 빠른 요약 | Claude Haiku, GPT-4o mini | 가격 1/10, 속도 3배 | | 실시간 검색 | Perplexity, ChatGPT Search | 출처 제공 | | 이미지 생성 | ChatGPT + DALL·E, Midjourney | Claude는 불가 | | 코드 실행 | Claude Code, Cursor | 파일·터미널 권한 | | 한국 고유 도메인 | HyperCLOVA X, Solar | 한국 데이터 풍부 |
하나로 다 커버하면 비싸거나 느리거나 품질이 떨어집니다.
🧪 Routing 실전 프롬프트
1단계: 분류 AI (저렴한 모델 사용)
너는 작업 분류기야.
아래 사용자 요청을 읽고, 다음 카테고리 중 하나로 분류해줘:
1. SIMPLE_QA — 단답형 질문 (정의, 상식)
2. LONG_DOC — 긴 문서 분석/요약
3. SEARCH_NEEDED — 최신 정보·출처 필요
4. IMAGE — 이미지 생성
5. CODE — 코드 작성/수정
6. COMPLEX_REASON — 복잡한 분석·의사결정
## 요청
"""
[사용자 입력]
"""
## 출력 (JSON)
{ "category": "...", "reason": "..." }
2단계: 카테고리별 AI 배분
# 의사코드
category = classify(user_input) # 1단계 결과
if category == "SIMPLE_QA":
model = "claude-haiku-4-5" # 싸고 빠름
elif category == "LONG_DOC":
model = "claude-opus-4-7" # 긴 맥락 (1M 토큰)
elif category == "SEARCH_NEEDED":
model = "perplexity-sonar" # 검색
elif category == "CODE":
model = "claude-sonnet-4-6" # 코딩
elif category == "IMAGE":
model = "dall-e-3" # 이미지
...
🎨 Before / After
- 단순 FAQ도 Opus 사용 → 비용 10배 초과
- 평균 응답 2.8초
- 월 비용 $400
- 70% 케이스는 Haiku (1/10 가격)
- 20%는 Sonnet
- 10%만 Opus
- 평균 응답 1.1초 / 월 비용 $85
품질은? 각 카테고리에 적합한 모델을 쓰니까 오히려 올라갑니다.
🔀 비개발자용 간이 Routing (대화창에서)
개발 없이도 손으로 라우팅 할 수 있어요.
- 요청이 들어오면 먼저 Claude에게:
아래 작업을 하려고 해. 어떤 AI 도구가 제일 적합한지 추천해줘:
1) 어떤 AI (Claude/GPT/Perplexity/Midjourney)
2) 왜 그게 최적인지
3) 사용할 대략적 프롬프트 템플릿
## 작업
[내 요청]
- 추천받은 도구로 직접 이동해서 실행.
이 습관만 들여도 AI 비용과 품질이 크게 바뀝니다.
🛠️ 플랫폼별 구현
OpenRouter
하나의 API로 여러 모델을 쓸 수 있는 게이트웨이. 라우팅 로직만 짜면 바로 연결.
LangChain / LangGraph
라우팅 패턴을 노드 그래프로 설계. 심화 에이전트 개발 시.
n8n
Switch 노드로 조건 분기 → 각 분기에 다른 AI API 호출. 비개발자 친화.
📐 꿀팁 — 분류 프롬프트 "애매할 땐"
애매하면 가장 능력 있는 모델(Opus)로 라우팅하고,
JSON에 "confidence": "low" 표시해줘.
이렇게 불확실성까지 함께 태깅하면 나중에 개선할 때 유용합니다.
⚠️ 주의
- Routing 오버헤드: 분류 AI를 부르는 것도 돈·시간. 초당 요청 많으면 간단한 키워드 매칭부터
- Fallback: 분류 실패 시 기본 모델로 떨어뜨리는 로직 필수
- 로그 쌓기: 라우팅 결과를 로그로 남겨야 실제로 최적인지 알 수 있음
🔗 다음에 뭘 볼까
- 다음 레슨: 동시 작업 — Parallelization
- 이전: 릴레이 — Prompt Chaining