---
title: "Jevに関連して調べたこと"
created_at: "2026-09-20T22:44:28+09:00"
updated_at: "2026-09-21T11:00:00+09:00"
thumbnail_url: ""
summary: ""
tags: []
written_with: "claude-code"
---
## このページは、なあに？

[[Jev]]にこういう入力を与えたらこういう出力が得られる、こういうユースケースで活用できる、といった表層的なことはわかるが、周辺領域も含めて概念的な理解が弱いと感じたので[[LLM]]に教えてもらいながら学んでいく。

他者に向けた解説記事じゃなくて「自分用の学習メモ」って感じです。

## Jevの仕様

公式ドキュメント [Introduction - TypeSafe AI](https://docs.typesafe.ai/introduction) にある記述。

| 項目 | 内容 |
| --- | --- |
| 入力 | `state` (テキスト・JSON) と `questions` の組 |
| 質問の型 | Choice (選択肢からひとつ選ぶ) / Score (順序つきの段階で評価) / Noul (yes/noの確率) |
| 出力 | テキストではない。ラベルと確率のみ。`choice: "billing"`、`score: 1.4`、`noul: 0.95` |
| 選択肢の定義 | 呼び出し側がリクエスト内で指定する |
| 学習方法 | [[RLCD]] (Reinforcement Learning for Calibrated Decisions) |
| 系統 | 事前学習済み言語モデルから[[RLHF]]・[[RLVR]]とは別方向に分岐、と[AI primer - TypeSafe AI](https://docs.typesafe.ai/introduction/machine-learning-primer)に図示 |
| 文脈長 | 64k トークン (`state` と全質問の合計) |
| 課金 | 入力トークンのみ。出力トークンは無料 |

## Jevは、System 1なのか？

### [[Daniel Kahneman]]の定義する[[System 1]]

`Thinking, Fast and Slow` の二重過程理論における System 1 の性質。

- 速い、自動的、努力を要しない
- 常時稼働しており、止められない
- 連想的。聞かれていないことにまで答えを用意する
- 難しい問いを勝手に簡単な問いにすり替える (attribute substitution)
- WYSIATI (What You See Is All There Is)。手元の情報だけで筋の通った物語を構成する
- バイアスと過信の発生源。アンカリングも利用可能性ヒューリスティックも出どころはここ
- [[System 1]]が提案し、[[System 2]]が怠惰に承認する。この主従関係が議論の中核

### Jevとの対応

一致するのは「速い」「単発で答えが出る」「熟慮の過程がない」の3点のみ。

| 観点 | KahnemanのSystem 1 | Jev |
| --- | --- | --- |
| 起動 | 常時稼働、止められない | コードが呼んだときだけ動く |
| 応答範囲 | 聞かれていないことにも答える | 答えの空間を渡さないと答えない |
| 問いの扱い | 簡単な問いにすり替える | すり替えは不具合として扱われる |
| 確率の性質 | 過信・ミスキャリブレーションの源泉 | キャリブレーションが最大の売り |
| 制御関係 | System 1 が提案、System 2 が承認 | コードが指示、Jevが応答 (主従が逆) |

Kahnemanの主張の核は「System 1は速いが系統的に間違う」。Jevはこの軸で反対の性質を主張している。借りているのはSystem 1の中身ではなく「速い」という表層のみ。

### 「LLMはSystem 2」の側

[[機械学習]]の分野では、この比喩はもともと逆向きに使われてきた。

> 素のLLMの1回のforward passこそがSystem 1的(速い、連想的、熟慮なし)。Chain-of-Thoughtや推論モデルを足して、はじめてSystem 2的になる。

[System 2 Attention (is something you might need too)](https://arxiv.org/abs/2311.11829)、[Distilling System 2 into System 1](https://arxiv.org/abs/2407.06023) はこの用法。TypeSafeのラベルの貼り方は業界の慣用と向きがちがう。

「逆の意味で使っている」というよりは、相対位置関係が変化したってことかと。[[LLM]]よりも速く反応するモデルが出てきたことで、相対的に[[LLM]]が「熟考寄り」に見られるようになったのだと思う。

### 公式ドキュメントの記述

[System One - TypeSafe AI](https://docs.typesafe.ai/concepts/system-one) には次の注記がある。

> The System One name comes from the concept Daniel Kahneman popularized in his book *Thinking, Fast and Slow*. System 1 thinking is fast and intuitive. System 2 is slower and more deliberate. **Here, the emphasis is on fast, focused judgments.**

適用範囲を「速くて焦点の絞れた判断」に自ら限定している。科学的主張ではなくネーミングの比喩である、という位置づけ。

[[TypeSafe AI]]は理論の方を「System 1」と書き、自分らのプロダクトの比喩的説明では「System One」と書いて区別している。

## Jevは、BERTとはどうちがうか？

### BERTの仕様

2018年の[[BERT]]はencoder-onlyのTransformer。

```
テキスト
↓
双方向attentionでencode
↓
[CLS]ベクトル
↓
線形ヘッド
↓
softmax
↓
ラベルの確率分布
```

- 生成はしない。分類とスコアリング専用
- 下流タスクごとにラベル付きデータでfine-tuneし、ラベル集合ごとに専用ヘッドを付ける
- 文脈長は512トークン
- 主な用途は感情分析、意図分類、自然言語推論、文書の再ランキング

### 一致する点

**出力の契約**。テキストではなくラベルと確率を返す。BERT系classifierと同じ形。

**ユースケース**。TypeSafeのcookbookに並ぶのはルーティング、再ランキング、値の抽出、モデレーション、階層分類。BERT時代のタスクリストとほぼ重なる。再ランキングはcross-encoderの直系。

**失敗モード**。[Jev 1.13 jaggedness - TypeSafe AI](https://docs.typesafe.ai/model-jaggedness/jev-1.13)に既知の弱点が列挙されている。

- 数えられない。理由は "The model recognizes the shape of an answer rather than tallying" (答えの形を認識しているだけで、数えてはいない)
- 日付を順序のある量ではなく文字列として読むため、前後の比較ができない
- literal reading。書かれた語を額面どおりに読み、意図を汲まない
- 参照の階層(indirection)が深くなると精度が落ちる
- 無関係な情報で `state` が膨らむと精度が落ちる

いずれも、逐次的な計算をせず一発のパターン照合で答えを出すモデルの症状。

### 一致しない点

**タスクを推論時に自然言語で定義できる(zero-shot)**。BERTはタスクごとにラベル付きデータを集めてfine-tuneが必要で、ラベルをひとつ足すだけでもヘッドの作り直しと再学習になる。Jevは選択肢も判断基準もリクエストのJSONに書くだけで、学習は不要。BERT系で最も近いのは `bart-large-mnli` などによるzero-shot分類だが、精度と柔軟性で差がある。

**長い `state` と世界知識**。BERTの文脈長は512トークン。後継のModernBERTで8kまで伸びたが、Jevは64k。「この返金ポリシー文書に照らして、この取引は重複請求にあたるか」のような判断には長い文脈と一般常識の両方が要る。

**系統**。[AI primer - TypeSafe AI](https://docs.typesafe.ai/introduction/machine-learning-primer)の図では、Jevの出自は「pretrained language model」と明示されている。BERTではない。

**指示追従とキャリブレーションの位置づけ**。判断基準や境界ケースを散文で書いて効かせられるのは、指示に従えるベースモデルを前提とする。またキャリブレーションが後付けの温度スケーリングではなく学習目標そのもの(RLCD)になっている。BERT時代は固定タスクひとつにtemperature scalingを後付けする方式だった。

### 比喩としての当否

「JevはBERTだ」は「LLMはマルコフ連鎖だ」と構造が似ている。インターフェースの形については正しいが、能力の宿る場所を指していない。

## 使い分けの目安

Jevが向く
- ラベル付きデータがない
- 判断の種類が頻繁に変わる。リクエストごとに選択肢がちがう
- 判断に長い文脈と一般常識が要る (ポリシー文書、取引履歴、会話ログ)
- LLMに「JSONで返して」と頼んでパースしている箇所を、型が保証された呼び出しに置き換えたい

Jevが向かない
- ラベル集合が固定で学習データが数千件ある。fine-tuneしたModernBERTのほうが安く、速く、同等以上に正確
- 計算、日付比較、カウント、完全一致検索。[Jev 1.13 jaggedness - TypeSafe AI](https://docs.typesafe.ai/model-jaggedness/jev-1.13)が「コードでやれ」と明言している
- 文章の生成。LLMを使う

## まとめ

- `System One` は[[TypeSafe AI]]による造語っぽい
  - `System 1` じゃなくて `System One` です、という説明なので「これはSystem 1じゃないだろ！」という批判については[[それはそう]]
- 実態は「推論時に自然言語でタスクを定義できる、キャリブレーションを最適化した分類器」
- 分類器であることに変わりはないので、精度・コスト・レイテンシ・既存手法との比較という分類器の物差しで測ってよい
