mcpField
R
retrieval-search-orchestration

retrieval-search-orchestration

github.com/lyndonklデータ・データベース18769 回インストール10 週間前に更新
リポジトリ

retrieval-search-orchestration について

テーマ型、マルチホップ、時間指定、制約付きのクエリを含む検索戦略を設計するスキルです。パターン選択、クエリ分解、ランキング、出典追跡、フォールバックを段階的に整理します。

主な機能

  1. 01クエリタイプの分析
  2. 02検索パターンの選択
  3. 03複雑なクエリの分解
  4. 04ランキングと制約の設計
  5. 05出典情報の追跡
  6. 06フォールバック戦略の計画

活用シーン

  1. 01複合的なクエリに適した検索方式の選択
  2. 02マルチホップ検索の計画
  3. 03出典と信頼度のメタデータ定義
  4. 04検索結果が不十分な場合の対応設計

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lyndonkl/claude --skill retrieval-search-orchestration

インストール後、Claude Code で/retrieval-search-orchestrationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

resources/
methodology.md
provenance-patterns.md
resources/evaluators/
rubric_retrieval.json

詳細

目次

検索と取得のオーケストレーション

ワークフロー

このチェックリストをコピーし、各ステップに取り組んでください。

  • 1. クエリの種類と要件を分析する
  • 2. 検索パターンを選択する
  • 3. クエリ分解戦略を設計する
  • 4. ランキングと制約を設定する
  • 5. 出所追跡を設計する
  • 6. フォールバック戦略を定義する
  • 7. 検索戦略の仕様を作成する

ステップの説明

ステップ 1:クエリの種類と要件を分析する

システムで処理する必要があるクエリを分類します。一般的なカテゴリは次のとおりです。

  • 事実に関する検索:単一エンティティ、単一ホップのクエリ(例:「フランスの首都はどこですか?」)
  • 探索的/テーマ的なクエリ:多数のエンティティにわたる集約が必要な幅広い質問(例:「このコーパスの主なテーマは何ですか?」)
  • マルチホップ推論:複数の関係をたどる必要がある質問(例:「遺伝子 X が原因となる疾患を治療する薬はどれですか?」)
  • 時間に関するクエリ:期間が指定されている、または順序の理解が必要な質問
  • 制約付きクエリ:型や属性によるフィルターを含む質問(例:「薬 Y を対象とする 2020 年以降の臨床試験をすべて列挙してください」)

ユースケースにおけるこれらのクエリの種類の分布を特定し、パターン選択の指針にします。

ステップ 2:検索パターンを選択する

以下の検索パターン選択ガイドを使って、クエリの分布に適したアプローチを選択します。各パターンの詳しい実装方法については、resources/methodology.md を参照してください。

ステップ 3:クエリ分解戦略を設計する

複雑なクエリは、個別に解決してから集約できるサブクエリに分解します。アプローチには、LLM をコントローラーとして用いる分解、セルフアスクチェーン、ReAct スタイルの推論と検索の交互実行などがあります。詳細については、以下の「クエリ分解パターン」セクションと resources/methodology.md を参照してください。

ステップ 4:ランキングと制約を設定する

検索結果のスコア付け、ランキング、フィルタリングの方法を定義します。

  • 埋め込み類似度のしきい値
  • グラフ距離のペナルティ
  • 型に基づく事前フィルターまたは事後フィルター
  • 信頼度スコアの最低値
  • 時間に敏感なデータ向けの時間減衰関数
ステップ 5:出所追跡を設計する

検索されたすべての情報に、その出所に関するメタデータが付与されるようにします。これには、ソース文書 ID、抽出タイムスタンプ、信頼度スコア、根拠チェーンの構築が含まれます。アノテーションの方法、信頼度のスコアリング、LLM の統合パターンについては、resources/provenance-patterns.md を参照してください。

ステップ 6:フォールバック戦略を定義する

主要な検索が失敗した場合、または結果が不十分な場合の動作を設計します。

  • 反復的な探索(ホップ数を増やす)
  • クエリの緩和(制約を段階的に取り除く)
  • 並列探索(複数のパターンを同時に試す)
  • グレースフルデグラデーション(信頼度の指標とともに部分的な結果を返す)
ステップ 7:検索戦略の仕様を作成する

以下の出力テンプレートを使って、仕様全体をまとめます。


検索パターンの選択ガイド

