vLLM Session-Aware Agentic Routing (SAAR) 출시

vLLM Session-Aware Agentic Routing (SAAR) 출시

vLLM은 vLLM Semantic Router 내의 세션 인식 모델 선택 정책인 **Session-Aware Agentic Routing (SAAR)**를 도입했습니다. SAAR은 라우터 소유 세션 메모리, 도구 루프에 대한 하드 락, 프리픽스 캐시 인식 스위치 가격 책정을 도입하여 장기 호리즌 에이전트 시나리오에서 싱글 턴 프롬프트 라우터의 실패를 해결하며, 모델 전환을 79.29% 줄이고 결정적 테스트에서 안전하지 않은 전환을 제거합니다.

프롬프트 라우팅에서 세션 라우팅으로의 전환

전통적인 프롬프트 라우팅은 현재 요청의 신호를 기반으로 모델을 선택합니다. 그러나 LLM 에이전트는 계획, 도구 호출, 관찰 처리를 수행하는 세션에서 작동하며, 여기서 턴은 이전 궤적의 맥락에서만 의미가 있습니다.

왜 싱글 턴 라우팅이 에이전트에 실패하는가

싱글 턴 라우팅은 국소적으로 최적일 수 있지만 세션적으로는 잘못될 수 있습니다. 이로 인해 여러 실패 모드가 발생합니다:

  • Tool-loop breakage: 툴 루프 중단: 툴 결과를 툴 호출을 시작하지 않은 모델로 라우팅할 수 있습니다.
  • State loss: 상태 손실: 이동 불가능한 제공자 관리 연속 ID가 잘못된 물리 백엔드로 전송될 수 있습니다.
  • Inefficiency: 비효율성: 특정 턴의 메시지가 짧아서 프론티어 모델의 따뜻한 프리픽스 캐시가 버려질 수 있으며, 이로 인해 비용이 증가합니다.
  • Observability gaps: 관찰 가능성 격차: 각 턴을 제공하는 물리 모델이 알려지지 않을 때 논리 모델(예: auto)이 디버그하기 어려워집니다.

SAAR 설계 및 아키텍처

SAAR은 기존 Semantic Router 파이프라인에 세션 제어 계층을 추가합니다. 모델 선택을 관리하기 위해 다섯 가지 주요 구성 요소를 활용합니다:

구성 요소 기능 목적
Router Memory 마지막 물리 모델, 매치된 결정, 단계, 캐시 증거를 추적합니다 애플리케이션 메모리가 되지 않으면서 세션 컨텍스트를 제공합니다
Hard Locks 활성 툴 루프 또는 이동 불가능한 제공자 상태 동안 스위칭을 방지합니다 비용/품질 최적화보다 정확성을 보장합니다
Reset Boundaries 유휴 타임아웃 또는 결정 드리프트 후 재선택을 허용합니다 라우팅이 영구적으로 '끈적거리게' 되는 것을 방지합니다
Switch Economics 핸드오프 비용과 프리픽스 캐시 체크아웃에 가격을 매깁니다 세션 길이와 모델 계층에 따라 비대칭적으로 스위칭을 만듭니다
Replay Traces 머무름/전환 결정의 이유를 기록합니다 auto와 같은 논리 모델을 검사 가능하게 만듭니다

하드 연속성 제약

SAAR은 기본 선택기의 점수에 관계없이 라우터가 모델을 전환하지 못하도록 하는 두 가지 '하드 락'을 적용합니다:

  1. Tool-loop continuity: 툴 결과는 툴 호출을 요청한 물리 모델로 반환되어야 합니다.
  2. Provider-managed state: 이동 불가능한 연속 상태가 있는 요청은 이전 물리 백엔드에 머물러야 합니다.

반대로, Reset Boundaries (유휴 타임아웃 및 결정 드리프트)는 연속성의 가치가 감소하거나 작업 형태가 변경될 때 라우터가 모델 선택을 다시 열 수 있도록 허용합니다.

프리픽스 캐시 및 스위치 경제학

긴 세션에서는 모델 전환이 시스템 결정입니다. SAAR은 캐시 입력 체크아웃 델타—후보 모델에 대한 일반 프롬프트 입력 가격과 캐시 입력 가격 사이의 차이—를 책정합니다. 세션이 길어지고 비용이 증가함에 따라 정책은 높은 입력 비용을 방지하기 위해 프리픽스 locality를 버리는 것에 대해 더 엄격해집니다.

운영 워크플로 및 관찰 가능성

클라이언트가 안정적인 x-session-id를 가진 요청을 논리 모델(예: auto)에 전송할 때, SAAR은 다음과 같이 턴을 처리합니다:

  1. 신호를 추출하고 Semantic Router 파이프라인을 실행하여 기본 모델 선택을 얻습니다.
  2. 라우터 메모리에서 세션 상태를 로드합니다.
  3. 하드 락(툴 루프/제공자 상태)을 적용합니다.
  4. 리셋 경계(유휴/드리프트)를 평가합니다.
  5. 프리픽스 캐시 비용 및 스위치 기록을 기반으로 점수를 조정합니다.
  6. 물리 모델을 선택하고 재생 트레이스를 내보냅니다.

재생 트레이스는 운영자가 라우터가 모델에 머물렀는지 또는 모델에서 전환했는지 이유를 감사할 수 있게 하며, 결정이 하드 락, 리셋 경계, 또는 캐시 경제학에 의해 이끌렸는지 답변합니다.

성능 및 평가 결과

평가는 결정적 정책 매트릭스, 라이브 AMD ROCm 서빙, 및 에이전트-작업 트레이스에서 수행되었습니다.

정책 매트릭스 결과 (21,600 턴)

정책 전환 수 안전하지 않은 전환 수 예상 비용 감소 품질 델타
싱글 턴 9,709 3,836 0.00% +0.0000
끈적 세션 340 0 98.65% -0.1433
완전 SAAR 2,011 0 78.71% -0.0453

정확성 및 신뢰성

  • Hard Lock Efficacy: 툴 루프 스위치 위반이 3,404에서 0으로 감소했으며, 제공자 상태 위반이 432에서 0으로 감소했습니다.
  • Live Serving: AMD ROCm上的 2,896개 라이브 요청에서 연속성 위반이 0건 관찰되었습니다.
  • Fault Recovery: 주입된 HTTP 503 백엔드 결함 후 영향을 받은 세션(32/32)의 100%가 복구되었습니다.
  • Task Completion: 18/18의 점수가 매겨진 작업 인스턴스가 모든 라우팅된 턴에서 재생 헤더가 존재하는 상태로 성공적으로 완료되었습니다.

Sources