Jevは「言葉にならない判断」をするAI――小脳のように動くフィジカルAIのHello World

by fujimura
AIIoT
#Jev#TypeSafe AI#obniz#Physical AI#IoT#LED#M5 Atom Lite

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で制御しています。

M5 Atom Lite(ObnizOS)とWS2812B LED×15

Jevには英語で書いた3つの質問を1回で投げ、それぞれの答えをLEDの別の属性に写します。

Jevの答えLED
signal = fine / caution / alertChoice色(緑 / 黄 / 赤)
signal.confidence 0〜1明るさ(迷っていると暗い)
severity 0〜4Score点灯する本数(0〜15)
needs_reply 0〜1Noul0.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の記事に書いています。ぜひあわせてお読みください。

Jevは「言葉にならない判断」をするAI――小脳のように動くフィジカルAIのHello World(Zenn)