背景

我要做一个"论文研读 Agent":把一堆 PDF 论文喂进知识库,然后能针对这些论文做问答、提炼方法、对比结论。听上去就是个标准 RAG,但真正做下来,前两版几乎不能用——它还是会瞎编

这篇把我踩的坑和最后治住幻觉的几个关键改动记下来,给同样在搭知识库 Agent 的人省点时间。

第一版:直接挂知识库,结果它"自信地胡说"

我在讯飞星辰里建了知识库,把论文传进去,配了个 Agent 直接问。现象很典型:

• 问某篇论文用了什么方法,它能答,但掺进了论文里根本没有的内容

• 追问出处,它编一个看着很像的段落。

这就是 RAG 幻觉的经典表现:召回不准 + 模型用"先验知识"补了它没检索到的部分

治法一:把"无依据就拒答"写进设定

最有效的一招,是从提示词层面堵死它自由发挥的口子

你是论文研读助手,只能依据检索到的知识库片段回答。

规则:

1. 回答前先在脑中核对:答案的每一句是否都有检索片段支撑。

2. 没有支撑的内容,一律不许写,改为回答"知识库中未检索到相关内容"。

3. 每个关键结论后标注它来自哪篇/哪段,便于溯源。

加上第 2、3 条之后,瞎编明显收敛——逼它"宁可不答也不编",并把溯源摆出来让我能核

治法二:召回不准,要从"切片"下手

幻觉的另一半根因是检索没召回到对的片段。我调整了两点:

1 切片粒度:论文整篇当一块,召回的是无关大段。按段落/小节切,召回精度立刻提升。

2 问法对齐:用户问得太口语,和论文术语对不上,召回就偏。我在工作流里加了一步"先把用户问题改写成更接近论文表述的检索 query",再去检索。

这步用工作流编排很自然:改写query → 检索 → 带约束作答。

治法三:用测评把"玄学"变成"有数"

最关键的心态转变:不要靠"感觉它好像变好了"来判断。我在星辰的效果测评里攒了一批问题+标准答案,每改一版就跑一遍,看:

• 该拒答的有没有拒答(防幻觉);

• 该答对的召回到没有(防漏召回)。

有了这组数据,调优才是在"改进",而不是在"碰运气"。

两个仍然存在的真实局限

1 测评用例得自己攒,且很费时。 平台给工具,但"标准答案"得我一条条造。这是 RAG 项目逃不掉的脏活。

2 跨论文的对比类问题仍偏弱。 单篇问答已经很稳,但"对比 A、B 两篇方法的异同"这种需要同时召回多源再综合的,偶尔还是会顾此失彼,需要把问题拆细了问。

小结

RAG 不瞎编的关键,从来不是换个更大的模型,而是约束作答 + 改进召回 + 用测评闭环验证这三件事一起做。讯飞星辰把知识库、工作流、效果测评放在一个平台里,这条闭环跑起来比东拼西凑顺不少。

点击此处快速上手!!!!!!

Logo

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

更多推荐