Ikeraq

workweave/router

向き先を変えるだけで、プロンプトごとに投げるモデルが切り替わる

Apache-2.0 · 商用可 Go ★ 5,597 今日 更新
GitHub で見る workweave/router
GitHub の説明(原文)
Model router for agentic systems. Routes every prompt to the right model in <50ms. Cut costs 40-70% with just an endpoint change.

どういうものか

複数のLLMプロバイダの前に置くプロキシです。Anthropic・OpenAI・Gemini のエンドポイントの差し替え先として動くので、呼び出し側のコードは基本そのままで、向き先だけを変える形になります。

肝は選び方です。サーバー内で動く小さな埋め込みモデル(ONNX)がプロンプトをその場で読み、Avengers-Pro という論文(arXiv:2508.12631)から起こした「クラスタスコアラー」が投げ先を決めます。GitHub の説明文は50ミリ秒を切って振り分けると掲げています。ルールを人が書くのではなく、プロンプトの中身から判断させる方向です。

置き場所は2通りあります。手元で動かす(8080番)か、Weave の管理するクラウドを使うか。手元で動かす場合、ルーター・スコアラー・Postgres・各プロバイダのキーはすべて自分の側に留まり、プロンプトはプロバイダへ直接送られます。

どんなときに使うか

使うモデルが増えて、振り分けの判断がコードに散らばってきたとき

「この処理は安いモデル、この処理は賢いモデル」という分岐は、最初は if 文ひとつで済みます。増えてくると、条件があちこちに散って手が入れづらくなります。その判断を一箇所に外に出す、という選択肢になります。

キーとログを自分の側に置いたまま、複数プロバイダを試したいとき

手元で動かす構成なら、鍵もデータベースも外に出ません。プロバイダを乗り換えるときの比較を、自分の環境の中でやれます。

注意点

ライセンスが Elastic License v2 です。ここがいちばん重要です。 これはオープンソースライセンスではありません。同等の管理サービスとして第三者に提供することが制限されます。社内で使うぶんには問題になりにくいですが、これを組み込んだサービスを売る計画があるなら、条文を読んでから決める必要があります。ライセンス欄が空欄(NOASSERTION)に見えるのも、定型のオープンソースライセンスとして扱われないためです。

説明文の2つの数字は、そのままの形では裏が取れません。 「50ミリ秒を切る」「コストを40〜70%削減」はどちらも GitHub の説明文にある文句です。README からは再現用のベンチマーク資料にリンクが張られていて、そこには測定条件と結果の表が公開されています。ただし並んでいるのは、ルーター側が安く済んだ例($262 対 $445)と、逆に高くついた例($692 対 $127)の両方で、「40〜70%」という幅の根拠としては読めません。安く済んだ例でもいちばん大きいもので約5割で、70%に当たる数字は表にありません。なお表の金額は、ルーター側が実際に請求された額と、対照側の定価を並べたもので、算出の基準がそろっていない点も本家自身が断っています。振り分けの速さのほうは、README にもベンチマーク資料にも測定値が見当たりませんでした。なお、リポジトリの置き場所が workweave/router から weave-os/router に移りました(旧URLは転送されます)。あわせて注意したいのは、Robinhood や PostHog の名前が挙がっているのは、このルーターではなく開発元 Weave のプラットフォーム本体についての記述だという点です。導入実績として読むと見誤ります。Cursor との連携は初期ベータで性能が最適でない場合がある、と自ら断っています。

まだ若いプロジェクトです。 振り分けの判断が変われば出力も変わる性質のものなので、バージョンを固定して使うかどうかは先に決めておいたほうがいいです。

開発の様子

6 か月
公開してからの期間。2026-04-28 が最初のコミットです
1 回
リリースの回数です
10 人
開発に参加した人数です
0 日前
最後のコミットです
173 件
未解決の Issue とプルリクエストの合計です(GitHub はこの2つを同じ数に含めます)

ほかの候補

diegosouzapw/OmniRoute
複数のAI提供元を1つの窓口にまとめ、止まったら次へ回す
NousResearch/hermes-agent
一度うまくいったやり方を手順として書き出し、次から使い回す
rtk-ai/rtk
コマンドの出力を削ってからエージェントに渡し、読ませる量を減らす
X で共有 この記事がよかったら

この記事の更新日は 2026-08-31 です。 内容は公開されている README と GitHub のデータに基づいています。 数値は GitHub から取得したもの、警告は判定の基準にある条件での自動判定です。事実誤認を見つけた場合はお知らせください。