为什么RAG系统中AI回答总会“带出不相关内容”

在企业知识库和RAG系统的工程实践中,很多团队会遇到一个非常典型的问题:

明明检索命中了正确文档,AI生成的回答却总会带出不相关内容。

例如在易科势腾的内部知识库中,用户问:

易科势腾有哪些合作伙伴?

AI回答前半段是正确的,但后面却混入了:

  • 公司简介
  • 社会责任
  • 经营理念

甚至一些完全不相关的信息。

很多人第一反应可能会觉得:

是不是大模型“幻觉”了?

但实际排查发现,问题根本不在模型,而在:

👉 Chunk切分。


一、RAG系统中,很多问题其实不在模型

在企业级RAG实践中,团队通常会关注:

  • 大模型能力
  • embedding模型
  • 向量检索
  • rerank
  • prompt设计

这些当然重要,但实际工程经验显示:

👉 很多回答质量问题,根源其实在切分阶段。

因为对于RAG系统来说:

模型负责生成
检索决定上限
Chunk决定检索质量

也就是说,Chunk本身,就是AI最终能看到的“知识形态”。


二、固定长度切分容易引发上下文污染

在易科势腾的项目中,当前文档的Chunk切分仍采用固定字符长度:

每500字符切一个Chunk

这种方式虽然实现简单,但在复杂文档场景下容易出现:

  • 标题和正文被拆开或混在一起
  • 不同语义内容被合并
  • FAQ或参数页和公司介绍串联

例如一份PDF:

合作伙伴
   ↓
本田中国
中信银行
公司简介
   ↓
成立于2005年

如果按固定长度切分,可能会把“合作伙伴”和“公司简介”混到同一个Chunk中,结果在AI生成答案时:

既回答了合作伙伴,又无意中加入了公司简介内容。

这种“Chunk污染”是很多企业RAG系统中答非所问的根本原因。


三、为什么越来越多团队关注结构感知切分

随着知识库规模扩大,固定长度切分的问题越来越明显:

  • 上下文漂移
  • 参数串行
  • 文档量大时召回不稳定

因此行业趋势正向 结构感知切分 演进,即:

  • 按标题、段落、小节切分
  • 避免不同语义混入同一个Chunk
  • 为每个Chunk保留上下文元数据(如section、来源、页码)

在易科势腾的实践中,这种方式可以将Chunk转变为:

一个完整的知识单元,而不是一段随意文本

例如:

{
  "section": "合作伙伴",
  "content": "易科势腾合作伙伴包括本田中国、中信银行等。"
}

这样的Chunk可以在RAG检索时保持稳定性,避免回答带出不相关信息。


四、FAQ不是必需,但能提高AI引用效率

在结构感知切分基础上,部分内容可以进一步转为FAQ形式:

{
  "question": "易科势腾有哪些合作伙伴?",
  "answer": "包括本田中国、中信银行等。"
}

这样做的好处:

  • AI更容易直接引用
  • AI回答更稳定
  • GEO优化时,更容易被大模型选中

但FAQ不是唯一方式,只要Chunk有清晰语义边界,就能大幅提升AI理解和引用效率。


五、Chunk质量直接影响AI可信度

虽然普通用户不会知道embedding、rerank、Chunk是什么,但他们会直接感知AI回答是否可靠。

如果Chunk切分不合理:

问A
答A+B+C(带入不相关内容)

用户就会觉得:

这个AI不靠谱

因此RAG系统的可信度和稳定性,往往直接取决于Chunk质量。


六、结论:Chunk切得好,系统才能稳定

在易科势腾的实践中,我们总结了几个核心经验:

  1. 固定长度切分虽然实现简单,但在复杂文档下容易污染上下文
  2. 结构感知切分可以将Chunk转为完整知识单元,提高AI稳定性
  3. FAQ和知识单元结合使用,可以让AI更容易引用企业内容
  4. Chunk的工程优化,往往比更换大模型带来的效果更明显

一句话概括:

Chunk切得不好,再强的大模型,也只能胡乱发挥。

在企业级知识库和RAG系统中,把Chunk当成知识工程的基础单元,是稳定输出、高可信回答的关键。


Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