Show HN: Astra 수준 성능을 위한 오픈 소스 모델 라우팅
몇 달 전, 우리는 앙상블(ensemble) 접근 방식을 통해 어떤 단일 모델보다도 뛰어난 성능을 낼 수 있을 것이라고 생각하여 코딩 에이전트를 위한 모델 라우터를 구축하기 시작했습니다. 최근에 그 이정표를 달성했으며, 어떻게 했는지 이야기하고 싶습니다.
먼저 간단히 설명드리자면, Weave Router (https://github.com/weave-os/router)는 모든 코딩 에이전트(예: Claude Code 또는 Codex)에 플러그인되어 LLM 간을 지능적으로 전환합니다. 예를 들어, Astra가 까다로운 디버깅이나 복잡한 시스템 설계 작업을 처리하고, Deepseek v4 Flash가 간단한 프론트엔드 업데이트를 처리하는 식입니다.
오늘 발표할 내용은 우리가 새로운 라우팅 모델인 Weave Router 2.0을 출시한다는 것입니다. 우리는 2.0 버전을 Terminal Bench 4.0과 SWE Atlas에서 GPT-6 Astra와 비교했습니다. 두 벤치마크 모두에서, 이 라우터는 동등한 통과율(pass rates)을 보였습니다. Terminal Bench에서는 라우터가 Astra 비용의 52%에 도달했으며, 작업을 2.2배 더 빠르게 완료했습니다. SWE Atlas에서는 라우터가 Astra와 비슷한 54%의 비용으로 작동했으며, 2.5배 더 빨랐습니다. (전체 결과는 저희 웹사이트 https://weaveos.com/router!에서 확인하세요!)
사실 모델을 효과적으로 라우팅하도록 학습시키는 것은 매우 어려운 문제입니다. 여기에는 모델 기능(capabilities), 비용(costs), 캐시 인식(cache awareness) 등이 고려되어야 합니다. 저는 지난 몇 달 동안 우리가 어떻게 크게 개선할 수 있었는지 세 가지 방법을 이야기하고 싶습니다: 1) 새로운 아키텍처, 2) 더 큰 학습 데이터셋 크기, 그리고 3) 스마트한 캐시 제거 영향 계산입니다.
- 새로운 아키텍처. 초기 접근 방식에서는 사전 지식(priors)이 많지 않은 RL 모델을 사용했습니다. RL은 여전히 중요한 부분이지만, 라우팅 결정 공간 전체를 탐색하는 비용이 매우 높기 때문에, 우리는 성능을 크게 향상시킨 몇 가지 단축 방법을 적용했습니다.
라우팅 문제의 검색 공간이 얼마나 큰지 고려해 보세요. 일반적인 코딩 에이전트 세션을 가정하면 약 100번의 에이전트 턴(즉, 100회의 LLM API 호출)을 거치게 됩니다. 기술적으로는 모델을 선택할 기회가 100번 있습니다. 만약 약 10개의 모델 목록을 가정한다면 (물론 훨씬 더 많지만, 파레토 우위를 점하는 모델은 제거할 수 있습니다), 해당 세션 동안 가능한 경로는 $10^{100}$가지가 됩니다. 우리는 이 모든 경로를 탐색할 수 없습니다! 그래서 이러한 공간을 줄이는 영리한 트릭이 매우 중요합니다.
특히, 저희는 히든 마르코프 모델(HMM)을 훈련하여 세션 상태를 추적하고, 이후 분류기(classifier)가 해당 세션을 유사한 몇 개의 버킷 중 하나로 매핑하도록 했습니다. HMM을 사용하면 현재 세션이 어디에 있는지뿐만 아니라 어떻게 그곳에 도달했는지까지 평가할 수 있습니다. 이 정보를 통합함으로써 버킷 선택에서 훨씬 더 나은 성능을 얻었습니다. 저희는 이것이 단순히 보기에 유사한 두 개의 세션을 비전문적인 분류기보다 HMM 접근 방식이 훨씬 더 잘 구별해 주기 때문이라고 생각합니다.
HMM과 분류기를 사용하여 먼저 버킷을 선택하는 것은 주어진 세션에 합리적으로 서비스를 제공할 수 없는 대부분의 모델들을 걸러내어 탐색 공간을 크게 줄여줍니다. 이 재구축(rearchitecture)이 가장 큰 성능 향상 요인이었습니다!
-
더 큰 훈련 데이터셋 크기 (기술적으로는 덜 흥미롭지만 여전히 중요한 이야기 부분입니다). 최첨단 LLM을 사용하여 더 크고 다양한 코딩 에이전트 세트를 레이블링하는 데 도움을 받음으로써, 저희는 1)에서 논의된 두 모델을 더 나은 상태로 부트스트랩할 수 있었으며, 동시에 RL을 위한 훨씬 풍부한 보상 신호도 제공할 수 있었습니다.
-
스마트한 캐시 제거(cache-eviction) 영향 계산. 모델 라우팅을 잘 수행하는 것(비용 절감이 중요하다면)의 가장 어려운 부분 중 하나는 모델 캐시를 지능적으로 사용하는 것입니다. 우리는 모델 전환 시 예상 가치(expected value)를 훨씬 더 정확하게 계산할 수 있는 서브시스템을 구축했습니다. 이를 통해 비용이 많이 들고 불필요한 모델 전환을 피하는 데 도움이 되었으며, 여전히 이점(benefit)이 비용을 상회할 때만 전환하도록 했습니다. 우리가 비용 측면에서 개선된 부분이 가장 크게 나온 지점이 바로 여기입니다.
우리는 계속해서 개선할 여지가 많습니다(단순히 Astra/Fable에 맞추는 것에 만족하지 않고, 꾸준히 능가할 때까지 쉬지 않을 것입니다!) 하지만 최첨단 모델 성능을 구현한 것은 저희 라우팅 모델에게 엄청난 이정표였으며, 제 생각에는 여러 모델의 앙상블(ensemble)이 단일 모델보다 더 나은 결과를 낼 수 있다는 우리의 초기 가설을 입증합니다.
저희 라우터는 오픈 소스입니다(https://github.com/weave-os/router). 따라서 누구나 사용해 볼 수 있습니다. 또는 원하신다면 호스팅된 버전(https://weaveos.com/router)을 이용하실 수도 있습니다.