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

検索の精度は二段目で決まる — 埋め込みで粗く集め、Claude で並べ直す個人ナレッジ検索

埋め込み検索だけでは「意味は近いが答えではない」候補が上位に残ります。粗く集めた候補を Claude で並べ直す二段検索の設計を、構造化スコアリング・棄権・コスト試算まで個人ナレッジ検索の実装でまとめました。

claude-api83rerankretrievalrag4embeddingstructured-output5knowledge-base

✦ プレミアム記事

自分で書き溜めたメモを検索していて、手が止まったことがあります。個人開発で貯まったアプリのFAQ や実装ノートを埋め込み検索にかけ、「返金の締め切りは何日か」と尋ねたところ、最上位に出てきたのは返金ポリシーの理念を語った段落でした。言葉はよく似ています。けれど、日数はどこにも書いていません。

似ているのに、答えていない。埋め込み検索の取りこぼしは、たいていこの形をしています。そして私が最初に疑ったのは埋め込みモデルの精度でしたが、直したのはそこではありませんでした。二段目を足しただけです。粗く集めた候補を、Claude にもう一度並べ直してもらう。この記事は、その二段検索の設計と実装を、個人の小さなナレッジ検索を題材に記録したものです。

「意味が近い」と「答えになっている」は違う

埋め込み検索は、質問と文書を同じ意味空間のベクトルに変換し、近いものを返します。得意なのは「話題の近さ」です。返金について尋ねれば、返金について書かれた段落を残らず集めてきます。

問題は、そのランキングが「話題の近さ」で並んでいて、「質問への答えやすさ」で並んでいないことです。返金ポリシーの理念を語る段落は、返金という話題にはこの上なく近い。けれど「締め切りは何日か」という問いに対しては、具体的な日数を含んだ実務的な一文のほうが的確です。埋め込みだけの上位 top-3 をそのまま採用すると、意味は近いが答えではない候補が、答えを含んだ候補を押しのけて上に来ます。

これは埋め込みモデルを高価なものに替えても本質的には消えません。近さの尺度が違うものを、近さの精度で解こうとしているからです。必要なのは、集めた候補を「答えやすさ」で採点し直す二段目です。

二段検索の全体像

やることは単純です。一段目で広く浅く集め、二段目で狭く深く選びます。

一段目(recall)は埋め込み検索で、取りこぼしを減らすことだけを考えて top-3 ではなく top-20 ほど広めに拾います。ここでの目標は「答えを含む断片を候補の中に必ず入れておく」ことで、順位の正しさは問いません。二段目(rerank)で、その20件を Claude が「質問の答えとしてどれだけ的確か」で採点し、上位を数件だけ残します。

段担当目標見る尺度
一段目 recall埋め込み検索取りこぼさない(top-20 で広く)話題の近さ
二段目 rerankClaude的確な数件に絞る(top-3)質問への答えやすさ

一段目は速く安く、二段目は賢く。役割を分けることで、埋め込みの弱点を Claude が補い、Claude に全文書を読ませる無駄を埋め込みが省きます。

✦

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

この記事の続きを読む

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

この記事で得られること
✦埋め込みで粗く top-N を集め、Claude が答えとの関連度を構造化スコアで並べ直す二段検索の完全な実装(候補を1リクエストに束ねて採点基準とコストを両立)
✦確信の持てない検索に無理に答えないための棄権しきい値と、どの断片をなぜ選んだかの根拠を返す設計
✦再ランクの追加コストを候補数×平均トークンから見積もる試算表と、Haiku で足りる場面・Sonnet が要る場面・そもそも再ランク不要な場面の判断基準
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ API & SDK2026-05-10
Claude API のプレフィルで『JSON 出力が必ず通る』本番設計 — 個人 SaaS で辿り着いた4層防御
Claude API のプレフィルだけでは JSON パースが落ちる本番ケースを、4層防御パイプラインでパース成功率 99.98% まで持ち上げた実装記録です。切断応答 1,081 件で修復コードを実測し、当初掲載していた閉じ補完の誤りも訂正しています。
⬡ API & SDK2026-04-29
Claude API のセマンティックキャッシュを本番投入する — 類似プロンプト判定としきい値設計、汚染防止
類似プロンプトへの応答を再利用するセマンティックキャッシュをClaude APIの本番に組み込む設計を一気通貫で解説します。embeddingと類似度しきい値の決め方、マルチテナント分離、キャッシュ汚染を防ぐガード層、フォールバックと劣化モード、プロンプトキャッシュとの重ね方、効果を測る観測性の指標まで踏んだ地雷とともに紹介します。
⬡ API & SDK2026-09-22
PDF の入力トークンは文字数では読めません — 送る前にページ数から上限で挟む
Claude API に PDF を送る前の入力トークンを、文字数ではなくページ数から上限で挟んで見積もる手順です。A4 9 ページの日本語文書で文字数見積もりの 6.6 倍になった実測と、解像度ティアとトークナイザの二重の増分、count_tokens が file_id を数えられない制約までをまとめます。