開発者コミュニティによる独立ガイド

Jev AI モデル。
判断を、コードの中へ。

Jev は TypeSafe 初の System One モデルです。型付きの判断結果と確率を返し、アプリの処理に組み込めます。活用場面と API の実装方法を紹介します。

タスクに合わせて選ぶ

生成 AI やルールとの違い。

TypeSafe が System One モデルと呼ぶ Jev は、自由な文章を生成する代わりに、あらかじめ定めた形式の判断結果と確率を返します。生成 AI やルールベースのコードと使いどころを比べます。

比較項目Jev生成 AI モデルルールベースのコード
出力事前に決めた選択肢、スコア、確率柔軟な文章、コード、構造化出力明示した条件に応じた決まった値
速度低遅延の判断向けに最適化。TypeSafe は自社テストで 70〜500 ms と報告モデル、プロンプト、出力長に依存既知の条件なら通常は非常に高速
得意な用途意味を読み取る必要がある、繰り返しの判断文章作成、複雑な推論、自由度の高いタスク境界が明確で安定した条件
主な制限自由な文章は生成できず、型付き回答も誤る場合がある柔軟な出力は解析や検証が必要になる意味が曖昧な入力には、すべての条件を書ききれない
i

速度の数値は TypeSafe が特定の構造化判断テストで報告したものです。独立したベンチマークでも、一般的な速度保証でもありません。 評価方法を読む

使い分けの目安

選択肢は決まっていても入力の意味を読み取る必要があるなら Jev。新しい文章やコードを作るなら生成 AI。条件を明確に書けるなら、通常のコードによるルールが向いています。

基本的な考え方

アプリの中で繰り返す判断に。

Jev は入力された文章やデータを、指定した質問に沿って評価します。回答は選択肢やスコア、確率として返るので、アプリ側のコードで次の処理を決められます。

3 ステップでわかる Jev仕組みを示す例 · 実際のモデル出力ではありません
01顧客からのメッセージ

サブスクリプションの料金が二重に請求されました。対応できますか?

02質問と選択肢

どのチームが対応すべき?

回答の選択肢:請求担当 · 技術担当 · 営業担当
03決まった形式の結果
請求担当Jev

例示用の確率 0.92

01

文脈を渡す

関連する文章や JSON データ、文章のリストを渡します。画像、音声、動画は現在入力できません。

02

回答の範囲を決める

選択肢、スコア、または「はい」の確率など、必要な回答形式を呼び出し前に決めます。

03

次の処理はコードで決める

結果や確信度に応じて振り分ける、担当者に確認を依頼するなど、次の処理を決めます。形式が正しくても判断は間違うことがあります。

出典: TypeSafe 公式ドキュメント

適した場面

小さな判断を、日々の処理に。

Jev が向いているのは、アプリの中で何度も必要になる、答えの範囲が決まった判断です。以下は使い方の例であり、実際の精度は手元のデータで確かめる必要があります。

01

カスタマーサポート

問い合わせを分類し、緊急度を見て担当キューへ振り分けます。不確かなケースは人に回します。

判断の例請求の問題か、技術的な問題か?
02

レコメンドと並べ替え

候補がユーザーの状況にどれだけ合うかを評価し、自社のランキング指標やルールと組み合わせます。

判断の例この候補は依頼内容にどれほど関連するか?
03

エージェントの振り分け

次に使うツールやモデルを選び、出力を確認し、エスカレーションの必要性を判断します。

判断の例この依頼は専門モデルへ送るべきか?
04

コンテンツの安全性

具体的な基準に照らして内容を評価し、確信度の低いケースや高リスクのケースを人が確認します。

判断の例このメッセージはポリシーに違反するか?

出典: TypeSafe の活用例

使い始める

最初の判断を設計する。

アプリにすでに必要な小さな判断を一つ選びます。回答候補を定義し、その結果の使い方はコードで決めます。

01

判断を一つ選ぶ

問い合わせの振り分けや、候補の関連性評価などが例です。

02

選択肢を定義する

呼び出す前に入力内容、質問、許可する回答を決めます。

03

不確実性を扱う

確率と確信度に応じて、実行、代替処理、人による確認を選びます。

API 連携の例

Jev をコードに組み込む。

