mcpField
R
rag-architect

rag-architect

github.com/alirezarezvani開発29.0k634 回インストール1 日前に更新
リポジトリ

rag-architect について

RAG Architectは、実際のコーパスと要件に基づいてRAGパイプラインを設計、調整、評価するスキルです。チャンク分析、パイプライン設計、検索評価を一連の手順として行い、直感ではなく測定結果に基づいて設計します。

主な機能

  1. 01文書コーパスに合わせたチャンク最適化
  2. 02要件に基づくパイプライン設計
  3. 03ランキング指標による検索評価
  4. 04検索精度が低い事例の確認
  5. 05変数を一つずつ変更して反復

活用シーン

  1. 01実際の文書群に適したチャンク選定
  2. 02ワークロードに沿ったRAGパイプライン設計
  3. 03正解データを用いた検索品質の測定

インストール

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

$npx skills add https://github.com/alirezarezvani/claude-skills --skill rag-architect

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

同梱ファイル

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

chunking_optimizer.py
rag_pipeline_designer.py
retrieval_evaluator.py
references/
chunking_strategies_comparison.md
embedding_model_benchmark.md
rag_evaluation_framework.md

詳細

RAG Architect

3 つの決定論的なツールで、本番環境向けの RAG パイプラインを設計、調整、評価します。実際のコーパスと要件に対してツールを実行してください。直感でチャンクサイズやデータベースを選ばないでください。

厳守事項

  1. モデル名やベンダーの価格を最新の事実として提示しないでください。 埋め込みモデルやベクターデータベースの価格は、数か月で古くなります。推奨するのはティア(下表を参照)とし、現行世代の候補を挙げたうえで、プロバイダーの最新の価格ページで確認するようユーザーに伝えてください。
  2. すべての設計は評価を実行して終わらせてください。 retrieval_evaluator.py の数値がない RAG 設計は仮説であり、成果物ではありません。
  3. チャンク分割はコーパスに基づいて行ってください。 戦略を選ぶ前に、実際のドキュメントに対して chunking_optimizer.py を実行してください。

埋め込みモデルのティア(価格表ではなく、目安です)

ティア現行世代の例(使用前に要確認)用途
高速/セルフホスト可能all-MiniLM-L6-v2、bge-smallコスト重視、小規模、リアルタイム
バランスの取れたオープンモデルall-mpnet-base-v2、bge-large、e5-largeAPI に依存せず高品質を実現
高品質 APItext-embedding-3-large、voyage-3-large精度を優先する一般的な検索
コードvoyage-code-3、CodeBERT 系コード検索コーパス

価格の取り扱い: プレースホルダーの表を使ってコストモデルを作成してください。列は model | $/1M tokens (verify) | dims | as-of date とし、最新の数値をユーザーに記入してもらいます。ベクターデータベース(Pinecone/Weaviate/Qdrant/Chroma/pgvector)も同様です。マネージドかセルフホスト可能か、規模、フィルタリング、既存の Postgres の有無といった選定基準は長期的に有効ですが、金額はそうではありません。

ワークフロー

すべてのパスは、このスキルフォルダーからの相対パスです。出力は、コーパス分析 → 設計 → 評価の順に連携します。

1. コーパスを分析してチャンク分割を選ぶ
python3 chunking_optimizer.py /path/to/docs --extensions .md .txt -o chunking.json

corpus_info、戦略ごとの strategy_results、recommendation、sample_chunks を含む chunking.json を出力します。recommendation.strategy とその設定を使用し、境界を確認できるよう sample_chunks を 2~3 個ユーザーに提示してください。

2. 要件に基づいてパイプラインを設計する

次のキーを含む要件 JSON を作成してください(すべて必須):document_types[]、document_count、avg_document_size(文字数)、queries_per_day、query_patterns[]、latency_requirement、budget_monthly、accuracy_priority(0~1)、cost_priority(0~1)、maintenance_complexity。

python3 rag_pipeline_designer.py requirements.json -o design.json

chunking、embedding、vector_db、retrieval、reranking、evaluation、total_cost、architecture_diagram(mermaid)、config_templates を含む design.json を出力します。図を提示し、すべての cost_monthly の数値に、要確認の見積もりであることを明記してください(ルール 1)。

3. 検索品質を評価する

queries.json({id, text} のリスト、または {"queries": [...]})と ground_truth.json({query_id: [relevant_doc_ids]})を用意し、次を実行してください。

python3 retrieval_evaluator.py queries.json /path/to/docs ground_truth.json --k-values 3 5 10 -o eval.json

precision@k、recall@k、MRR、NDCG@k に加えて、失敗分析用の poor_precision_examples/poor_recall_examples を出力します。

4. 検証ループ

次の条件を満たした場合にのみ、設計は完了です。

  1. eval.json が目標値を満たすこと。一般的な最低基準は precision@5 ≥ 0.8、recall@10 ≥ 0.85 です(ユースケースごとにユーザーと設定してください)。
  2. 目標を下回る場合は、精度不足・再現率不足の例のリストを確認してから、変数を1 つ変更し(チャンク分割戦略 → ステップ 1 を再実行、埋め込みティア、リランキングの追加、ハイブリッド検索)、ステップ 3 を再実行します。これを繰り返してください。
  3. 成果物に記載する推奨モデル/価格にはすべて、「最新の価格/モデルの提供状況を要確認」という注記と基準日を記載してください。

参考資料

  • references/chunking_strategies_comparison.md — オプティマイザーが実装する各戦略のトレードオフ
  • references/embedding_model_benchmark.md — ベンチマークの方法論(日付入りのスナップショット。冒頭に情報の古さに関する警告あり)
  • references/rag_evaluation_framework.md — 指標の定義(忠実性、関連性、適合率/再現率/NDCG)

コメント