使える RAG の作り方 — 測って・直して・運用する のシリーズ ヒーロー画像

シリーズ · 全 5 部

使える RAG の作り方 — 測って・直して・運用する

「RAG のサンプルを動かせた」で終わらせず、「自分の案件で RAG を設計・評価・運用できる」状態まで読者を運ぶ。読み終えた翌日に production readiness checklist と評価レポートを書けるようにする、実務手順書としての 5 部構成。

✓ 完結

こんな人におすすめ

  • 「動く」RAG はもう作ったけど、品質に確信が持てない実務者
  • 評価設計を体系的に学びたい AI エンジニア
  • 本番運用で起きるドリフトやコスト問題を予習したいプロダクトチーム

推奨読書順

  1. Part 1

    素朴な RAG の限界 — 100 行で動くけど「使える」とは言えない理由

    LLM + ベクトル検索で「動く RAG」を 100 行で組んでみる。実装は驚くほど短い。けれど「動く」と「使える」の間には大きな谷がある。シリーズ「使える RAG の作り方 — 測って・直して・運用する」第 1 回。

  2. Part 2

    Retrieval を真面目に — chunking と hybrid search で recall を数値改善する

    素朴な RAG の retrieval を、metadata 保持型 chunking と BM25+dense hybrid search で立て直す。版違い文書と同義語 miss を観察し、status filter で旧版 (archived) を top-5 から追い出す効果を実測で確認する。シリーズ「使える RAG の作り方 — 測って・直して・運用する」第 2 回

  3. Part 3

    Generation を引用付きで書く — Anthropic Citations API と cross-encoder reranker

    Part 2 の hybrid+filter で旧版は落ちたが、意味的に近い trap と引用喪失が残る。本記事 (Part 3) では cross-encoder reranker で top-20 → top-3 まで絞って semantic trap を圏外へ落とし、Anthropic Citations API で doc_id 付きの grounding を設計する。trap の rank が 2 位から 9 位へ動く様子を実測で観察し、検証は Part 4 へ送る。シリーズ「使える RAG の作り方 — 測って・直して・運用する」第 3 回

  4. Part 4

    評価 (クライマックス) — RAGAs 4 指標で Part 1-3 の改善を客観評価する

    Part 1-3 で打った手 (naive / hybrid / rerank+citations) は感覚的には効いた。本記事 (Part 4) では RAGAs の 4 指標 (Faithfulness / Answer Relevance / Context Precision / Context Recall) で 30 件の golden set を Ollama (qwen3:8b judge) で回し、各 Part の改善を数値で再確認する。測定して初めて分かった「英語 reranker が日本語で aggregate を下げる」失敗と、gen=judge 同型バイアスの読み方も実機で議論する。シリーズ「使える RAG の作り方 — 測って・直して・運用する」第 4 回

  5. Part 5

    本番運用 — Logging Safety / Drift / Cost / Rollback で RAG を運用する

    Part 4 で組んだ offline 評価は「変更前後で回帰がないか」を見るためのもの。本記事 (Part 5、シリーズ完結) では online 運用で必須になる Logging Safety (PII redaction を含む)、embedding drift 検出、コスト構造分解、インシデント対応とロールバックを扱う。「個人情報を含むコーパスで default のままログを取ると重大インシデント」を構造的に避ける設計を companion repo の実装と並べて示す。シリーズ「使える RAG の作り方 — 測って・直して・運用する」完結編

サンプルコード

連載に対応する動くサンプルは github.com/zawazawa5809/rag-fundamentals-companion にあるん。各 Part に対応する git tag から checkout できる。clone とセットアップ手順は repo の README にまとまっているん。