◉CLAUDE LABEN
●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/API & SDK
⬡ API & SDK/2026-07-10上級

画像分類の信頼度を鵜呑みにしない — クラス別しきい値の較正と棄却ルーティング

全体の一致率は92%なのに特定カテゴリだけ71%——Claude Visionの自己申告confidenceを鵜呑みにせず、クラス別にしきい値を較正して低信頼の判定を人手キューへ棄却する設計を実測記録として残します。検証セットの規模、較正が静かに腐る問題、採用の判断基準まで扱います。

Claude API128Vision4分類評価個人開発130

✦ プレミアム記事

分類結果のスプレッドシートを眺めていて、手が止まった瞬間がありました。全体の一致率は 92.3% と出ているのに、「動物」カテゴリだけを抜き出すと 71% しかない。しかもモデルは、その誤った 29% にも 0.9 前後の confidence を返していました。

自信たっぷりに間違えている。これがいちばん厄介な壊れ方でした。本番運用で最初に踏んだ落とし穴が、まさにここです。

個人開発で運用している壁紙アプリでは、新規追加ぶんの画像を Claude Vision で 30 カテゴリに自動分類しています。基礎的な組み立てについては壁紙アプリの一括カテゴリ分類を Claude Vision API で自動化した話に書きましたが、そこから運用を続けるうちに見えてきたのが、この「全体は良いのに一部が崩れる」現象でした。

本稿は、その後始末の記録です。confidence をクラスごとに較正し、閾値に届かない画像を棄却して人手キューへ回すまでを扱います。

「信頼度 0.9」は確率ではない

まず前提を揃えておきます。構造化出力で confidence: 0.92 のような数値を返させたとき、それは確率ではありません。モデルが「それらしい数値」を生成しているだけです。

呼び方実体確率として使えるか
自己申告 confidenceモデルが文字列として生成した数値そのままでは不可
logprobs 由来の確率トークン生成確率較正すれば近似可能
較正済みスコア検証セットで実測した経験的精度に対応づけた値可

使えないという意味ではありません。自己申告 confidence は順序としては有意味であることが多いのです。0.95 の予測は 0.65 の予測より当たりやすい。ただし「0.9 なら 90% 正しい」という読み方が成り立たないだけです。

ならば、順序性だけを信じて、「どこで線を引けば目標 precision に届くか」を検証セットから実測すればよい。それが較正の実務です。

検証セットは 400 枚で足りるのか

私が用意したのは、手元でラベルを付け直した 412 枚です。30 カテゴリのうち、出現頻度の高い上位 8 カテゴリで 5 割強を占め、末端の「レトロ」「ミニマル」などは 5〜9 枚しかありません。

ここで一度、素朴な疑問にぶつかりました。1 クラス 6 枚でしきい値を決めて意味があるのか、と。

結論としては、意味はあるが、決め方を変える必要があるというのが私の理解です。枚数が少ないクラスでは、しきい値を細かく最適化すると検証セットに過適合します。そこで私は、クラスを枚数で二層に分けました。

層検証枚数しきい値の決め方該当カテゴリ数
厚いクラス20 枚以上個別に探索11
薄いクラス20 枚未満全体の保守側しきい値を共有(0.93)19

薄いクラスは、そもそも自動採用に向いていません。保守的な線を共有し、落ちたものは人手に回す。それだけで十分です。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦Claude Vision の自己申告 confidence を一律 0.80 で切ると、30 カテゴリのうち少数クラスだけが静かに壊れる
✦目標 precision 0.95 を満たす最小しきい値をクラス別に探索する Python コード(412 枚の検証セットで実測)
✦棄却(abstain)を優先度つき人手キューへ流す設計と、週次の drift 検知でしきい値の陳腐化を捉える方法
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ API & SDK2026-09-17
画像は20枚ずつ送っています — 21枚目から全画像に別の上限がかかると知った日
素材フォルダの62枚を一度に送ったら invalid_request_error で落ちました。容量ではなく枚数が原因です。視覚トークンを28pxのパッチで数え直し、枚数・寸法・ペイロードの3つの上限を同時に見てバッチを組むまでの記録です。
⬡ API & SDK2026-05-15
壁紙アプリの一括カテゴリ分類を Claude Vision API で自動化した話 — 実運用で見えた精度と限界
個人開発の壁紙アプリで画像のカテゴリ分類をClaude Vision APIに任せた実体験の記録です。SonnetとHaikuのモデル選択、75枚の手動検証で確かめた分類精度、実運用で踏んだ落とし穴、途中で落ちても再開できるバッチ設計、そして実際にかかったコストの感覚まで正直に書きました。
⬡ API & SDK2026-09-06
訳文は自然なのに、実行時に落ちる翻訳がありました
多言語アプリの文言を Claude API で訳したとき、意味は正しいのに書式指定子だけが壊れることがあります。重大度で分けた受け入れ検査と、壊れた行だけを訳し直す修復ループを実装と実測でまとめました。