ARCH-002知识与搜索更新于 2026-06-21 · 版本 1.0
企业知识助手
内部知识助手的参考架构,该助手可根据公司自身的文档(Wiki、政策、工单、代码)回答员工的问题,并提供引用出处,同时遵循每个用户的访问权限。它结合了用于 Grounding 的混合检索与重排、用于保障安全的权限感知过滤,以及一个评估系统(evaluation harness),从而使回答质量能够被量化评估而非凭空假设。难点不在于模型,而在于检索质量、访问控制和评估。
证据: 行业观察置信度: 高来源: 行业观察来源: 论文
关键概念
- 权限感知检索:用户只能检索到其有权查看的文档。
- 混合搜索 + 重排:结合关键字搜索与向量搜索,然后进行重排以提高精度。
- 引用出处:每个回答都链接回其源段落以供验证。
- 评估:持续对照精选测试集对回答质量进行评分。
定义
企业知识助手架构是一种具备权限感知能力的 RAG 系统,它能根据内部文档回答员工的问题并提供引用出处,其范围限定于每个用户的访问权限内,并对回答质量进行持续评估。
架构
来自多个内部源的内容被摄取、分块(chunked)并嵌入到向量数据库中,每个分块都标记有其源文档的访问控制元数据。在查询时,助手会路由问题,运行过滤了用户权限的混合检索(关键字 + 向量),对候选结果进行重排,并根据排名靠前的段落合成带有引用出处的回答。
安全是结构性的,而非事后修补:访问控制过滤器在检索期间应用,因此模型根本不会接触到用户无权访问的文档。语义缓存以极低的成本响应重复问题,而安全护栏则确保回答符合政策并标记低置信度的案例。
质量由度量主导:评估系统(evaluation harness)对照精选测试集对回答的真实性(groundedness)、正确性和引用准确性进行评分,可选的“评估器-优化器”循环会在弱回答到达用户之前对其进行修正。可观测性会追踪每一次查询,以便诊断故障并反馈到评估中。
请求流程
- 1. 摄取(离线):对文档进行分块和嵌入;用访问控制元数据标记每个分块。
- 2. 路由:对问题进行分类并选择检索策略。
- 3. 检索:运行过滤了用户权限的混合搜索(首先检查缓存)。
- 4. 重排:重新排列候选结果以提高精度;保留排名靠前的段落。
- 5. 合成:生成带有引用出处的回答;可选地通过评估器循环进行修正。
- 6. 返回与记录:交付带有引用出处的回答;进行追踪并评分以供评估。
组件
摄取与分块流水线嵌入 + 向量数据库权限感知检索过滤器混合搜索与重排器带有引用出处的回答合成语义缓存评估系统与可观测性
参考场景
- 上下文
- 一个针对公司 Wiki、HR 和 IT 政策以及工程文档的示例性内部助手。
- 场景
- 员工提出自然语言问题(如“如何报销差旅费?”、“我们的值班政策是什么?”);助手在回答时提供引用出处,绝不呈现提问者无权访问的文档,并在检索效果不佳时回答“我不知道”,而不是凭空猜测。
- 技术
- 摄取流水线、带有 ACL 元数据的嵌入 + 向量数据库、混合检索与重排、评估系统以及查询追踪。
- 负载
- 稳定的内部流量且查询重合度高(少数几项政策占了大部分问题),因此缓存命中率高,而嵌入占了离线成本的大部分。
- 结果
- 参考目标:提供有真实依据、有引用出处的回答,无访问控制泄露,且具备可度量的真实性(groundedness)评分(该评分会随着检索的微调而提高)。请将所有数据视为在您自己的语料库上需要度量的指标,而非保证值。
优势
- 将零散的内部知识转化为即时、有引用出处的回答。
- 权限感知检索从架构设计上防止了访问控制泄露。
- 引用出处使回答可验证,从而建立用户信任。
- 评估系统使质量可度量,并使改进效果显而易见。
风险
- 如果在检索时未强制执行权限控制,会导致访问控制泄露。
- 当文档语料库的变化速度快于重新索引的速度时,会导致回答过时。
- 当检索效果不佳且模型自行填补空白时,会导致言之凿凿的幻觉。
- 糟糕的分块会导致语义碎片化并降低检索质量。
KPI
- 真实性(Groundedness)
- 完全由引用段落支持的回答比例;这是 RAG 助手的核心质量指标。
- 检索召回率 recall@k
- 正确段落出现在前 k 个检索结果中的频率;大多数回答错误都可以追溯到这一点。
- 访问控制泄露率
- 任何呈现了用户无权访问文档的回答——该指标必须保持为零。
- 缓存命中率与单次查询成本
- 重复问题的覆盖率和单位成本;高重合度应该会让大多数查询变得非常便宜。
- 弃权质量
- 在检索效果不佳时,助手正确回答“我不知道”而不是产生幻觉的频率。
成本与扩展
- 离线嵌入和索引占了摄取成本的大部分,并随着语料库规模和更新频率的增加而增长。
- 查询时的成本主要是检索 + 生成;重排会增加延迟,这是为了换取精度而做出的权衡。
- 随着查询重合度的提高,缓存会平抑成本,因此单位成本会随着采用率的增加而下降。
- 重新索引的节奏是真正的扩展张力所在:更新鲜的回答需要消耗更多的计算资源。
已观测到的失效模式
- 权限绕过:分块继承了错误的 ACL,并出现在用户的检索结果中。
- 检索遗漏:正确的文档存在,但分块或嵌入未能匹配到它。
- 过时:由于重新索引滞后,回答引用了已被取代的政策。
- 引用偏差:引用的段落实际上并不支持生成的陈述。
经验教训
- 在检索内部强制执行访问控制,而不是在生成之后——在 Prompt 中进行过滤为时已晚。
- 大多数质量提升来自于检索(分块、混合搜索、重排),而不是来自于更大的模型。
- 将“我不知道”作为首要的回答选项;言之凿凿的错误回答比弃权不答更糟糕。
- 在规模化之前建立评估机制;没有它,每一次改动都只是猜测。
技术
RAG (retrieval-augmented generation)Embeddings + vector storeHybrid search & rerankingDocument-level access controlEvaluation harnessObservability (LangSmith / Langfuse)
示例
- 员工询问差旅报销政策,并获得有引用出处的最新回答。
- 针对受限项目的提问,对未授权用户正确地不返回任何内容。
- 检索效果不佳的查询,回答为“我没有可靠的来源来回答该问题”,而不是凭空猜测。
常见问题
- 这不就是 RAG 吗?
- RAG 是核心,但该架构的定义特征在于使其具备企业级安全性的要素:权限感知检索、引用出处、评估系统和可观测性。正是这些部分决定了它是否值得信赖。
- 为什么要在检索期间强制执行权限控制?
- 这样模型就永远不会接触到用户无权访问的文档。在生成之后进行过滤为时已晚——内容可能已经泄露到回答中了。
- 如何防止回答产生幻觉?
- 将每个回答都基于检索到的段落并附带引用,对照评估集衡量其真实性(groundedness),并在检索结果较弱时让助手选择弃权,而不是凭空填充。