パターン最適な用途仕組みトレードオフセクション参照
グローバル優先広範なテーマに関するクエリ、コーパス全体の要約コミュニティ検出、要約済みインデックスのトップダウン走査高レベルの網羅性が得られますが、具体的な詳細を見落とす可能性があります3.1
ローカル優先エンティティ中心の検索、近傍の探索起点となるエンティティのリンク付け、埋め込みゲートによる1〜2ホップの近傍展開既知のエンティティに対する精度は高いものの、範囲は限定されます3.2
U字型ハイブリッド幅広さと深さの両方が必要な複雑なクエリ粗から細への双方向検索、トップダウンの後にボトムアップで絞り込み最も網羅性が高い一方、レイテンシーと複雑さが増します3.3
クエリ分解マルチホップ推論、複合的な質問LLMがクエリをサブクエリに分解し、順次検索して集約複雑な質問に対応できますが、分解の品質に左右されます3.4
時間ベース時間範囲が限定されたクエリ、または順序に依存するクエリ時間スライスによるフィルタリング、エピソード単位のウィンドウ化、時間減衰によるランキング時間的な動態を捉えられますが、時間メタデータが必要です3.5
制約ガイド型型でフィルタリングするクエリ、またはルールで範囲を限定したクエリ事前フィルターとベクトル検索、シンボリッククエリの後にニューラル再ランキング検索範囲を狭められますが、適切に型付けされたスキーマが必要です3.6

選択のヒューリスティック:まず、システムで最も多いクエリの種類に合わせてください。クエリが混在する場合は、U字型ハイブリッドをデフォルトとして、必要に応じて特化したパターンにフォールバックすることを検討してください。


クエリ分解パターン

コントローラーとしてのLLM

LLMが元のクエリを受け取り、サブクエリの計画を生成します。

Original: "Which drugs treat diseases linked to mutations in BRCA1?"
Sub-query 1: "What diseases are linked to mutations in BRCA1?"
Sub-query 2: "What drugs treat [diseases from sub-query 1]?"
Aggregation: Combine results, deduplicate, rank by evidence strength
自問連鎖

モデルが反復的に自分自身へ追加の質問を行い、その都度検索します。

Q: "What is the relationship between company X and technology Y?"
Follow-up 1: "What products does company X produce?" -> retrieve
Follow-up 2: "Which of those products use technology Y?" -> retrieve
Follow-up 3: "What partnerships exist between X and Y providers?" -> retrieve
Synthesize: Combine all retrieved evidence into final answer
ReActパターン

推論と検索アクションを交互に行います。

Thought: I need to find the connection between entity A and entity C
Action: Search KG for paths between A and C (max 3 hops)
Observation: Found path A -> B -> C via relationship R1 and R2
Thought: I should verify this path with supporting evidence
Action: Retrieve source documents for edges A-B and B-C
Observation: Edge A-B supported by [doc1, doc2], edge B-C supported by [doc3]
Answer: A connects to C through B, supported by 3 source documents
ツール拡張検索

構造化グラフの走査に使う形式クエリ(Cypher、SPARQL)を生成します。

LLM generates: MATCH (d:Drug)-[:TREATS]->(dis:Disease)<-[:CAUSES]-(g:Gene {name: 'BRCA1'})
               RETURN d.name, dis.name, g.name
Execute against graph database
Post-process results with LLM for natural language answer

出力テンプレート

# Retrieval Strategy Specification

## System Context
- **Domain**: [e.g., biomedical, legal, financial]
- **Knowledge Graph Type**: [e.g., property graph, RDF, hybrid]
- **Primary Query Types**: [list dominant query categories]
- **Scale**: [approximate node/edge counts, query volume]

## Retrieval Pattern
- **Primary Pattern**: [selected pattern from guide]
- **Rationale**: [why this pattern fits the query distribution]
- **Secondary/Fallback Pattern**: [if applicable]

## Query Decomposition
- **Strategy**: [LLM-as-controller / self-ask / ReAct / tool-augmented / none]
- **Max Sub-queries**: [limit per original query]
- **Aggregation Method**: [union / intersection / ranked merge / LLM synthesis]

## Ranking & Constraints
- **Similarity Threshold**: [minimum embedding similarity score]
- **Max Hop Distance**: [maximum graph traversal depth]
- **Type Filters**: [entity/relationship type constraints]
- **Temporal Constraints**: [time windows, decay functions]
- **Confidence Minimum**: [minimum source confidence for inclusion]

## Provenance Design
- **Annotation Method**: [metadata fields / evidence nodes / named graphs / reification]
- **Confidence Scoring**: [source reliability tiers, aggregation rules]
- **Citation Format**: [inline / post-hoc / both]
- **Conflict Resolution**: [timestamp priority / source authority / LLM adjudication]

## Fallback Strategy
- **Primary Fallback**: [iterative deepening / query relaxation / parallel exploration]
- **Max Retry Depth**: [number of fallback attempts]
- **Degradation Policy**: [partial results with confidence / explicit uncertainty / escalation]

## Evaluation Criteria
- Reference: `resources/evaluators/rubric_retrieval.json`
- **Target Score**: [minimum acceptable weighted score]

コメント