Wayfinder Router: deterministic routing of queries between local and hosted LLM
개요
Wayfinder Router는 프롬프트의 구조와 내용의 복잡성을 분석하여 로컬 LLM과 클라우드 LLM 중 어느 곳으로 라우팅할지 결정하는 도구입니다. 이 과정에서 별도의 LLM 호출 없이 실시간으로, 오프라인에서도 작동하며, 결정 과정은 결정론적이고 일관적입니다.
주요 내용
* 결정론적이고 오프라인 라우팅: Wayfinder Router는 프롬프트의 길이, 제목, 목록, 코드 등 구조적 특징과 "증명", "수학", "엄격한 제약 조건"과 같은 단어의 난이도 힌트를 읽어 로컬 모델 또는 클라우드 모델로 보낼지 결정합니다. 이 결정은 마이크로초 안에 이루어지며, 인터넷 연결이나 추가적인 모델 호출 없이 오프라인으로 작동합니다.
* 비용 효율적인 라우팅: 간단한 프롬프트는 로컬의 저렴한 모델로 보내고, 복잡한 프롬프트만 비용이 많이 드는 클라우드 모델로 전송함으로써 불필요한 비용 지출을 줄입니다. "이것을 요약해 줘" 또는 "오타를 수정해 줘"와 같은 간단한 요청에 대해 최첨단 모델의 높은 비용을 지불할 필요가 없어집니다.
* 기존 모델과의 비교: 대부분의 다른 라우터들은 결정을 내리기 위해 또 다른 모델(분류기, LLM 판단자, 호스팅 API)을 호출합니다. 이는 지연 시간, 비용을 증가시키고 결정 과정에 약간의 무작위성을 추가할 수 있습니다. Wayfinder Router는 모델 호출 없이 프롬프트의 구조와 내용을 분석하므로 결정 과정이 빠르고 예측 가능합니다.
* 자체 데이터로 보정 (Calibration): Wayfinder Router는 기본적으로 프롬프트 구조만을 평가하지만, 사용자는 자체 데이터를 사용하여 어휘적 단서(증명, 수학, 제약 조건 등)를 포함하도록 조정할 수 있습니다. 이를 통해 특정 도메인의 프롬프트에 대한 라우팅 정확도를 높일 수 있습니다.
* 다양한 라우팅 모드: Wayfinder Router는 단순 임계값을 사용하는 이진(Binary) 모드, 여러 점수를 기준으로 여러 모델에 순차적으로 라우팅하는 계층(Tiered) 모드, 머신러닝 분류기를 사용하는 클래시파이어(Classifier) 모드 등 다양한 라우팅 설정을 지원합니다.
* OpenAI 호환 API 지원: Wayfinder Router는 OpenAI 호환 API 엔드포인트(/chat/completions)를 사용하는 모든 모델과 연동됩니다. 이를 통해 로컬 모델(Ollama, vLLM 등)과 클라우드 모델(OpenAI, Anthropic 등)을 조합하여 사용할 수 있습니다.
* 쉬운 통합 및 설정: Wayfinder Router는 기존 애플리케이션의 OpenAI API base_url만 변경하면 쉽게 통합할 수 있습니다. wayfinder-router init 명령어를 통해 초기 설정을 진행하거나, wayfinder-router.toml 파일을 직접 편집하여 모델 및 라우팅 규칙을 구성할 수 있습니다. API 키는 환경 변수에서 읽어오며, 설정 파일에 직접 저장되지 않아 보안을 강화합니다.
* 디버깅 및 튜닝 도구: Wayfinder Router는 CLI 도구(wayfinder-router route --explain), 웹 UI(wayfinder-router ui)를 제공하여 프롬프트가 왜 특정 모델로 라우팅되었는지, 각 특징이 점수에 어떻게 기여하는지 상세하게 분석하고 시각화할 수 있습니다. 사용자는 이를 통해 라우팅 임계값이나 가중치를 조정하여 최적의 성능을 찾을 수 있습니다.
* 피드백 기반 학습 및 재보정: 사용자가 특정 응답에 대해 '좋았다' 또는 '나빴다'와 같은 피드백을 제공하면, Wayfinder Router는 이 정보를 수집하여 주기적으로 재보정(recalibrate)함으로써 라우팅 성능을 지속적으로 개선할 수 있습니다.
시사점
Wayfinder Router는 LLM 운영 비용을 절감하고 성능을 최적화하기 위한 실용적인 솔루션을 제공합니다. 별도의 모델 호출 없이 결정론적이고 오프라인으로 작동하는 방식은 특히 지연 시간에 민감하거나 인터넷 연결이 불안정한 환경에서 큰 이점을 제공하며, 자체 데이터를 통해 라우팅 로직을 보정할 수 있는 기능은 다양한 애플리케이션에 맞춤형으로 적용될 수 있는 유연성을 부여합니다.
댓글
GitHub Discussions