本文へスキップ

Decide

ブラウザで動く System One モデル。

テキストから、速く型付きの判断を。ユーザーの端末上で、信頼できる確信度とともに。自信がないときは LLM に聞き、その答えから学びます。

the app crashes when I open settings

bug_report93%
feature_request7%
praise0%
question0%

確信あり:この端末で回答

90.7%77 の銀行系インテントで。学習済みヘッドは 156 kB
81%Llama 3.1 8B から学んだ後、端末内で答えられる割合 (学習前は 70%)
0.9 = 90%較正済み:0.9 の答えはおよそ 90% 正しい
3.6 kBページに増えるサイズ。モデルは Worker で動きます

数行のコード

ts
import { createDecider } from "decidekit";

const d = await createDecider();
const { choice, confidence } = await d.decide(
  "my card still hasn't arrived",
  ["card_arrival", "lost_card", "refund"],
);
// choice: "card_arrival", typed as your labels

LLM から学ぶ様子を見る

最初は 12 個のラベル名しか知りません。自信のあるものは自分で答え、残りは LLM に送り、8 件の答えごとに再学習します。LLM の答えは一度だけ記録したものなので、誰でも無料で見られます。

System One モデルとは?

カーネマンは、速く直感的な思考をシステム 1、遅く慎重な思考をシステム 2 と呼びました。System One モデルは速いほうです。文章を書くのではなく、テキストを一度読んで、あなたが渡した選択肢からひとつを選びます。だから速く、安く、コードに組み込んでも安全です。

Decide はローカルの Jev だと考えてください。TypeSafe の Jev は API の向こうにある System One モデルです。Decide はユーザーの端末で動くので、判断は無料で、外に出ず、数ミリ秒で終わります。Jev は確信度を返し、自信のないケースはあなたのコードに任せます。Decide はそれを System 2 である LLM に送り、答えから学ぶので、だんだん LLM に頼らなくなります。

参考: System One モデル (TypeSafe) · Jev の紹介 · Jev の確信度 · Thinking, Fast and Slow

型付きの選択

答えは必ずあなたのラベルのどれか。型はラベルのリテラルのユニオンです。パースも、存在しないラベルもありません。

信頼できる確信度

学習したヘッドは較正済み。0.9 の答えはおよそ 90% の確率で正しいので、しきい値がそのまま意味を持ちます。

LLM から学ぶ

LLM の呼び出しを withFallback で包むだけ。自信のないテキストは LLM へ送られ、その答えが学習データになり、LLM に聞く回数が減っていきます。

タブの中で動く

34 MB のモデルが Web Worker で動き、初回のあとはキャッシュされます。ページのバンドルに増えるのは 3.6 kB だけ。

端末上で学習

ラベルごとに数件の例から、数秒でヘッドを学習できます。テキストはどこにも送りません。

ブラウザ、Node、React、switch

どこでも同じ API。React のフックと、switch ハーネス用のデサイダーもあります。

用途

LLM のコストを削る

簡単な大多数は端末で答え、自信のないものだけを LLM に送ります。LLM はそのたびに教えてくれます。

問い合わせの振り分け

請求、不具合、アカウント。メッセージを振り分け、入力中に適切なヘルプを表示します。

コマンドパレット

「暗くして」を theme.dark に。数ミリ秒で、オフラインでも。

ゲーム

プレイヤーが入力したチャットやコマンドを、サーバーなしで読み取ります。

機密性の高いテキスト

医療、金融、社内ツール。学習も判断も端末の中で完結します。

エージェントのハーネス

switch のための無料の判断モデル。LLM を先生にできます。

さらに詳しく

プレイグラウンドドキュメント仕組みリサーチ:LLM が間違えるとき紹介記事npmディスカッションDiscord