◉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-11上級

生成した壁紙が既存カタログに似すぎていないか — 知覚ハッシュで絞り Claude Vision で最終判定する近重複検出

SHA256の完全一致ではすり抜ける再配色・軽いクロップのニアデュプを、知覚ハッシュの事前フィルタとClaude Visionの最終判定で捕まえる二段構えのパイプライン。実測のprecision較正とコスト設計まで、壁紙カタログの個人運用から共有します。

Claude Vision画像処理重複検出知覚ハッシュコスト設計7

✦ プレミアム記事

新しく仕上げた壁紙を60枚、カタログに追加しようとした朝のことでした。プレビューを眺めていて、ふと手が止まりました。この青いグラデーション、前にも似たものを出した気がする。

記憶は当てになりません。数千枚まで育ったカタログの中に、本当に近いものがあるのか、それとも気のせいなのか。私自身、確かめる術を持たないまま「たぶん大丈夫」で公開してきた時期がありました。

同じ壁紙を色だけ変えて二度出してしまうと、ユーザーは「使い回し」と受け取ります。ストアの印象にも、日々の信頼にも、静かに効いてきます。完全一致のハッシュではすり抜ける近重複(ニアデュプ)を、知覚ハッシュと Claude Vision の二段構えで機械的に捕まえる。個人開発でカタログを回してきた立場から、その仕組みと実測をここに書き残します。

完全一致ハッシュがすり抜けた朝

最初に手を打ったのは、ファイルの中身をそのまま SHA256 で突き合わせる方法でした。これは重複ファイルの検出には確実です。同じバイト列なら同じハッシュになります。以前、この考え方で Files API 上の重複を掃除する台帳を組んだこともあります(Files APIのコンテンツハッシュで重複を排除する に詳しく書きました)。

ところが壁紙の現場では、これがほとんど役に立ちませんでした。理由は単純で、私が「似ている」と感じるものの多くは、バイト列としては別物だからです。

操作見た目SHA256
色調を少し温かく調整ほぼ同じ別物になる
四辺を数パーセント切り詰めほぼ同じ別物になる
書き出しを再圧縮(画質90→85)同じ別物になる
解像度を1割縮小同じ別物になる

完全一致ハッシュは、ピクセルが1つでも変われば無関係の値を返します。つまり、私がいちばん困っていた「見た目は同じだが少しだけ違う」ケースこそ、原理的に捕まえられなかったのです。

必要なのは、バイト列ではなく見た目の近さを測る道具でした。

なぜ知覚ハッシュとVisionを組み合わせるのか

見た目の近さを数値化する古典的な道具が、知覚ハッシュ(perceptual hash)です。画像を極端に縮小してグレースケール化し、隣り合う画素の明暗関係だけを取り出して64ビットに畳み込みます。色調整や軽い圧縮では明暗の骨格が保たれるため、近い画像は近いハッシュになります。

ただ、知覚ハッシュ単独では精度が足りませんでした。しきい値を緩めれば取りこぼしは減りますが、構図が偶然似ているだけの別デザインまで拾ってしまいます。逆に厳しくすると、色違いのニアデュプを見逃します。この「緩めても厳しくしても外す」帯こそ、人間なら一目で判断できるのに機械が苦手とする領域です。

そこで役割を分けました。知覚ハッシュは安く・速く・大量に候補を絞る事前フィルタに徹し、最終的な「これは実質同じか」の判断だけを Claude Vision に委ねます。Vision は高価ですが、絞り込んだ後なら呼び出し回数はごくわずかで済みます。安いフィルタで recall を稼ぎ、高い判定で precision を回収する。この分担が設計の核です。

✦

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

この記事の続きを読む

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

この記事で得られること
✦SHA256の完全一致では見逃す再配色・軽いクロップのニアデュプを、知覚ハッシュとVisionの二段構えで捕まえる設計
✦総当たりを避けるコスト設計(知覚ハッシュで候補ペアを全体の0.03%まで絞ってからVisionへ)と実測のprecision較正
✦グレーゾーンを人手キューへ回す棄却ルーティングと、正規シリーズのバリエーションを誤検出しない除外設計
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ API & SDK2026-10-14
retry-after が 120 秒の 429 を受けると、Anthropic SDK の自動リトライは 120 秒待とうとしました
Anthropic SDK の自動リトライを模擬サーバーで12通り確かめました。既定は2回まで、retry-after は上限なしで従い、上限到達の429は待っても通りません。待ち時間と総時間に上限を持つ呼び出し口のコードと実測ログを載せます。
⬡ API & SDK2026-10-13
Haiku 5.5 は単価が下がるのに、4.5 換算で約 7.7 万トークンを超えると請求が跳ねます
Haiku 4.5 から 5.5 へ移すと、価格表だけ見れば約 1/10 です。ただし同じ文章が約 30% 多いトークンになり、入力が 10 万を超えた時点で単価が 5 倍になります。境目を 4.5 換算で計算し、実際に動かした出力と、移行時に直す 400 の項目を並べました。
⬡ API & SDK2026-10-08
Sonnet 4.5 の退役前に、コードに残った「400 になる引数」を一本のスクリプトで拾いました
claude-sonnet-4-5 は 11 月 30 日に退役します。モデル ID を書き換えるだけでは、budget_tokens・prefill・tool_choice などで 400 が返ります。公式の移行ガイドの該当箇所を正規表現にしたスキャナと、実行結果、直し方の順番をまとめました。