rag-architect について
RAG Architectは、実際のコーパスと要件に基づいてRAGパイプラインを設計、調整、評価するスキルです。チャンク分析、パイプライン設計、検索評価を一連の手順として行い、直感ではなく測定結果に基づいて設計します。
主な機能
- 01文書コーパスに合わせたチャンク最適化
- 02要件に基づくパイプライン設計
- 03ランキング指標による検索評価
- 04検索精度が低い事例の確認
- 05変数を一つずつ変更して反復
活用シーン
- 01実際の文書群に適したチャンク選定
- 02ワークロードに沿ったRAGパイプライン設計
- 03正解データを用いた検索品質の測定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill rag-architectインストール後、Claude Code で/rag-architectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
chunking_optimizer.pyrag_pipeline_designer.pyretrieval_evaluator.pyreferences/chunking_strategies_comparison.mdembedding_model_benchmark.mdrag_evaluation_framework.md詳細
RAG Architect
3 つの決定論的なツールで、本番環境向けの RAG パイプラインを設計、調整、評価します。実際のコーパスと要件に対してツールを実行してください。直感でチャンクサイズやデータベースを選ばないでください。
厳守事項
- モデル名やベンダーの価格を最新の事実として提示しないでください。 埋め込みモデルやベクターデータベースの価格は、数か月で古くなります。推奨するのはティア(下表を参照)とし、現行世代の候補を挙げたうえで、プロバイダーの最新の価格ページで確認するようユーザーに伝えてください。
- すべての設計は評価を実行して終わらせてください。
retrieval_evaluator.pyの数値がない RAG 設計は仮説であり、成果物ではありません。 - チャンク分割はコーパスに基づいて行ってください。 戦略を選ぶ前に、実際のドキュメントに対して
chunking_optimizer.pyを実行してください。
埋め込みモデルのティア(価格表ではなく、目安です)
| ティア | 現行世代の例(使用前に要確認) | 用途 |
|---|---|---|
| 高速/セルフホスト可能 | all-MiniLM-L6-v2、bge-small | コスト重視、小規模、リアルタイム |
| バランスの取れたオープンモデル | all-mpnet-base-v2、bge-large、e5-large | API に依存せず高品質を実現 |
| 高品質 API | text-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. 検証ループ
次の条件を満たした場合にのみ、設計は完了です。
eval.jsonが目標値を満たすこと。一般的な最低基準は precision@5 ≥ 0.8、recall@10 ≥ 0.85 です(ユースケースごとにユーザーと設定してください)。- 目標を下回る場合は、精度不足・再現率不足の例のリストを確認してから、変数を1 つ変更し(チャンク分割戦略 → ステップ 1 を再実行、埋め込みティア、リランキングの追加、ハイブリッド検索)、ステップ 3 を再実行します。これを繰り返してください。
- 成果物に記載する推奨モデル/価格にはすべて、「最新の価格/モデルの提供状況を要確認」という注記と基準日を記載してください。
参考資料
references/chunking_strategies_comparison.md— オプティマイザーが実装する各戦略のトレードオフreferences/embedding_model_benchmark.md— ベンチマークの方法論(日付入りのスナップショット。冒頭に情報の古さに関する警告あり)references/rag_evaluation_framework.md— 指標の定義(忠実性、関連性、適合率/再現率/NDCG)