agent-as-a-router에서 모든 요청을 가장 비싼 모델로 보내면 품질은 안정적일 수 있지만 비용과 지연이 커진다. NeMo Switchyard는 각 에이전트 단계의 난이도·모델 가격·지연·이전 상태를 바탕으로 적합한 모델을 고르는 오픈소스 라우팅 계층이다.
라우팅할 단위를 먼저 정한다
사용자 작업 → 탐색/계획 → 구현 → 테스트·수정 → 결과
│ │ │
고성능 효율형 필요 시 고성능작업 전체를 한 모델에 고정할지, 매 턴 또는 에이전트 단계마다 바꿀지를 먼저 정한다. 단계가 자주 바뀌는 코딩 에이전트라면 저장소 탐색·반복 오류에는 고성능 모델을, 테스트가 통과한 뒤의 기계적인 편집에는 효율형 모델을 쓰는 식이 자연스럽다.
튜닝 없는 라우터부터 고른다
| 라우터 | 작동 방식 | 적합한 경우 |
|---|---|---|
| LLM 분류기 | 작업 주제를 판단해 모델을 고르고 세션 선호도를 유지 | 도메인별 작업이 명확할 때 |
| 단계 라우터 | 최근 도구 활동·오류·탐색 정도를 본다 | 코딩 에이전트처럼 작업 단계가 변할 때 |
| 승격 라우터 | 저비용 모델로 시작해 지속 실패 시 상위 모델로 넘긴다 | 단순 요청이 많은 멀티턴 업무 |
학습 데이터가 충분해지면 프리필(prefill) 상태로 성공 확률을 예측하는 튜닝형 라우터도 검토할 수 있다. 다만 초기에는 규칙을 많이 만들기보다 기본 모델과 승격 조건을 작게 시작해 로그로 검증하는 편이 안전하다.
비용은 요청당 기대값으로 계산한다
모델 A와 B를 섞을 때 평균 비용은 다음처럼 계산할 수 있다.
평균 비용 = Σ(모델별 호출 비율 × 모델별 작업당 비용) + 재시도 비용여기에 성공률과 p95 지연을 함께 기록한다. NVIDIA가 소개한 LangChain 평가에서는 저비용 Nemotron과 Claude Opus를 승격 라우터로 조합해 frontier 전용 기준 비용을 74% 낮췄지만 정확도는 약 6포인트 낮아졌다. 이 수치를 다른 서비스에 그대로 적용할 수는 없으며, 자신의 업무 정답 세트로 허용 가능한 하락폭을 정해야 한다.
운영 시 반드시 남길 로그
- 요청·에이전트 단계·선택 모델·선택 사유
- 입력/출력 토큰, 도구 호출 수, 지연, 비용
- 오류·재시도·상위 모델 승격 여부
- 최종 성공 여부와 사람 평가 결과
Switchyard 서버는 OpenAI·Anthropic·Responses API 형식을 받아 내부 요청 형식으로 변환하고 이런 선택 정보를 기록할 수 있다. 모델 이름과 실제 프로바이더 엔드포인트를 분리하므로, 제공사를 바꿔도 라우팅 정책을 유지하기 쉽다.
관련 문서
- agent-as-a-router — 에이전트 모델 라우팅의 기본 설계
- agent-harness — 라우팅과 함께 평가해야 할 에이전트 실행 환경
- llm-inference-latency-tips — 지연 측정과 최적화 기준
참고 자료
- Route AI Agents Across Models with NVIDIA NeMo Switchyard — NVIDIA Technical Blog (2026-08-11)
- NVIDIA-NeMo/Switchyard — GitHub 공식 저장소