我的智能体一直在自信地基于糟糕的检索上下文行动,直到我添加了自检步骤
摘要
作者分享了防止基于RAG的智能体基于糟糕的检索上下文行动的技术,包括混合检索、重排序、纠正检索步骤和防护栏,并有一个构建实验室活动于8月29日演示这些方法。
我一直在构建一个依赖RAG进行基础的智能体,有一段时间它只是...信任检索返回的任何内容。糟糕的片段、缺失的上下文,都没关系,智能体仍然会基于它行动并显得完全确信。意识到修复方法并不在于智能体的推理,而是在上游。检索层需要能够说“这个上下文看起来很弱”,然后要么再次检索,要么直接拒绝,而不是交给智能体一些不稳固的内容让它运行。一些真正有帮助的方法...混合检索(关键词+密集,通过倒数排名融合融合)而不是纯向量搜索,捕获了许多向量单独遗漏的精确匹配内容。加上一些多样性控制(MMR)的重排序,这样智能体实际上是从最佳候选中工作,而不仅仅是相似度得分最高的。纠正检索和自检作为智能体行动前的一个实际步骤,而不是之后。基本上给检索一个“我是否足够自信来交付”的关卡。还围绕最终输出添加了开放防护栏模型(llama guard, granite guardian),特别是因为基于糟糕上下文行动的智能体不仅回答错误,有时还行动错误,这是不同级别的风险。所有这些都不需要付费API,全部通过openrouter在小型开源模型上运行。8月29日有一个动手构建实验室,指导如何正确构建这个系统,包括混合检索、重排序、纠正检索、评估和防护栏层,使用一个实际案例研究而不是玩具示例。由Ben Auffarth博士领导,他在该领域写了几本书,包括一本专门关于RAG的。如果有人需要,链接在评论中。好奇是否有人在这里也遇到过智能体自信地基于薄弱检索上下文行动的情况,以及除了更好的提示之外你做了什么来解决它。
相似文章
我见到的大多数智能体RAG问题都是检索问题,而非模型问题
作者认为大多数智能体RAG失败源于检索问题——具体包括分块错误、缺乏新鲜度信号以及依赖纯向量搜索——而非大语言模型本身,并建议采用结构化分块、基于衰减的排序以及BM25+向量的混合搜索。
@h100envy:这篇论文彻底改变了我对 RAG 中信任检索的看法:获取文档 -> 评估质量 -> 得…
本文提出了一种5步蓝图,通过使用轻量级检索评估器来提高 RAG 中的信任度。该评估器对文档质量进行评分,并触发(正确、错误、模糊)三种动作来处理检索失败,具有即插即用的集成特性。
@lateinteraction: 智能体通常将部分上下文外部化:在编码智能体中的仓库,在RAG中的语料库,以及在RLM中的用户提示。N…
Joshua Gu的新研究表明,AI智能体在管理其上下文窗口中的一个小缓冲区作为外部上下文的缓存时表现更好,这挑战了将上下文完全推出提示符的常见做法。
RAG 能知道检索错误吗?在知识冲突下诊断上下文遵从性
本文提出了一种名为“上下文驱动分解”(CDD)的探针,用于诊断检索增强生成(RAG)系统在面对检索上下文与参数化知识冲突时,是否遵从检索上下文。同时,发布了 Epi-Scale 基准测试,以便在多种模型家族中进行系统性研究。
智能体记忆不仅仅是基于用户事实的RAG
文章认为,简单的基于RAG的智能体记忆系统在生产中会失败,原因包括过时的偏好、遗漏的关键词和提示注入等问题,并主张采用分层记忆架构,具备主动选择、确定性回退、治理和测试等功能。