요청이 사람이 아닌 에이전트에서 온다
LLM 서빙 시스템은 오랫동안 사람과 모델 간의 대화를 전제로 설계됐다. 사용자가 메시지를 보내고, 모델이 답하면, 사용자가 읽고, 다시 메시지를 보낸다. 이 흐름에서 요청 간격은 사람의 읽기 속도, 생각하는 시간, 타이핑 속도에 비례한다.
에이전트 시대에 이 전제가 무너진다. 코드 에이전트, 데이터 파이프라인 에이전트, RAG 검색-요약 에이전트는 사람이 개입하지 않고 LLM을 반복 호출한다. 에이전트는 이전 모델 응답을 즉각 다음 프롬프트로 조립하고, 다시 LLM 클러스터에 요청을 보낸다. 사람의 속도 제약이 없다.
2026년 7월, 상하이자오퉁대학교(SJTU) 연구팀은 이 변화를 정면으로 다룬 논문 SMetric을 arXiv에 공개했다(arXiv:2607.08565). 이 논문은 KDD 2026 Research Track에 채택됐다. 핵심 질문은 단순하다. _에이전트 워크로드에 맞는 LLM 스케줄러 지표는 무엇인가?_
에이전트 워크로드의 세 가지 특성
SMetric 논문은 에이전트 서빙 워크로드가 기존 챗 워크로드와 구별되는 세 가지 특성을 식별한다.
첫째, 완전한 응답을 받아야만 다음 행동을 결정한다. 에이전트는 스트리밍 첫 토큰이 아니라 응답 전체를 받고 나서 행동한다. 챗 서비스에서는 첫 토큰 지연(TTFT)이 사용자 경험을 결정한다. 에이전트 루프에서는 클러스터 전체의 초당 토큰 처리량(Tokens Per Second, TPS)이 파이프라인 속도를 결정한다. 개별 요청의 지연이 다소 늘어나도, 클러스터가 더 많은 요청을 동시에 처리하면 에이전트 루프 전체가 빨라진다.
둘째, KV 캐시 재사용률이 극도로 높다. 챗 워크로드에서 측정된 KV 캐시 재사용률은 54–62%다. 에이전트 워크로드에서는 80%를 넘는다. 에이전트가 이전 대화 컨텍스트 전체를 다음 요청에 그대로 포함하기 때문이다. 에이전트 루프의 5번째 단계에서 보내는 요청은 1번째 단계 이후 모든 대화 내용을 포함한다. 프롬프트 접두사(prefix) 대부분이 이전 요청과 동일하다.
셋째, 재사용 패턴이 세션 내부에 집중된다. 에이전트의 KV 캐시 재사용은 대부분 같은 세션 내 이전 요청에서 발생한다(인트라-세션 재사용). 다른 에이전트 세션의 KV 캐시가 우연히 일치하는 경우는 드물다. 세션 내부의 재사용률이 세션 간 재사용률보다 훨씬 높다.
기존 스케줄러의 한계
현재 LLM 스케줄러 대부분은 요청(request) 단위로 동작한다. 각 요청을 독립적으로 보고, 요청이 도착하면 현재 클러스터 상태(KV 캐시 적중 여부, 인스턴스 부하)에 따라 라우팅 결정을 내린다.
두 가지 전략이 경쟁한다.
- 부하 균형(load balance) 우선: 요청을 골고루 분산해 인스턴스 유휴를 줄인다. KV 캐시 재사용 기회를 포기한다.
- 캐시 인식(cache-aware) 우선: KV 캐시 적중 가능성이 높은 인스턴스로 요청을 보낸다. 부하가 특정 인스턴스에 집중되는 부작용이 생긴다.
챗 워크로드에서는 이 두 전략의 균형을 맞추는 것이 핵심 문제였다. 에이전트 워크로드에서는 이 프레임 자체가 맞지 않는다. 에이전트 세션의 모든 요청이 같은 인스턴스에 도달해야 KV 캐시 재사용이 일어난다. 첫 요청을 어느 인스턴스로 보내느냐가 세션 전체의 인스턴스를 사실상 결정한다.
요청 단위 스케줄러는 첫 요청과 후속 요청을 동일하게 다룬다. 세션 구조를 모르는 스케줄러는 후속 요청을 다른 인스턴스로 보낼 수 있고, 그러면 KV 캐시 재사용이 사라진다.
SMetric: 세션 턴 번호를 스케줄링 지표로
SMetric의 핵심 아이디어는 스케줄링 지표로 세션 턴 번호(session turn number)를 사용하는 것이다.
세션 턴 번호는 요청이 해당 에이전트 세션에서 몇 번째 순서인지를 나타낸다. 첫 요청은 턴 1, 두 번째 요청은 턴 2, 이런 식이다.
이 지표를 선택한 이유는 두 가지다.
첫째, 요청 자체에서 추출할 수 있다. 에이전트 루프에서 보내는 프롬프트에는 이전 대화 내용이 모두 포함된다. 스케줄러가 프롬프트를 분석하면 현재 세션의 턴 번호를 알 수 있다. 또는 에이전트 프레임워크가 메타데이터로 전달할 수 있다. 어떤 방식이든 스케줄러가 별도의 세션 상태를 저장하지 않아도 된다. 완전히 상태 없는(stateless) 스케줄러가 가능하다.
둘째, 라우팅 결정에 필요한 정보를 담는다. 턴 번호가 1이면 세션의 첫 요청이다. 이 요청에는 재사용할 KV 캐시가 아직 어느 인스턴스에도 없다. 어디로 보내든 캐시 미스(cache miss)다. 따라서 부하 균형 기준으로 결정하면 된다. 턴 번호가 2 이상이면 이전 요청이 이미 어떤 인스턴스에서 처리됐다. 그 인스턴스에 KV 캐시가 있다. 같은 인스턴스로 라우팅하면 재사용이 일어난다.
세션 기반 차등 라우팅 전략
SMetric이 제안하는 스케줄링 알고리즘은 단순하다.
세션의 첫 요청(턴 1): 클러스터 부하 균형 기준으로 인스턴스를 선택한다. 세션의 후속 요청(턴 2+): 로컬 캐시 우선 캐시-인식 라우팅으로 이전 요청이 처리된 인스턴스를 선택한다.
이 두 단계 전략이 왜 효과적인가?
세션 첫 요청 비율은 전체 요청에서 상대적으로 작다. 에이전트 세션이 여러 턴을 진행하면, 첫 요청은 전체의 일부분이다. 첫 요청만 부하 균형으로 분산해도 인스턴스 부하를 고르게 만드는 데 충분하다. 나머지 후속 요청들은 캐시-인식 라우팅으로 처리해 KV 캐시 재사용률을 유지한다.
결과적으로 부하 균형과 KV 캐시 재사용이 동시에 달성된다.
2계층 KV 캐시 아키텍처
SMetric은 2계층 KV 캐시 아키텍처를 전제로 설계됐다.
로컬 티어: 각 LLM 인스턴스에 붙어 있는 KV 캐시다. GPU 또는 호스트 DRAM에 저장된다. 접근 속도가 빠르고, 해당 인스턴스가 처리한 세션의 KV 캐시를 담는다.
글로벌 티어: 클러스터 내 여러 인스턴스가 공유하는 KV 캐시 스토어다. 로컬 티어에서 캐시 미스가 발생하면 글로벌 티어에서 찾는다. 읽기 속도는 로컬 티어보다 느리지만 다른 인스턴스에서 생성한 KV 캐시를 재사용할 수 있다.
SMetric은 글로벌 티어를 보조 수단으로만 사용한다. 후속 요청은 로컬 티어 우선으로 라우팅해 글로벌 티어 부하를 최소화한다. 첫 요청은 어차피 캐시 미스이므로 어느 인스턴스로 보내든 캐시 비용이 같다. 이 구조가 "부하 균형과 KV 재사용을 동시에 달성"하는 수학적 근거다.
성능 결과
SMetric 논문은 Qwen3 모델군을 기준으로 성능을 평가했다.
프리필-디코드 동일 배치(colocation) 설정 (글로벌 KV 캐시 스토어 포함):
- 최신 스케줄러 대비 클러스터 TPS 10–16% 향상
프리필-디코드 분리(disaggregation) 설정:
- 글로벌 티어 프로비저닝 수준에 따라 프리필 TPS 2–34% 향상
두 설정 모두에서 토큰별 지연도 개선됐다.
10–16% 향상이 작아 보일 수 있다. LLM 클러스터 운영 비용에서 10%는 GPU 수십~수백 개에 해당한다. 스케줄러 소프트웨어만 바꾸는 것이므로 하드웨어 추가 없이 달성된다.
운영 시사점
에이전트 워크로드를 챗 워크로드와 같은 클러스터로 서빙할 때
기존 캐시-인식 스케줄러는 에이전트 세션 구조를 모른다. 세션 내 요청들이 흩어지면 KV 캐시 재사용이 사라진다. SMetric 방식으로 스케줄러를 바꾸면 같은 인프라에서 처리량이 올라간다.
에이전트 메타데이터 전달
세션 턴 번호를 스케줄러가 알려면, 에이전트 프레임워크가 HTTP 헤더나 요청 메타데이터로 턴 번호를 전달해야 한다. 아니면 스케줄러가 프롬프트 구조를 분석해 직접 추론할 수 있다. 어떤 방식이든 현재 표준 API에는 이 정보가 없으므로 구현 시 별도 협약이 필요하다.
프리필-디코드 분리와의 조합
vLLM, SGLang 등이 기본 경로로 채택한 PD(Prefill-Decode) 분리 아키텍처에서 SMetric은 프리필 노드 선택을 제어한다. 세션 첫 요청은 부하 균형으로 프리필 노드를 정하고, 이후 요청은 같은 노드로 보내 KV 캐시를 재사용한다. PD 분리 환경에서 성능 개선 폭이 더 크다(2–34%).
글로벌 KV 캐시 스토어 용량 계획
SMetric은 글로벌 티어 부하를 줄이도록 설계됐지만, 글로벌 티어가 없는 환경에서도 로컬 티어 집중 라우팅 효과만으로 이득이 있다. 글로벌 티어를 갖춘 환경에서는 용량을 작게 유지하면서도 충분한 성능을 낼 수 있다.
요약
| 항목 | 내용 |
|---|---|
| 논문 | arXiv:2607.08565, KDD 2026 Research Track |
| 핵심 문제 | 에이전트 워크로드에서 기존 요청 기반 스케줄러의 KV 캐시 재사용 손실 |
| 해결책 | 세션 턴 번호 기반 차등 라우팅 (첫 요청: 부하 균형, 후속: 캐시-인식) |
| 지표(SMetric) | 세션 턴 번호 (요청에서 추출, 스케줄러 무상태) |
| 성능 | PD colocation +10–16% TPS, PD disaggregation +2–34% prefill TPS |
| 전제 | 2계층 KV 캐시 (로컬 + 글로벌 티어) |
에이전트 워크로드가 LLM 서빙의 주요 트래픽으로 자리잡는 시점에서, 스케줄러 설계의 기본 단위를 요청에서 세션으로 바꾸는 것이 왜 필요한지를 명확히 보여준 연구다.