文脈を渡す
関連する文章や JSON データ、文章のリストを渡します。画像、音声、動画は現在入力できません。
Jev は TypeSafe 初の System One モデルです。型付きの判断結果と確率を返し、アプリの処理に組み込めます。活用場面と API の実装方法を紹介します。
TypeSafe が System One モデルと呼ぶ Jev は、自由な文章を生成する代わりに、あらかじめ定めた形式の判断結果と確率を返します。生成 AI やルールベースのコードと使いどころを比べます。
| 比較項目 | Jev | 生成 AI モデル | ルールベースのコード |
|---|---|---|---|
| 出力 | 事前に決めた選択肢、スコア、確率 | 柔軟な文章、コード、構造化出力 | 明示した条件に応じた決まった値 |
| 速度 | 低遅延の判断向けに最適化。TypeSafe は自社テストで 70〜500 ms と報告 | モデル、プロンプト、出力長に依存 | 既知の条件なら通常は非常に高速 |
| 得意な用途 | 意味を読み取る必要がある、繰り返しの判断 | 文章作成、複雑な推論、自由度の高いタスク | 境界が明確で安定した条件 |
| 主な制限 | 自由な文章は生成できず、型付き回答も誤る場合がある | 柔軟な出力は解析や検証が必要になる | 意味が曖昧な入力には、すべての条件を書ききれない |
速度の数値は TypeSafe が特定の構造化判断テストで報告したものです。独立したベンチマークでも、一般的な速度保証でもありません。 評価方法を読む
選択肢は決まっていても入力の意味を読み取る必要があるなら Jev。新しい文章やコードを作るなら生成 AI。条件を明確に書けるなら、通常のコードによるルールが向いています。
Jev は入力された文章やデータを、指定した質問に沿って評価します。回答は選択肢やスコア、確率として返るので、アプリ側のコードで次の処理を決められます。
“サブスクリプションの料金が二重に請求されました。対応できますか?”
どのチームが対応すべき?
例示用の確率 0.92
関連する文章や JSON データ、文章のリストを渡します。画像、音声、動画は現在入力できません。
選択肢、スコア、または「はい」の確率など、必要な回答形式を呼び出し前に決めます。
結果や確信度に応じて振り分ける、担当者に確認を依頼するなど、次の処理を決めます。形式が正しくても判断は間違うことがあります。
Jev が向いているのは、アプリの中で何度も必要になる、答えの範囲が決まった判断です。以下は使い方の例であり、実際の精度は手元のデータで確かめる必要があります。
顧客からの苦情や事業者からのフィードバックを分類し、緊急度を判定して担当チームに振り分けます。迷う案件は人が確認します。
ユーザーが示した好みに合わせてフィードを絞り込み、候補の関連度を評価します。並び順は自社の指標やルールと組み合わせます。
依頼をどのモデル・ツール・エージェントに渡すか、検索が必要か、結果が次に進めるほど十分かを判断します。
メッセージ、コード変更、ツール実行を具体的なルールに照らして確認し、リスクが高い案件や判断が曖昧な案件は人に回します。
現在のゲーム状態と選択可能な手を入力し、AI 対戦相手や NPC の次の行動を選びます。ルール判定と実行はゲーム側のコードが担います。
自分のルールでメールや通知を仕分け、スマートホームの状態を判断したり、日常の自動化を実行するか決めたりできます。
アプリにすでに必要な小さな判断を一つ選びます。回答候補を定義し、その結果の使い方はコードで決めます。
問い合わせの振り分けや、候補の関連性評価などが例です。
呼び出す前に入力内容、質問、許可する回答を決めます。
確率と確信度に応じて、実行、代替処理、人による確認を選びます。
サーバー側の TypeScript から、OpenRouter 経由で Jev 1.13 に問い合わせ内容と二つの質問を送る例です。API キーはサーバーで管理し、返ってきた結果をどう使うかはアプリ側で決めます。
Jev を無料で試すconst apiKey = process.env.OPENROUTER_API_KEY;
if (!apiKey) throw new Error("Set OPENROUTER_API_KEY");
const response = await fetch("https://openrouter.ai/api/alpha/decisions", {
method: "POST",
headers: {
Authorization: "Bearer " + apiKey,
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "typesafe/jev-1.13",
state: "My card was charged twice. Please help ASAP.",
questions: {
department: {
type: "choice",
instructions: "Which team should handle this?",
criteria: {
billing: "Payments and refunds",
technical: "Bugs and integrations"
}
},
urgent: {
type: "noul",
instructions: "Does this message need urgent attention?"
}
}
})
});
if (!response.ok) throw new Error("Jev request failed: " + response.status);
const {answers} = await response.json();
if (answers.department.choice === "billing" && answers.urgent.noul > 0.8) {
// Route to the billing review queue.
}POST /api/alpha/decisionsstate + questionsanswerschoice には担当チーム、noul には「はい」と判断する度合いが 0〜1 の数値で返ります。両方を使って、コード側で振り分けを決めます。
実際の問い合わせに近いデータで検証し、モデルのバージョンを記録してください。結果が不確かな場合や影響が大きい場合は、人が確認できるようにします。0.8 は説明用の値です。
API の参照元: OpenRouter · TypeSafe
ハーネスがモデル呼び出しとツール実行の流れを管理します。判断が必要な場面で Jev にメッセージ、実行予定のツール呼び出し、またはエージェントの状態を渡し、型付きの結果を受け取ります。次の処理はコードで決め、自由記述の作業はチャットモデルに任せます。
ModelRouterMiddlewarebefore_agent → wrap_model_call実行前に最新のユーザー入力を分類してモデルを選び、その実行中は同じ選択を使います。選択結果、確率、信頼度はエージェントの状態にも残ります。
AutoModeMiddlewarewrap_tool_call指定したツールの実行前に呼び出しを判定します。リスクが高い、または権限が不十分と判断されると、呼び出しを止めてエラーの ToolMessage を返します。人間への承認依頼は行いません。
TypeSafeClassifierChoice · Score · Noul独自の判断点も追加できます。カスタムミドルウェアから TypeSafeClassifier にメッセージや状態を渡し、Choice、Score、Noul の結果をもとに分岐や人手での確認を行います。
リクエストで質問と回答形式を指定し、レスポンスでは質問ごとに結果が返ります。コード例に出てくる JSON の項目を見ていきましょう。
modelstatequestionstypeinstructionscriteriaanswerschoiceprobabilitiesconfidencenoul形式が正しくても判断が正しいとは限りません。代表的な事例で検証し、用途に応じた閾値を設定してください。
JevはTypeSafeのモデルです。コミュニティでも、オープンモデルやAPIを使い、決まった形式で素早く答えを返す方法が試されています。コードや仕組み、制約を比べてみましょう。
いずれもコミュニティによる独立した取り組みで、Jevの公式版ではありません。
公開時の議論、公式 SDK、独立した解説動画の要点をまとめました。まずここで概要をつかみ、気になる点は元の投稿や資料で確認できます。
TypeSafe は X で製品の更新情報や背景を発信しています。チーム自身の説明として読み、実装前には公式ドキュメントを確認してください。
元のページを見る公式の JavaScript・TypeScript SDK では、API の仕様や使用例、更新履歴を確認できます。Jev へのリクエストをコードでどう書くか調べるときに役立ちます。
元のページを見る公開時のスレッドでは、どんな場面で使えるか、どう評価するか、確信度の高い誤答をどう扱うかが議論されています。性能を測った資料ではありません。
元のページを見るTypeSafe の Allie Laabs が ThursdAI に出演し、System One と Choice・Score・Noul を解説します。番組では投稿の分類と Doom のデモを試し、Jev の限界にも触れています。
元のページを見るRepoChad による独立した解説です。出力形式、TypeSafe の速度に関する主張、デモ、未検証の点を扱います。再生を押したときだけ動画を読み込みます。
元のページを見るTypeSafe AI は Jev を最初の System One モデルとして発表しました。素早く構造化された判断を、通常のソフトウェア処理で使えるようにすることを目指しています。
創業者の Diogo Almeida は以前 OpenAI と Google Brain に在籍しました。TypeSafe によると、彼の指示追従や RLHF に関する研究は ChatGPT につながる技術に影響を与えました。
いいえ。Jev は自由な会話文やコードを生成するのではなく、指定した形式の判断結果と確率を返します。
候補の意味的な関連性の評価や並べ替えに利用できます。推薦システム全体には候補の取得、業務ルール、評価、独自のランキング処理も必要です。
いいえ。形式が正しくても、選ばれた答えは間違うことがあります。実際のデータで検証し、不確かな結果をどう扱うかコードで決めてください。
TypeSafe 公式ドキュメントと SDK から始められます。OpenRouter のモデルページからも Jev にアクセスできます。