0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CLAUDE.md で判断を jev に任せたら、完了の判定が 0.47 → 0.96 まで追い込めるようになった

0
Last updated at Posted at 2026-09-27

CLAUDE.md に「判断は jev に任せる」と書き、Claude Code が案を選ぶ・段階のどこかを判定する・はいの確率を測るときに jev に判断させたら、成果物の品質が上がりました。その変化の話です。

この記事は、判定モデル jev の環境構築が済んでいて Claude Code と組み合わせたい方向けの実践記録です。導入の手順ではなく、CLAUDE.md への書き方とその効果をまとめました。jev をご存知でない方は、次節の概要を先に読んでいただけると入りやすいと思います。

jev とは

jev は TypeSafe の判定モデルです。~/.claude/bin/jev に JSON を渡すと、質問の型に応じた判定値を返してくれます。

使い方は「評価の対象」(state) と「質問」(questions) を JSON で渡すだけです。state には判断に効く観測値 (実測した数値・公式の記述・制約) を名前付きのフィールドで、questions には質問の文言 (instructions) と、必要に応じて選び方や段階 (criteria) を書きます。返ってくるのは質問の型に応じた判定値と、その判定の確からしさ (確率または確信度) です。

質問の型は 3 つです。

  • noul: 「はい」の確率 (0〜1)
  • choice: 選択肢から 1 つ。確信度 (確率が 1 つに集中している度合い) 付き
  • score: 段階のどこか (0〜段階数-1)

理由を返さないので、候補を並べて数値で採否を決める使い方に合います。

Noul を使う場合

案が要件を満たすか・完了か・誤りかなど、yes/no で答えられるとき。

Choice を使う場合

答えが複数の選択肢の中にあるとき。選択肢は排他にします。

Score を使う場合

強さや深刻度を段階で測るとき。段階は等間隔にします。

なぜ品質が上がるのか

Claude Code は判断を自然文で行います。流れに沿って進みすぎることがあり、根拠のないまま案を決めて報告する「推測で決め切る」場面が出てきます。

jev は数値だけを返すので、この流れが強制的に止まります。返ってくるのは理由ではなく数値なので、数値の低いまま納得するのは難しく、自然に次のループを回すことになります。

  1. 判断に効く状態を実測して渡す
  2. 確率・確信度を見る
  3. 低ければ、足りない状態を探して聞き直す
  4. 低い値がなくなるところまで繰り返す

推測のまま進むと数値に出てしまうため、状態の欠落がひとつずつ見えてきます。

これが「判断に効く状態は実測して全部渡す」という規律を、自然に守れる仕組みになります。

判断が裏付けられると、成果物にもそのまま響いてきます。案の選択・完了の判定・意見の変更が根拠付きで決まるため、手戻りと、正しくない決定のまま生成物が積み上がる、という 2 つの損失が減ります。成果物の品質の向上は、この 2 つの減少の結果です。

この因果は、使ってみた体感にもはっきり出ました。次節で具体的に書きます。

体感で変わったこと

導入前の悩みは 2 つありました。どちらも振り返ると「判断を検証しないまま進む」ことに原因があったように思います。

  • 出力をレビューさせても、「直しました」と返事が来るだけで直っていないことが続きました。何度レビューさせても、次はまた「直しました」と返事が来るだけでした
  • チェックのフックを設定しても、全項目で引っかかるか全項目で素通りするかの 2 極で、ちょうど良い検知がどうしてもできませんでした

jev を導入してからは、「直しました」と言われるだけでなく、実際に直ったものが上がってくる状態に変わりました。

  • お願いしていないのに、数値の低い項目を自主的に直し、全項目が支持されてから報告してくれるようになりました
  • 検知も 2 極ではなく項目ごとの確率に出るので、不足がひとつずつ見え、直す順番も決められるようになりました

根拠のない自己決定と 2 極の検知を消せたことで、会話の技術が上がったというより、成果物の品質の確認がずいぶん楽になったと感じています。

jev に判断させて良くなったこと

設計の相談に jev 判断をはさむようにした例を、いくつか挙げます。数値は jev の返り値です。

