RAG 已死,上下文工程为王 —— 来自 Chroma 创始人
@jeffreyhuber
的观点 —— 揭示了 RAG 的局限性并提出了上下文工程作为 AI 应用开发的核心方法。结合技术洞见和创业哲学,强调了精准检索、上下文优化和高质量数据集的重要性。

背景与核心观点
围绕 AI 应用中的信息检索和上下文管理展开,聚焦于 RAG 的局限性以及新兴的“上下文工程”的重要性。Jeff 认为,传统的 RAG 方法已经不足以应对现代 AI 应用的复杂需求,尤其是在上下文窗口越来越长、AI 从简单聊天机器人转向更具影响力的智能体的背景下。他提出,上下文工程——即如何精准、高效地为 AI 模型提供合适的信息——是构建可靠 AI 系统的关键。

为什么“RAG 已死”?

  1. RAG 的局限性:
    · RAG 这个术语过于宽泛,混淆了检索(Retrieval)、增强(Augmentation)和生成(Generation)三个不同概念,导致开发者难以清晰理解和优化。
    · 传统 RAG 通常依赖单一的密集向量搜索,但这在处理复杂任务或大规模数据时效果有限。
    · 随着上下文窗口的扩展(例如从几千到百万个 token),模型的注意力机制会衰减(称为“上下文腐烂”,Context Rot),导致性能下降。简单堆砌信息不再有效。

  2. 上下文工程的崛起:
    · 上下文工程的核心是为每次生成选择最相关的上下文信息,而不是一股脑塞入所有可能相关的数据。
    · 它包括两个层面:
    · 内循环:为当前生成任务选择合适的上下文。
    · 外循环:通过持续优化(例如错误分析、重新分块、调整过滤器)提升上下文选择的质量。
    · Jeff 强调,上下文工程不仅是技术问题,还是一种高价值的工程实践,决定了 AI 应用的成败。

上下文工程的五个实用建议
Jeff 提出了五个实用的检索优化建议,帮助开发者构建更高效的 AI 系统:

  1. 不要只做“RAG”,而是聚焦于“检索”:
    明确区分检索的各个基本操作(密集搜索、词法搜索、过滤、重新排序、上下文组装、评估循环),以便更系统地优化。
  2. 混合召回(Hybrid Recall):
    使用向量搜索、词法搜索(regex)和元数据过滤结合的方式,从大量候选数据中筛选出200-300个候选结果,交给 LLM 处理。
  3. 重新排序(Re-rank):
    在组装上下文之前,使用 LLM 或专门的重新排序模型(cross-encoder)对候选结果进行精细排序,选出最相关的20-40个。
  4. 应对上下文腐烂:
    保持上下文紧凑和结构化,避免塞入过多的无关信息。研究表明,上下文越长,模型的注意力分配越差,性能下降。
  5. 建立小型高质量数据集(Gold Set):
    花一个晚上,组织团队手动标注一个小型的“查询-上下文”数据集,集成到 CI 和仪表板中,用于评估和优化检索系统。

上下文工程的具体流程

  1. 数据摄入(Ingest):
    · 解析与分块:根据领域知识(例如标题、代码块、表格)对数据进行智能分块。
    · 丰富数据:添加标题、锚点、符号、元数据等信息。
    · 可选:生成摘要:用LLM为代码或API生成自然语言摘要,增强语义理解。
    · 嵌入与存储:生成密集向量嵌入,可选加入稀疏信号,存储到数据库。
  2. 查询(Query):
    · 第一阶段混合检索:结合向量搜索、词法搜索和元数据过滤,筛选出100-300个候选。
    · 重新排序:用LLM或专用模型精选20-40个最相关结果。
    · 上下文组装:
    · 优先放置指令/系统提示。
    · 去重或合并近似内容。
    · 确保来源多样性。
    · 设置严格的token上限。
  3. 外循环(Outer Loop):
    · 缓存与成本控制:优化性能和成本。
    · 生成性基准测试:基于小型高质量数据集评估系统表现。
    · 错误分析:根据反馈调整分块策略、过滤器或重新排序提示。
    · 记忆与压缩:将交互记录总结为可检索的事实,优化长期记忆。

Chroma 发布了两个重要技术报告:

  1. Context Rot Technical Report:
    揭示了长上下文窗口导致模型性能下降的问题,挑战了 "needle-in-a-haystack" 基准的营销宣传,强调上下文质量的重要性。
  2. Generative Benchmarking Technical Report:
    提出了一种方法,让 LLM 从数据块生成高质量查询,构建“查询-上下文”数据集,用于评估和优化检索系统。

关于记忆与 AI 的未来
Jeff 认为,“记忆”是上下文工程的直接收益。AI 的记忆能力类似于人类通过学习和反馈不断改进任务表现的能力。上下文工程通过优化上下文选择,让 AI 能够“记住”最相关的信息,从而提升性能。他还预测,未来的检索系统可能:
· 保持在潜在空间(Latent Space):不依赖自然语言,直接传递嵌入向量。
· 持续检索:而不是一次检索后生成所有内容,AI 可能在生成过程中动态检索。
· 高效内存管理:借鉴数据库中的压缩技术,AI 可能通过离线计算优化记忆结构。

关于 Chroma 的创业哲学
· 专注与耐心:Chroma 选择不追逐短期炒作,而是专注于打造极致的开发者体验,即使这意味着推迟产品发布(如Chroma Cloud)。
· 文化与品牌:公司文化直接影响产品,Chroma 强调一致性与用心,从办公室设计到 API 体验都体现深思熟虑。
· 招聘与愿景:Chroma 招聘注重与公司愿景高度契合的人才,尤其看重对分布式系统、Rust 编程和开发者工具的热情。
· 宗教与价值观:杰夫提到,他对基督教的信仰影响了他对“影响深远”工作的追求,强调为人类福祉而非短期利益做事 -- Amen!