Jevは「言葉にならない判断」をするAI――小脳のように動くフィジカルAIのHello World
TypeSafe AIが2026年9月に公開した「Jev」というAIを触ってみました。Jevは文章を生成しません。状況(state)と、型の決まった質問を渡すと、「どれか」「どのくらい」「そうか否か」を確率つきで返してきます。ChatGPTやClaudeのようなLLMとは、入口は似ていて出口がまったく違うAIです。
触っているうちに、これは言語化されない人間の脳の使い方に似ているな、と思いました。絵を見た瞬間の好き嫌いや、転びそうになった瞬間に小脳が姿勢を補正する働きは、判断が先に起きて、理由はあとから言葉になります。Jevの出力の形はこちらに近く、この「小脳」の観点からロボットを制御するフィジカルAIにぴったりだと思いました。
そこで、フィジカルAIのHello World的な実験として、Jevの判断でobnizの15個のLEDを点灯させてみました。本記事はその概要です。詳しい経緯と実験結果は、Zennに書いた記事を参照してください。
Jevは「言葉にならない判断」をするAI――小脳のように動くフィジカルAIのHello World(Zenn)
Jevとはどういう AI か
TypeSafe AIはJevを、最初のSystem One Modelと呼んでいます。Daniel Kahnemanの『ファスト&スロー』でいう、速く直感的な判断(System 1)に特化したモデルという意味です。事前学習済みの言語モデルを出発点に、RLHF(チャットモデル)やRLVR(推論モデル)の代わりにRLCD(Reinforcement Learning for Calibrated Decisions)で学習されていて、文章を生成する代わりに、較正された確率つきの判断を返します。私なりに一言でいえば、言語モデルの「読んで理解する」部分を残し、「言葉を紡ぐ」部分を取り去ったモデルです。
使い方はシンプルで、state(テキストやJSON)と、名前をつけた質問を1回のリクエストで渡します。質問の型は3つしかありません。
| 型 | 質問の形 | 返ってくるもの |
|---|---|---|
| Choice | 候補のどれか | 選ばれた候補、候補ごとの確率、confidence |
| Score | 段階のどのくらいか | 期待値としてのscore、段階ごとの確率、confidence |
| Noul | この命題は真か | 真である確率(0〜1) |
複数の質問は同じstateに対して並列に評価されるので、質問を10個渡しても呼び出しは1回です。レスポンスに説明文はなく、あるのは候補と、確率と、自信の度合いだけ。LLMとは競合というより分業で、LLMが計画や説明を担い、Jevが「今、どれか」を決め、コードが決定論的に実行する、という役割分担になります。
小脳の観点からのフィジカルAI
この比喩をロボットに当てはめると、次のような階層が自然に見えてきます。
| 層 | 役割 | 例 |
|---|---|---|
| LLM / VLM | 何をするか、なぜするか | 「赤い箱を机まで運ぶ」 |
| Jev | 今この瞬間、どの方針が妥当か | APPROACH / HOLD / RETREAT |
| 決定論的コード | 絶対に越えてはいけない境界 | 5cm未満なら即停止 |
| コントローラ | 身体をどう動かすか | サーボ角、速度、軌道 |
Jevは型付きの値を返すのでそのまま制御コードの分岐に使え、confidenceが返るので「迷ったら止まる」を書けます。一方で、非常停止のようなハードリアルタイムの処理は、脊髄反射の層である決定論的コードに残さなければなりません。
実験:obnizで15個のLEDを点灯させる
入力を「一行のテキスト」に、出力を「LED 15個」に絞りました。テキストはルールでは扱いきれない意味を含み、LEDは型付きの値を物理量に写す最小のアクチュエータです。ハードウェアはM5 Atom Lite(ObnizOS)にWS2812B × 15をつなぎ、obnizのHTTP APIで制御しています。
Jevには英語で書いた3つの質問を1回で投げ、それぞれの答えをLEDの別の属性に写します。
| Jevの答え | 型 | LED |
|---|---|---|
| signal = fine / caution / alert | Choice | 色(緑 / 黄 / 赤) |
| signal.confidence 0〜1 | — | 明るさ(迷っていると暗い) |
| severity 0〜4 | Score | 点灯する本数(0〜15) |
| needs_reply 0〜1 | Noul | 0.5超なら点滅 |
たとえば「緊急ではないけど今日中に返事ほしい」と打ち込むと、こうなります。
> 緊急ではないけど今日中に返事ほしい
signal=caution (conf 1.00) severity=1.1/4 needs_reply=0.98 | jev 204ms
[■■■■···········] caution 4/15 brightness=102 blink
「緊急ではないけど」を否定として読んでcautionにし、「返事ほしい」で点滅しています。比較用に用意した「緊急」→alert のようなキーワードルールでは、同じ文が赤15本になります。否定を読めず、迷うこともできません。この一行の差が、この実験で確かめたかったことです。
いちばん気に入ったのは、「本番サーバーのディスクが50%です」から「98%です」まで数字だけを変えていったときの結果です。点灯する本数は単調に増えていき、色が黄から赤へ切り替わる90%のところでconfidenceが0.55まで下がって、LEDが暗くなります。境界で迷い、その迷いが光の暗さとして見えるのです。
反応速度は、Jevの応答が200〜300ms、obnizによるLED反映が40〜90msで、打ち込んでからLEDが変わるまで体感0.3秒ほど。コストは1判断あたり約0.003円です。
ソースコードはGitHubで公開しています。質問(src/jev.ts)とLEDへの写像(src/render.ts)を書き換えるだけで、別の「意味の信号機」になります。
https://github.com/kofujimura/jev-obniz-led
触ってみて感じたこと
「型エラーがない」と「判断が正しい」は別ですし、confidenceは統計的な較正であって個々の答えの安全保証ではありません。だからこそ、ハード安全境界はコードに残す階層設計が要ります。また、数百msのネットワーク往復は小脳の速さではなく、Jevが担えるのは反射の一歩手前、「言葉で考えるほどではないが、閾値では書けない判断」です。
おわりに
人間の知能には、熟考、直感、反射という時間スケールの異なる層がありますが、いまのAIエージェントはそのほとんどを一つのLLMに担当させています。Jevを触って感じたのは、AIにも「言葉にならない判断」の層を、ソフトウェアから使える形で持たせられるようになった、ということです。15個のLEDは小さな一歩ですが、「テキストを理解して、型付きの値を返し、それが物理的に光る」という経路は、そのままロボットの小脳へつながっていると思います。
Jevの仕組みのより詳しい説明、実行結果の全ログ、キーワードルールとの比較、次にやりたいことなどは、Zennの記事に書いています。ぜひあわせてお読みください。