サーバー側の TypeScript から、OpenRouter 経由で Jev 1.13 に問い合わせ内容と二つの質問を送る例です。API キーはサーバーで管理し、返ってきた結果をどう使うかはアプリ側で決めます。

サーバー側 TypeScripttypesafe/jev-1.13
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/decisions
入力state + questions
出力answers

回答の読み方

choice には担当チーム、noul には「はい」と判断する度合いが 0〜1 の数値で返ります。両方を使って、コード側で振り分けを決めます。

本番運用の前に

実際の問い合わせに近いデータで検証し、モデルのバージョンを記録してください。結果が不確かな場合や影響が大きい場合は、人が確認できるようにします。0.8 は説明用の値です。

API の参照元: OpenRouter · TypeSafe

各フィールドの意味

リクエストで質問と回答形式を指定し、レスポンスでは質問ごとに結果が返ります。コード例に出てくる JSON の項目を見ていきましょう。

リクエスト

model
モデル ID。例では Jev 1.13 を指定し、使用バージョンを明確にしています。
state
評価するテキストまたは構造化データ。例ではサポートへの問い合わせです。
questions
質問名をキーにしたオブジェクトです。レスポンスの answers に同じキーで結果が返ります。
type
回答形式です。choice は候補から選び、noul は「はい/いいえ」の度合いを返します。
instructions
モデルに求める具体的な判断内容です。
criteria
choice で許可する選択肢のキーと、それぞれの意味です。

レスポンス

answers
各質問への回答。同じ名前のキーに格納されます。
choice
選ばれた選択肢のキー。最も確率の高い選択肢です。
probabilities
各選択肢の確率。合計は 1 になります。
confidence
確率の分布から計算する確信度で、選ばれた候補の確率とは別の値です。
noul
はい・いいえの質問に対する 0(いいえ)から 1(はい)の値です。

形式が正しくても判断が正しいとは限りません。代表的な事例で検証し、用途に応じた閾値を設定してください。

Jev をめぐる動き

開発者の議論を読む。

公開時の議論、公式 SDK、独立した解説動画の要点をまとめました。まずここで概要をつかみ、気になる点は元の投稿や資料で確認できます。

X

TypeSafe は X で製品の更新情報や背景を発信しています。チーム自身の説明として読み、実装前には公式ドキュメントを確認してください。

元のページを見る

GitHub

公式の JavaScript・TypeScript SDK では、API の仕様や使用例、更新履歴を確認できます。Jev へのリクエストをコードでどう書くか調べるときに役立ちます。

元のページを見る

Hacker News

公開時のスレッドでは、どんな場面で使えるか、どう評価するか、確信度の高い誤答をどう扱うかが議論されています。性能を測った資料ではありません。

元のページを見る
このページで視聴

動画で見る Jev の構造化された判断と限界

RepoChad による独立した解説です。出力形式、TypeSafe の速度に関する主張、デモ、未検証の点を扱います。再生を押したときだけ動画を読み込みます。

元のページを見る
Jev をつくる人たち

AI の判断を、ソフトウェアで使いやすく。

TypeSafe AI は Jev を最初の System One モデルとして発表しました。素早く構造化された判断を、通常のソフトウェア処理で使えるようにすることを目指しています。

創業者の Diogo Almeida は以前 OpenAI と Google Brain に在籍しました。TypeSafe によると、彼の指示追従や RLHF に関する研究は ChatGPT につながる技術に影響を与えました。

よくある質問

気になる点を確認する。

Jev はチャットボットですか?

いいえ。Jev は自由な会話文やコードを生成するのではなく、指定した形式の判断結果と確率を返します。

推薦に使えますか?

候補の意味的な関連性の評価や並べ替えに利用できます。推薦システム全体には候補の取得、業務ルール、評価、独自のランキング処理も必要です。

型付き出力なら判断は正しいですか?

いいえ。形式が正しくても、選ばれた答えは間違うことがあります。実際のデータで検証し、不確かな結果をどう扱うかコードで決めてください。

どこから学べますか?

TypeSafe 公式ドキュメントと SDK から始められます。OpenRouter のモデルページからも Jev にアクセスできます。

一つの判断から

まずは小さな判断を組み込む。

質問と回答の候補を決めたら、Jev の結果をどう使うかはアプリ側で設計しましょう。