場面 jev に判断させる前 jev に判断させた後
設計を決める 案を 1 段ずつ積み上げ、仕組みが複雑になっていました 規模の状態を渡して聞いたところ、簡単な設計を 1.0 で選べました
決め切れない判断 確信度 0.39・0.54・0.68 で答えが定まりませんでした 判断に効く状態を 1 つ足して聞き直したところ 0.95・0.93・0.98 になりました
2 案の比較 言葉だけではどちらが良いか決められませんでした 同じ状態を渡して測ると 0.32 と 0.80 で、良い案がはっきりしました
完了の判断 書き終えた成果物を完了と見ていました 要件ごとに聞くと 0.47 の項目が見つかり、直して 0.96 にしてから完了とできました

CLAUDE.md に書くセクション

## 判断は Jev に投げる

判断は必ず `~/.claude/bin/jev` に JSON を渡して判断する。意見を変えるにも Jev の判断が必要。Jev の判断なしに意見を変えない。

Jev は以下の3種類で判断する
- Choice:選択肢から 1 つ選ぶ (数値でなく選択肢名、確信度付き)
- Score:段階のどこか (0〜段階数-1、小数あり)
- Noul:はいの確率 (0〜1)

- state の先頭の文には、ユーザーが指示した依頼・観点を含める
- state は判断の対象についての状態だけを名前付き JSON で渡し、instructions でバッククォート参照し、好み・意向は含めない
- Jev は渡した state しか知らない。判断に効く公式の記述は、要約せず原文を引用して state に含めよ
- 返り値は answers の、送った質問のキーごとに型付きで入る
- 質問は平易に。判断は 1 回に 1 つ
- 報告には、実際に送った質問と返った値を書く
- 支持の基準は noul >= 0.7 とする
- Jev に否定されたら原因を特定し修正して聞き直す。支持 (noul >= 0.7) されるまで繰り返す。同じ問いで否定が 3 回続いたらループを止め、実施した質問と返った値と残る問題の説明を添えてユーザーへ報告する
  - state を細かく分けてどの部分に問題が含まれるか noul で 1 か所ずつ聞く
  - 原因を 5種類 + その他 で 1 か所ずつ聞く
- 随時成果物レビューを Jev に依頼
- ユーザーには Jevレビュー済みのものしか見せられない

### Noul を使う場合

yes/no で答えられる判断 (誤りか・要件を満たすか・完了か)。

- 誤りや原因を探すときは、対象を細かく区切り、1 か所ずつ「この部分は誤りか」を noul で聞く
- 成果物を作ったら、要件ごとに noul で満たすかを聞き、全項目が支持されてから完了とする
- 自分の案は、公式で裏付けてから「この案より良い方法はあるか」を noul で聞く。あれば choice で選ばせる

```
~/.claude/bin/jev <<'EOF'
{"state":{"finding":"仕様の該当箇所の記述..."},"questions":{"ok":{"type":"noul","instructions":"Does `finding` violate the spec?"}}}
EOF
```

### Choice を使う場合

答えが選択肢の中に 1 つだけある判断。

- 当てはまるものが複数ありうる問いに choice を使わない
- criteria が必須。選択肢は `{選択肢: 説明}` で排他にする
- 決戦投票は state と説明を変えず上位だけ残す

```
~/.claude/bin/jev <<'EOF'
{"state":{"situation":"状態と各案の現状..."},"questions":{"pick":{"type":"choice","instructions":"Which option fits `situation`?","criteria":{"a":"案Aの説明...","b":"案Bの説明..."}}}}
EOF
```

### Score を使う場合

強さ・深刻度を段階で測る判断。

- criteria が必須。段階は弱い順の配列で、等間隔の具体値にする。段階は 10 個まで、1 回目は取りうる全域を覆う
- 上位に集まった範囲を細かく聞き直す。確信度が下がったら前の刻みの最多値を採る

```
~/.claude/bin/jev <<'EOF'
{"state":{"finding":"状態..."},"questions":{"sev":{"type":"score","instructions":"How severe is `finding`?","criteria":["Minor: ...","Major: ...","Critical: ..."]}}}
EOF
```

普遍的な教訓

この実践は jev に限らず応用できると思います。ポイントは 3 つにまとめられます。

  • 判断の根拠を自然文でなく数値に落とすと、推測で決め切ることが無くなります
  • 数値の裏付けを測るには、判断に効く状態を渡すことになります。状態は実測か公式の記述だけにすると安心です
  • 測り方は 1 回に 1 つの判断にすると、数値が素直に読めます。複数の判断を混ぜた数値は、判断の裏付けになりません

jev を使わなくても、判断を数値にして繰り返し測る仕組みが CLAUDE.md にあれば、同じ効果は見込めると思います。

出典

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?