ユースケース

モデルルーティング

ハードコードされたリストではなく、タスクから安いモデルか高いモデルを選びます。

問題

すべてのプロンプトを最大のモデルに送ると、参照レベルの作業にも予算が溶けます。

回答に対してコードが行うこと

`small` と判定されたタスクは高速モデルへ送り、`large` のものだけをエスカレーションします。

ルーティングのリクエストの姿

state はタスクそのもの — チケット、クエリ、プロンプト — で、質問は 2 つ:difficulty(small、medium、large にわたる choice。各ティアが得意とすることに結びついた説明付き)と needs_tools(はい/いいえ:回答にコード実行や検索が必要か?)。両方の回答には確率が付くため、境界線上のタスクは、黙って間違ったルートになる代わりに、割れた信頼度として現れます。呼び出しは通常 1 クレジット。節約になるのは、参照や書き直しに large ティアの単価を払わずに済むことです。

エスカレーションは再構築ではなく 2 番目のリクエスト

difficulty で振り分けます。small と判定されたタスクは高速モデルへ直行します。信頼度ラインより上のすべて — ティア間で割れた difficulty、不確かなツールの必要性 — は、すでに組み立てた同じ state を携えて高コストの経路へエスカレーションします。配管のやり直しは不要です。呼び出しごとにルート、信頼度、レイテンシをログに残し、トラフィックが移ればティアの説明を再調整します。

ルーティング特有の落とし穴

振る舞いではなく雰囲気で書かれたティア("cheap / pricier / priciest")は一貫しない呼び出しを招きます。代わりに、タスクがどんな姿かを記述します。エスカレーションの経路を隠さないこと — ライブトラフィックがどこに着地するかを測り、ほとんどのタスクが large ティアに判定されるなら、ティア分けがずれているか、criteria の説明が慎重すぎるかのどちらかです。そして、ユーザーではなくタスクでルーティングすること:パワーユーザーのタイプミスは small ティアの値打ちがあります。

リクエストの形状

これは、このプリセットについて Playground が送る完全なリクエストです — 自分のサーバーが Bearer キー付きで /v1/systemone に送るのと同じ JSON です。

curl
curl https://jevai.website/api/v1/systemone \
  -H "Authorization: Bearer $JEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "state": "Write a SQL query that returns the top 5 customers by revenue in 2025 from tables orders(customer_id, total, created_at) and customers(id, name).",
  "questions": {
    "difficulty": {
      "type": "choice",
      "instructions": "Which model tier is enough to answer this well?",
      "criteria": {
        "small": "Simple lookup or rewrite a small model handles",
        "medium": "Routine reasoning or code",
        "large": "Multi-step reasoning, ambiguity or long context"
      }
    },
    "needs_tools": {
      "type": "noul",
      "instructions": "Does answering require running code or fetching data?"
    }
  }
}'

このユースケースに関する FAQ

ルーターは自分のコストを知っているべきですか?
振る舞いベースに保ちます:criteria は各ティアが何を扱うかを記述します。価格はポリシーの中にあります — small と判定されたのに低い信頼度を返すタスクはエスカレーションの候補であり、そのルールを機能させるのが信頼度の数字です。
ティアはいくつ宣言すべきですか?
3 つがスイートスポットです。振る舞いの言葉で書きます:参照と書き直し、定型的な推論やコード、多段階の曖昧さや長文コンテキスト。2 つではニュアンスが失われ、5 つは境目がにじみ始めます。
英語以外のタスクでも機能しますか?
はい — state はタスクをその言語のまま運べます。criteria 内のティア名は、自分のコードが分岐する識別子として固定してください。
Playground で実行する