누구 차례인가? 상태가 있는 에이전트를 위한 컨텍스트 기반 모델 라우팅
Whose turn is it? Context-guided model routing for stateful agents
TL;DR Highlight
세션 히스토리를 읽는 라우터가 히스토리 없는 라우터보다 통과율 3.3%p 높았다
Who Should Read
멀티턴 에이전트의 LLM 비용을 줄이려고 싼 모델과 비싼 모델을 섞어 쓰는 방법을 고민하는 백엔드 개발자
Core Mechanics
- 라우터에 히스토리를 줬더니 통과율이 올랐다
- 오프로딩 비율을 맞춘 상태에서 히스토리 있는 라우터는 28.3%, 없는 라우터는 25.0% 통과했다.
- 몇 개를 싼 모델로 보내느냐가 아니라 어떤 턴을 보내느냐가 차이를 만들었다.
- "같은 서식 Q3에도 적용" 같은 요청은 히스토리 없이는 판단이 안 된다
- 후속 요청은 앞 대화 없이 보면 쉬워 보이거나 모호해서 라우터가 잘못 배정한다.
- 논문은 그래서 라우팅을 순차적 의사결정 문제라고 본다.
- 토큰 단가가 싸다고 작업 비용이 싼 건 아니다
- Haiku 4.5는 입력 토큰 단가가 Sol의 5분의 1이지만 호출이 약 41회, 입력이 1.6M 토큰이었다.
- 그래서 작업당 비용은 3.2배 저렴한 데 그쳤다.
- 세션이 길수록 싼 모델의 할인 폭이 줄어든다
- 매 호출이 누적된 세션을 다시 읽어서 추가 호출 비용이 커진다.
- 호출당 평균 컨텍스트는 약 18K에서 약 38K 토큰으로 두 배가 됐다.
- 모델 전환은 캐시 때문에 방향마다 비용이 다르다
- 비싼 모델에서 싼 모델로 내려가는 전환은 약 1.25회 호출 안에 캐시 비용을 회수한다.
- 싼 모델에서 비싼 모델로 올라가는 전환은 회수가 안 되고, 컨텍스트가 길수록 더 비싸다.
Evidence
- 히스토리 유무 비교는 SheetCopilot 기준이다
- 히스토리 있는 라우터 28.3% 대 없는 라우터 25.0%로 3.3%p 높았다.
- 싼 모델 배정 비율은 22.7% 대 23.3%로 거의 같았다.
- 모델 쌍별 이득은 Sol/Haiku 5.4, Sol/Luna 2.7, Opus high/low 1.7%p였다.
- 히스토리 라우터는 비싼 모델 단독과 비슷한 품질을 유지했다
- SheetCopilot에서 비싼 모델 단독 27.7%, 싼 모델 단독 26.8%, 히스토리 라우터 28.3%였다.
- SpreadsheetBench 2에서는 29.3%로 비싼 모델 단독과 같았고 싼 모델 단독은 26.6%였다.
- 랜덤 라우팅과 de-escalation은 성과가 나빴다
- 랜덤 라우팅의 평균 통과율은 SheetCopilot 22.2%, SSB-2 26.6%였다.
- Opus high/low에서 de-escalation 비용은 $2.440으로 두 고정 모델보다 높았다.
- 캐시 분석과 비용 비율 수치
- 하향 전환 손익분기는 Sol→Luna와 Sol→Haiku에서 k*=1.25 호출이었다.
- 상향 전환은 컨텍스트 100만 토큰당 약 $4.9로, 하향 전환의 $0.5보다 약 10배였다.
- Haiku의 작업당 비용 우위는 SheetCopilot 6.8배에서 SSB-2 3.2배로 줄었다.
How to Apply
- 지금 쓰는 라우터 프롬프트에 히스토리 요약 넣기
- 요청 하나만 보고 모델을 고르는 라우터를 쓰고 있다면 직전 요청, 도구 결과, 오류 기록을 함께 넣어라.
- 같은 트래픽 로그로 히스토리 유무에 따른 라우팅 결정 차이를 비교해라.
- 싼 모델은 작업당 실제 비용으로 고르기
- 후보 모델을 실제 워크로드에서 돌려 작업당 호출 수, 입력 토큰, 비용을 기록해라.
- 토큰 단가표만 보고 결정하지 마라.
- 모델 전환은 일찍 내리고 늦게 올리지 않기
- 세션 초반에 쉬운 턴이 확인되면 싼 모델로 내려가 거기 머물게 해라.
- 컨텍스트가 길어진 뒤 올리는 전환은 품질 이득이 클 때만 허용해라.
- 후보 쌍을 먼저 비교하기
- 싼 모델 단독 통과율이 비싼 모델과 비슷하면 라우터를 만들지 말고 싼 모델만 써라.
- 품질 격차가 큰 쌍에서만 라우팅을 도입해라.
Try It
# Claude나 ChatGPT에 붙여넣는 프롬프트 (논문 방법의 간이 버전: 히스토리 기반 턴 라우터)
너는 에이전트의 모델 라우터다. 아래 세션 히스토리와 새 요청을 보고, 이번 턴을 싼 모델(CHEAP)과 비싼 모델(EXPENSIVE) 중 어디에 맡길지 정해라.
[세션 히스토리]
{{지금까지의 요청, 에이전트 응답, 도구 호출 결과, 오류}}
[새 요청]
{{현재 사용자 요청}}
판단 기준:
- 계획, 여러 산출물 간 조정, 이전 오류 복구가 필요하면 EXPENSIVE
- 앞 단계 결과를 그대로 이어서 확장하는 단순 작업이면 CHEAP
- 요청이 히스토리 없이는 모호하면 히스토리를 근거로 판단해라
출력은 JSON 한 줄: {"route": "CHEAP" 또는 "EXPENSIVE", "reason": "한 문장"}
이어서 해 볼 것: 같은 요청을 히스토리 부분만 비워서 다시 돌려 보고 결정이 어떻게 달라지는지 비교해라.Terminology
관련 논문
Mercury 3: 규모를 키운 diffusion LLM, 초당 1,000토큰 이상
Diffusion LLM을 40배 키웠더니 속도 4~8배, 품질은 속도 특화 모델 수준
Timestral: Mistral의 시계열 파운데이션 모델
209M 파라미터 시계열 모델이 3대 벤치마크 1위, CPU에서도 돌아간다
DeepSeek V4.1 Flash 1017 (Max) 성능·속도·가격 분석
DeepSeek V4.1 Flash 1017 Max는 지능 지수 45에 211 tok/s, 입력 $0.30
LLM 프록시를 직접 안 돌리면 무슨 일이 벌어지는지 어떻게 아나
자체 LLM 프록시를 세웠더니 키·모델·캐시 미스를 직접 볼 수 있다
DeepSeek V4.1 Flash 1017: 싼 가격에 1M 컨텍스트를 주는 에이전트용 모델
DeepSeek V4.1 Flash 1017은 입력 $0.05/M, 1M 컨텍스트의 에이전트용 모델
DeepSeek-V4.1-Flash-1017 공개: 더 짧게 생각하고 더 빠르게 일하는 에이전트용 모델
DeepSeek V4.1 Flash 마이너 업데이트로 코딩·에이전트 벤치 점수↑, 실행 시간·출력 길이↓
Llmspeed: 로컬 LLM 속도를 하드웨어 구매 전에 체감해 보는 시뮬레이터
GPU·모델을 고르면 로컬 LLM 속도를 미리 체감하게 해 주는 시뮬레이터
Original Abstract (Expand)
Model routing can reduce the cost of LLM applications by assigning simpler requests to cheaper models without sacrificing the quality of the response. However, most routers treat requests as independent. Stateful agents do not operate under this assumption: a user turn may require multiple model and tool calls, its difficulty depends on the state produced by earlier turns, and changing models can sacrifice reuse of the conversational prompt cache. We study zero-shot, cost-aware routing at the user-turn boundary, systematically varying the routing rule, access to session history, candidate models that differ in size, reasoning effort, or model provider, and prompt-cache behavior. We evaluate on multi-turn versions of SheetCopilot and SpreadsheetBench 2, where persistent workbooks and cross-turn dependencies make isolated routing decisions especially brittle. At a matched offloading rate, giving the router session history improves task pass rate over the same router without history, with gains for every model pair; history-aware routing remains within one point of always using the expensive model. We also found that cost depends on execution dynamics rather than token prices alone: the cheaper model's per-task cost advantage narrows from 6.8x to 3.2x on longer sessions. A closed form cache analysis further shows that downward switches (expensive to cheap) recover their cache cost within two LLM calls, whereas upward switches do not break even under the evaluated conditions. Together, these results show that agent routing is a sequential decision problem: effective policies must account for what happened earlier in the session and for the asymmetric cost of switching models.