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(

code
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のコンソールはログインが必要なため、管理画面の内容は含んでいません。