CLAUDE LABEN
APPLY — ant CLI v1.30.0 に ant apply が入りました。エージェント・環境・スキル・メモリストア・デプロイメントを、リポジトリのファイルから作成・更新できますLOCKFILE — 書き出される claude-lock.json は必ずコミットしてください。忘れると、実行のたびに同じリソースが新しく作られていきますPLAN — ant apply は適用の前に計画を表示し、承認を挟みます。CI で無人実行するなら、この承認をどう扱うかを先に決めておくことですPRICING — Claude Sonnet 5 の 3 ドル / 15 ドルへの値上げは実施されていません。導入価格の 2 ドル / 10 ドルがそのまま標準価格になりましたSOURCE — 価格と版番号は二次ニュースに誤りが混じります。platform.claude.com のリリースノートで裏を取ってから書くようにしていますBETA — Agent Skills と Skills API はベータを抜け、skills-2025-10-02 ヘッダが不要になりました。Files API はヘッダの有無でレスポンス形式が変わる点に注意ですAPPLY — ant CLI v1.30.0 に ant apply が入りました。エージェント・環境・スキル・メモリストア・デプロイメントを、リポジトリのファイルから作成・更新できますLOCKFILE — 書き出される claude-lock.json は必ずコミットしてください。忘れると、実行のたびに同じリソースが新しく作られていきますPLAN — ant apply は適用の前に計画を表示し、承認を挟みます。CI で無人実行するなら、この承認をどう扱うかを先に決めておくことですPRICING — Claude Sonnet 5 の 3 ドル / 15 ドルへの値上げは実施されていません。導入価格の 2 ドル / 10 ドルがそのまま標準価格になりましたSOURCE — 価格と版番号は二次ニュースに誤りが混じります。platform.claude.com のリリースノートで裏を取ってから書くようにしていますBETA — Agent Skills と Skills API はベータを抜け、skills-2025-10-02 ヘッダが不要になりました。Files API はヘッダの有無でレスポンス形式が変わる点に注意です
記事一覧/API & SDK
API & SDK/2026-07-10上級

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

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

Claude API121Vision3分類評価2個人開発126

プレミアム記事

分類結果のスプレッドシートを眺めていて、手が止まった瞬間がありました。全体の一致率は 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/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

API & SDK2026-07-13
画像を原寸で送るか縮小するか — Opus 4.7 の高解像度ビジョンで1枚ごとに解像度を決めるコスト設計
Opus 4.7 の高解像度ビジョンで壁紙の細部分類は上がったのに、全部を原寸で送ったら週のトークンが跳ねました。1枚ごとに解像度と使うモデルを決める preflight を設計し、精度を保ったままコストを下げた実測を残します。
API & SDK2026-05-15
壁紙アプリの一括カテゴリ分類を Claude Vision API で自動化した話 — 実運用で見えた精度と限界
個人開発の壁紙アプリで画像のカテゴリ分類をClaude Vision APIに任せた実体験の記録です。SonnetとHaikuのモデル選択、75枚の手動検証で確かめた分類精度、実運用で踏んだ落とし穴、途中で落ちても再開できるバッチ設計、そして実際にかかったコストの感覚まで正直に書きました。
API & SDK2026-09-06
訳文は自然なのに、実行時に落ちる翻訳がありました
多言語アプリの文言を Claude API で訳したとき、意味は正しいのに書式指定子だけが壊れることがあります。重大度で分けた受け入れ検査と、壊れた行だけを訳し直す修復ループを実装と実測でまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます