登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
参加 May 2026
270 フォロー中    316 ファン
# AIエージェント開発の意思決定ポイント 🎯 **ポイント** RAGのtop-k、なんとなく「5」にしていませんか?検索結果を多く入れれば根拠が増えると思いきや、LLMは中盤の情報を無視しがちで、コストだけが直線的に増加します。少なすぎればハルシネーション、多すぎればノイズと予算超過。このバランスを取るための実践的な考え方を解説します。 📋 **概要** 検索top-kは、RAG(Retrieval-Augmented Generation)において外部知識ストアから取得する文書チャンクの件数を制御するパラメータです。広義には「LLMのコンテキストウィンドウに投入する外部情報の量」を意味します。コンテキストウィンドウは有限の資源であり、システム指示・検索結果・会話履歴・長期メモリ・ツール出力が奪い合っています。検索結果を多く入れれば根拠は増えますが他の情報が押し出され、少なければ根拠不足でハルシネーションが増えます。 重要なのは件数だけでなく「何を上位に置くか」です。初期検索で広めに候補を取り、リランカーで信号密度の高い順に並べ替えて上位k件を投入するパイプラインが標準的です。 🔍 **意思決定のポイント** top-kの設定は主に以下の変数で決まります。 🔹 **コスト感度(cost_sensitivity)** — コスト感度が高いほどtop-kを絞ります。ただし最低限の根拠確保のためk=3を下回ることは稀です。kを5から20に増やすと検索結果部分のトークンは概ね4倍、コストもそれに比例します。 🔹 **失敗コスト(failure_cost)** — 失敗コストが高い領域では根拠の網羅性が重要。kを多めにとりリランクで品質を担保する戦略が有効です。ただしリランクスコアが閾値を下回る文書は切り捨てるべきです。 🔹 **説明責任(accountability)** — 回答の根拠として引用できる文書を確保する必要がある場合、kを増やすよりもリランクスコアの高い少数の文書を確実に含め、出典を明示する方が効果的です。 💡 **要点と詳細** 実践的な判定フローは以下の通りです。 1️⃣ 初期検索では広めに取得(概ねk=20〜50) 2️⃣ リランカーで関連性スコア順に並べ替え 3️⃣ スコアが閾値を超える文書のうち上位k件を投入 4️⃣ 投入後のトークン数がコンテキストウィンドウの50%を超えないよう制御 5️⃣ 超える場合は圧縮(要約)またはさらなる絞り込み 📊 目安値: - 初期検索の取得件数: 20〜50件(リランク用の候補プール) - リランク後の投入件数: 3〜8件(大半のユースケースで5件前後が出発点) - 検索枠のウィンドウ占有率: 20〜40%(50%超で圧縮検討) - チャンクサイズ: 200〜500トークン kの値は「件数の定数」ではなく「リランクスコアが閾値を超えた文書の件数(上限k件)」として動的に決めるのが理想です。高関連の文書が2件しかなければ2件だけ投入し、無理にk件まで埋めません。 ⚖️ **トレードオフ** 📉 top-kが小さすぎると — 回答に必要な情報が検索結果に含まれず、LLMが根拠なしに回答を生成します。特に複数文書からの情報統合が必要な場合(「A社とB社の比較」など)、1件では対応できません。取得件数が少ないと1件のノイズの影響も甚大で、k=2なら1件のノイズが50%を占めます。 📈 top-kが大きすぎると — "Lost in the Middle"問題が顕在化します。LLMはコンテキストの先頭と末尾に注意を集中させ、中盤の情報は実質的に無視される傾向があります。大量投入すると最重要情報が中盤に埋もれます。他の情報枠(システム指示・会話履歴・長期メモリ)も圧迫され、エージェント全体の振る舞いが劣化します。 🛠️ **ユースケース** ❓ **単純な事実質問**(「A社の設立年は?」)— k=2〜3で十分。単一の文書で回答可能なケースがほとんどです。 📊 **比較・分析質問**(「A社とB社の戦略の違いは?」)— k=5〜8が必要。複数ソースからの情報統合にはより多くの文書が必要です。クエリ分類器で場合分けすると効率的です。 🏥 **医療・法務の高精度Q&A** — 根拠の網羅性と出典の明示が両方求められる。初期検索を広く取りリランクで厳選、スコアの高い少数の文書を先頭または末尾に配置して"Lost in the Middle"を回避します。 リランカーを使わずにtop-kを増やすのは逆効果です。ベクトル検索の上位20件をそのまま投入するとノイズが大量に混入します。コンテキストウィンドウの使用率は常にモニタリングし、検索結果で投入した文書のうち実際に回答に使われた比率を追跡しましょう。使われない文書が多ければkを下げるか検索パイプラインの改善が必要です。 #AIエージェント# #ソフトウェアアーキテクチャ#
もっと見る