TypeSafe AIとは
TypeSafe AIは、ソフトウェアの自動化に向けた「機械ネイティブな知能基盤」を作るAIラボです。主力製品はJev(ジェブ)で、同社はこれを「最初のSystem Oneモデル」と位置づけています。
ChatGPTやClaudeのような大規模言語モデル(LLM)は、人が読む文章を生成することが得意です。一方でJevは、ソフトウェアの中で判断を下すことに特化しています。プログラムに状態(テキストなどの入力)と型付きの質問を渡すと、コードがそのまま使える構造化された答えが返ってきます。
何が違うのか
公式サイトが挙げる特徴は次の3点です。
- 型付きの判断(Typed Decisions):自由な文章ではなく、選択肢・数値・確率といった、プログラムが直接分岐に使える出力を返します
- 較正された確信度(Calibrated Confidence):すべての判断に確信度が付きます。確信度が高ければ自動で実行し、低ければ人に回すという設計ができます
- 高速・低コスト:公式は、System Oneのタスクで一般的なLLMより大幅に高速・安価だと主張しています
公式サイトでは、料金は入力10億トークンあたり42ドルとされています。また速度やコストの比較数値も掲載されていますが、これらはベンダー自身の主張です。自社の用途で検証してから判断してください。
3種類の質問:Choice・Score・Noul
Jevに投げる質問は、次の3つの型(プリミティブ)に分かれています。
- Choice:定義した選択肢の中から1つを選ぶ(例:問い合わせをどの部署に回すか)
- Score:段階的な基準に沿って内容を評価する(例:顧客の苛立ちの度合い)
- Noul:ある文が真かどうかを0〜1の確率で返す(例:この文は緊急性を含むか)
1回のAPI呼び出しで複数の質問をまとめて送れます。各質問は同じ状態に対して、並列かつ互いに独立して評価されます。ドキュメントによれば、質問を増やしても応答時間はほとんど変わらないとのことです。
使い方の例
Python SDKは \pip install typesafe-sdk\ でインストールします。公式のクイックスタートでは、サポート問い合わせを分類する例が紹介されています。
\\\`python
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
client = TypeSafeClient()
ticket = "Stripeとの連携が3日間失敗し続けていて、売上が落ちています。至急お願いします。"
response = client.system_one(
state=ticket,
questions={
"department": Choice(
instructions="どのチームが対応すべきか",
criteria={
"billing": "支払い・サブスクリプションの問題",
"technical": "不具合・連携の問題",
"sales": "価格・アカウントの相談",
},
),
"frustration": Score(
instructions="顧客がどれくらい苛立っているか",
criteria=[
"落ち着いて事実を述べている",
"苛立っているが丁寧",
"強い言葉で激怒している",
],
),
"is_urgent": Noul(
instructions="メッセージが緊急性を伝えている",
),
},)
print(response.answers["department"].choice)
print(response.answers["frustration"].score)
print(response.answers["is_urgent"].noul)
\\\`
※上記は公式クイックスタートの内容を日本語に置き換えた例です。返ってくる各答えには、値のほかに確信度、選択肢ごとの確率分布、使用トークン数が含まれます。JavaScript SDKも提供されています。
確信度で「任せる」か「人に回す」かを決める
Jevの設計で特に興味深いのが、確信度の使い方です。確信度は0〜1の値で、確率が1つの選択肢に集中するほど高く、複数に分散するほど低くなります。
公式ドキュメントは、次のような3段階の運用を勧めています。
- 高い(0.9超):人の確認なしで自動実行する
- 中程度:ユーザーへの確認やレビュー対象にするなど、慎重に進める
- 低い(0.5未満):人に回す、または追加情報を集める
リスクに応じてしきい値を変えるのがポイントです。データの参照だけなら低めでも構いませんが、送金の承認のような取り返しのつかない操作には、より高い確信度を求めます。ドキュメントには「破壊的な操作は、読み取りのみの操作より高い確信度が必要」とあります。
設計パターン
ドキュメントでは、Jevを組み込む際の設計パターンも紹介されています。
- 投機的ファンアウト:関連しそうな質問を一度にまとめて送り、どれを使うかはコード側で決める
- 確信度ゲート付きルーティング:確信度を基準に、自動処理と人への引き継ぎを振り分ける
- 複合スコアリング:複雑な評価を小さな単位のスコアに分け、最後にコードで合成する
- インテント(意図)ルーティング:リクエストの種類を分類して適切な処理へ回す
共通する考え方は「制御はコードが持ち、AIには狭く構造化された判断だけを任せる」ことです。
向いている用途
公式のクックブックには、次のような例が並んでいます。
- 問い合わせ・文書の分類(階層的な分類を含む)
- RAGで取得した文章の関連度フィルタリング
- LLMの入出力に対するガードレール
- 引用の裏取りや、商品データの名寄せ
- 日付や金額などの値の抽出
「多数の小さな判断を、速く・安く・確信度付きで処理したい」場面に合いそうです。
注意点:得意でないこと
公式ドキュメントには、Jev 1.13の弱点も正直に書かれています。
- 算数・数え上げは苦手です。計算はコードで行うべきとされています
- 日付や時刻の比較は信頼できません
- 文脈と無関係な情報が大量にあると精度が落ちます
- 入力に紛れ込んだ敵対的な指示に影響される場合があります
- 文章生成には向きません。そのための設計ではありません
公式の推奨は「計算はコードに任せ、Jevは明確で文字通りの指示と、絞り込んだ文脈による判断に使う」ことです。チャットボットの代替ではなく、あくまでソフトウェアの部品として使うモデルだと理解すると、選択を誤りにくくなります。
まとめ
- Jevは文章ではなく、型付きの判断と確信度を返すモデル
- 質問はChoice・Score・Noulの3種類で、複数をまとめて並列に投げられる
- 確信度を使い、自動化と人による確認の境界を設計できる
- 速度・コストの数値は公式の主張なので、自社データでの検証が前提
- 計算や文章生成は苦手。コードとLLMとの役割分担が重要
生成AIを「文章を書く相手」から「業務システムの判断部品」へと捉え直す考え方として、参考になるアプローチです。詳しくは公式ドキュメントをご覧ください。
※本記事は2026年9月時点の公開情報(公式サイトとドキュメント)に基づいています。APIのコンソールはログインが必要なため、管理画面の内容は含んでいません。