在代理式RAG中建立信任始于证据

在代理式RAG中建立信任始于证据

💡 原文英文,约2000词,阅读约需8分钟。
📝

内容提要

Agentic RAG通过代理重写查询、选择数据源和搜索方式,提升检索覆盖率,但需记录决策链以建立信任。系统应保留查询、来源、拒绝原因等痕迹,验证引用支持,并实施范围过滤和权限控制。检索内容视为数据而非策略,需定期评估,确保准确性和合规性。

🔎

延伸解读

证据链是代理式RAG信任的基础

代理式RAG通过重写查询、选择数据源和搜索方式,能发现单一语义搜索可能遗漏的证据,但也引入了更多决策点。文章强调,仅靠最终答案无法揭示检索路径,必须记录每一步的决策链,包括查询、来源、拒绝原因等。这种记录如同飞行记录器,让用户和操作员能追溯答案的依据,从而建立信任。

检索内容应视为数据而非策略

文章指出,检索到的文档可能包含恶意指令,试图影响代理的行为。因此,必须将检索内容视为不可信的数据,而非可执行的策略。范围过滤和权限控制应通过工具代码和数据库强制实施,而非依赖模型提示。这能防止文档中的指令改变授权或策略,确保检索过程的安全性和可控性。

评估需覆盖检索决策而非仅最终答案

仅评估最终生成的文本无法全面衡量代理式RAG的决策质量。文章建议构建包含当前政策、租户隔离、冲突文档等场景的测试集,并分别评估检索和生成,如语料选择准确率、租户隔离违规率、引用覆盖率等。这有助于发现检索层的问题,如偏好过期文档或跨越租户边界,从而持续改进系统。

Q&A

什么是代理式RAG,它与传统RAG有何不同?

代理式RAG(Agentic RAG)是一种增强的检索增强生成方法,它通过一个代理(agent)来重写用户问题、选择数据源和搜索方式,可以结合词法、语义和图搜索,融合结果并重新排序。与传统RAG的固定流程(用户提问、系统检索、模型回答)相比,代理式RAG提供了更多控制,能覆盖更广泛的检索场景,但也引入了更多需要证据支持的决策点。

为什么在代理式RAG中需要记录决策链?

因为代理式RAG涉及多个决策点,如查询重写、数据源选择、过滤和结果评估,这些决策需要证据支持。记录决策链(包括查询、来源、拒绝原因等)可以建立信任,帮助理解答案的依据,并在出现问题时进行追溯和审计。

在代理式RAG中,如何确保引用的准确性?

确保引用准确性的方法包括:在生成过程中保留引用来源(source IDs),并验证每个声明是否得到所选来源的支持;如果声明没有来源,则删除或限定该声明;对于高风险声明,可以暂停回答以供人工审查。此外,应避免在答案生成后才附加引用,而应确保引用在生成时就被使用。

代理式RAG中如何处理范围过滤和权限控制?

范围过滤和权限控制应通过工具权限、查询过滤器和应用程序代码实现,而不是依赖模型指令。例如,客户数据必须限制在已验证的客户范围内,监管答案必须使用正确司法管辖区和生效日期的批准来源。数据库强制访问控制(如行级和列级策略)可以在数据库层面实施,确保未经授权或过期的记录被排除。

为什么检索到的内容应被视为数据而非策略?

因为检索到的文档可能包含恶意指令(如提示注入),试图改变代理的行为或权限。如果将这些内容视为策略,模型可能被误导而违反安全限制。因此,检索内容应仅作为数据使用,而权限和策略必须由应用程序控制,不能由文档内容改变。

如何评估代理式RAG系统的性能?

评估代理式RAG系统应使用专门的测试集,包括当前政策问题、多租户场景、冲突文档、嵌入指令的文档以及无法验证的请求。评估指标应分别针对检索和生成,如语料选择准确率、召回率、租户隔离违规率、引用覆盖率和声明支持准确率。此外,应在模型、索引或规则变更后运行回归测试,并将生产问题纳入评估集。

代理式RAG中如何处理冲突的文档或来源?

当两个批准的文档存在冲突时,代理不应默认选择最方便的段落,而应报告冲突并缩小答案范围,只包含两个来源都支持的内容。如果无法达成一致,应将请求发送给人工审查。此外,每个来源应有负责人,并在过期时退役。

Oracle AI Vector Search在代理式RAG中扮演什么角色?

Oracle AI Vector Search将向量嵌入与业务数据存储在一起,SQL查询可以结合相似性搜索、关系过滤和词法搜索。它允许在数据库层面实施访问控制,减少数据副本,使血缘关系更容易检查。但它不决定策略、检测冲突或证明引用支持声明,这些仍需检索策略和评估来完成。

🏷️

标签

➡️

继续阅读