{
  "source_file": "0930",
  "source_platform": "个人博客",
  "author": "Hamel Husain / Parlance Labs",
  "title_listed": "Stop Saying RAG Is Dead",
  "keywords": "RAG,检索,LLM",
  "domain": "大模型算法",
  "content_type": "观点文章",
  "is_paid_flag": "否",
  "url": "https://hamel.dev/notes/llm/rag/not_dead.html",
  "publish_date": "2025-07",
  "corpus_stage": "推理部署",
  "notes": "RAG并未过时的论述",
  "id": "214ff6922ad7",
  "collected_at": "2026-10-02T14:29:06",
  "title": "Stop Saying RAG Is Dead – Hamel’s Blog",
  "body_markdown": "Stop Saying RAG Is Dead\nWhy the future of RAG lies in better retrieval, not bigger context windows.\nAuthors\nHamel Husain\nBen Clavié\nPublished\nJuly 12, 2025\nI’m tired of hearing “RAG is dead.” That’s why\nBen Clavié\nand I put together this\nopen 7-part series\nto discuss why RAG is not dead, and what the future of RAG looks like.\nThe oversimplified version from 2023 deserves the criticism: chuck documents into a vector database, do cosine similarity, call it a day. That approach fails because compressing entire documents into single vectors loses critical information. But retrieval itself is more important than ever. LLMs are frozen at training time. Million-token context windows don’t change the economics of stuffing everything into every query.\nWhat We Learned\nWe started by questioning how we measure success.\nNandan Thakur showed\nthat traditional IR metrics optimize for finding the #1 result. RAG needs different goals: coverage (getting all the facts), diversity (corroborating facts), and relevance. Models that ace BEIR benchmarks often fail at real RAG tasks.\nFrom there, we explored how retrieval can reason.\nOrion Weller’s models\nunderstand instructions like “find documents about data privacy using metaphors.” His Rank1 system generates explicit reasoning traces about relevance, surfacing documents that traditional systems never find.\nAntoine Chaffin then showed\nwhy single vectors lose information. Late-interaction models like ColBERT preserve token-level detail instead of forcing everything into one conflicted representation. The result: 150M parameter models outperforming 7B parameter alternatives on reasoning tasks.\nBryan Bischof and Ayush Chaurasia\nmade the case for multiple representations. Their art search demo finds the same painting through literal descriptions, poetic interpretations, or similar images, each using different indices. Stop searching for the perfect embedding. Build specialized representations and route intelligently.\nKelly Hong’s research\non “Context Rot” revealed that LLM performance degrades significantly as input length increases, even on simple tasks. Semantic matching, distractors, and irrelevant information cause failures that lexical benchmarks like “needle in a haystack” miss entirely. Thoughtful retrieval and context engineering beat dumping everything into the prompt.\nFinally,\nJo Kristian Bergum reminded us\nthat sophistication isn’t complexity. You don’t need a graph database for GraphRAG. A CSV or Postgres works fine. Vector search already uses graphs (HNSW), so you can do graph-like retrieval without new infrastructure.\nEach talk is covered in more detail below.\nAnnotated Notes From the Series\nEach post includes timestamped annotations of slides, saving you hours of video watching. We’ve highlighted the most important bits and provided context for quickly grokking the material.\nTitle\nDescription\nPart 1\n:\nI don’t use RAG, I just retrieve documents\nBen Clavié explains why naive single-vector search is dead, not RAG itself\nPart 2\n:\nModern IR Evals For RAG\nNandan Thakur shows why traditional IR metrics fail for RAG and introduces FreshStack\nPart 3\n:\nOptimizing Retrieval with Reasoning Models\nOrion Weller demonstrates retrievers that understand instructions and reason about relevance\nPart 4\n:\nLate Interaction Models For RAG\nAntoine Chaffin reveals how ColBERT-style models preserve information that single vectors lose\nPart 5\n:\nRAG with Multiple Representations\nBryan Bischof and Ayush Chaurasia show why multiple specialized indices beat one perfect embedding\nPart 6\n:\nContext Rot\nKelly Hong explains how LLM performance degrades with longer inputs and why context engineering is critical\nPart 7\n:\nYou Don’t Need a Graph DB (Probably)\nJo Kristian Bergum explains why graph databases are usually overkill for RAG\nPDF Version\nA PDF version of the series is available\nhere\n.\nDownload PDF file.",
  "metadata": {
    "title": "Stop Saying RAG Is Dead – Hamel’s Blog",
    "description": "Why the future of RAG lies in better retrieval, not bigger context windows.",
    "keywords": null,
    "author": "Hamel Husain",
    "og:type": "article",
    "og:title": "Stop Saying RAG Is Dead – Hamel’s Blog",
    "og:description": "Why the future of RAG lies in better retrieval, not bigger context windows.",
    "og:image": "https://hamel.dev/notes/llm/rag/rag_dead.png",
    "og:site_name": "Hamel’s Blog",
    "og:locale": "en_US",
    "og:image:height": "720",
    "og:image:width": "1280",
    "twitter:title": "Stop Saying RAG Is Dead – Hamel’s Blog",
    "twitter:description": "Why the future of RAG lies in better retrieval, not bigger context windows.",
    "twitter:image": "https://hamel.dev/notes/llm/rag/rag_dead.png",
    "twitter:creator": "@HamelHusain",
    "twitter:site": "@HamelHusain",
    "twitter:card": "summary_large_image",
    "twitter:image-height": "720",
    "twitter:image-width": "1280"
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": true,
    "status_code": 200,
    "error": ""
  },
  "code_blocks": [],
  "images": [
    {
      "status": "ok",
      "url": "https://hamel.dev/notes/llm/rag/p1-images/slide_12.png",
      "bytes": 1004096,
      "reused": false,
      "local_path": "attachments/214ff6922ad7/images/body-dbb0d56817a59a8988d9.png",
      "src": "https://hamel.dev/notes/llm/rag/p1-images/slide_12.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://hamel.dev/notes/llm/rag/p2-images/slide_19.png",
      "bytes": 286324,
      "reused": false,
      "local_path": "attachments/214ff6922ad7/images/body-3e0582fe1304564e7b1e.png",
      "src": "https://hamel.dev/notes/llm/rag/p2-images/slide_19.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://hamel.dev/notes/llm/rag/p3-images/slide_97.png",
      "bytes": 345661,
      "reused": false,
      "local_path": "attachments/214ff6922ad7/images/body-e35d2345e7f217f1975c.png",
      "src": "https://hamel.dev/notes/llm/rag/p3-images/slide_97.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://hamel.dev/notes/llm/rag/p4-images/slide_13.png",
      "bytes": 686580,
      "reused": false,
      "local_path": "attachments/214ff6922ad7/images/body-d6f90d668a6426e8e1cf.png",
      "src": "https://hamel.dev/notes/llm/rag/p4-images/slide_13.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://hamel.dev/notes/llm/rag/p5-images/slide_2.png",
      "bytes": 431528,
      "reused": false,
      "local_path": "attachments/214ff6922ad7/images/body-3e155c8726db89e5041f.png",
      "src": "https://hamel.dev/notes/llm/rag/p5-images/slide_2.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://hamel.dev/notes/llm/rag/p6-images/crot_cover.png",
      "bytes": 102802,
      "reused": false,
      "local_path": "attachments/214ff6922ad7/images/body-6dbb286cc48c001ca511.png",
      "src": "https://hamel.dev/notes/llm/rag/p6-images/crot_cover.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://hamel.dev/notes/llm/rag/p7-images/graph_db_meme.jpg",
      "bytes": 90321,
      "reused": false,
      "local_path": "attachments/214ff6922ad7/images/body-d3e29250c9623a1d6b8b.jpg",
      "src": "https://hamel.dev/notes/llm/rag/p7-images/graph_db_meme.jpg",
      "alt": "",
      "downloaded": true
    }
  ],
  "audio": [],
  "videos": [],
  "links": [
    {
      "href": "https://www.googletagmanager.com/ns.html?id=GTM-PKGWQMKL",
      "label": "",
      "type": "iframe"
    },
    {
      "href": "https://ben.clavie.eu/",
      "label": "Ben Clavié",
      "type": "a"
    },
    {
      "href": "https://hamel.dev/notes/llm/rag/index.html",
      "label": "open 7-part series",
      "type": "a"
    },
    {
      "href": "https://hamel.dev/notes/llm/rag/p2-evals.html",
      "label": "Nandan Thakur showed",
      "type": "a"
    },
    {
      "href": "https://hamel.dev/notes/llm/rag/p3_reasoning.html",
      "label": "Orion Weller’s models",
      "type": "a"
    },
    {
      "href": "https://hamel.dev/notes/llm/rag/p4_late_interaction.html",
      "label": "Antoine Chaffin then showed",
      "type": "a"
    },
    {
      "href": "https://hamel.dev/notes/llm/rag/p5_map.html",
      "label": "Bryan Bischof and Ayush Chaurasia",
      "type": "a"
    },
    {
      "href": "https://hamel.dev/notes/llm/rag/p6-context_rot.html",
      "label": "Kelly Hong’s research",
      "type": "a"
    },
    {
      "href": "https://hamel.dev/notes/llm/rag/p7-graph-db.html",
      "label": "Jo Kristian Bergum reminded us",
      "type": "a"
    },
    {
      "href": "https://hamel.dev/notes/llm/rag/p1-intro.html",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://hamel.dev/notes/llm/rag/beyond-naive-rag.pdf",
      "label": "here",
      "type": "a"
    }
  ],
  "repair_version": 2,
  "repaired_at": "2026-10-14T10:52:45Z",
  "source_url": "https://hamel.dev/notes/llm/rag/not_dead.html",
  "papers": [
    {
      "status": "ok",
      "url": "https://hamel.dev/notes/llm/rag/beyond-naive-rag.pdf",
      "bytes": 31184238,
      "reused": false,
      "local_path": "papers/repair/aa1d63e9d3471e7b1601.pdf"
    }
  ],
  "actual_video_files": [],
  "body_chars": 3881,
  "expected_body_images": 7,
  "discovery_status": "ok",
  "delivery_status": "ok",
  "missing_reason": "",
  "raw_html": "attachments/214ff6922ad7/pages/source.html",
  "local_html": "attachments/214ff6922ad7/pages/article.html",
  "body_base_path": "attachments/214ff6922ad7/pages/",
  "body_markdown_path": "attachments/214ff6922ad7/pages/article.md"
}