最近在做一个人事政策问答的RAG,检索用的bge-m3,chunk切得也不大。一开始我按照网上教程把prompt写得特别详细,什么“仅基于以下内容作答”“如果信息不足请明确说明”之类全堆上去了,结果测试的时候发现经常答非所问,甚至漏掉检索到的关键信息。后来我随手把prompt简化成“根据资料回答”,准确率反而上来了。有点懵,难道RAG里prompt不是越约束越好?还是说我的写法有问题,比如指令顺序或者语气不对?想请教下大家在RAG场景里写prompt一般控制到什么程度,有没有什么经验或者踩坑的?
楼主
2026-08-01
RAG里Prompt写得太细反而效果变差,大家有这种情况吗?
请 登录 后发表回复
全部回复
共 121 条
2楼
13天前
这个现象我也遇到过,而且我觉得不完全是错觉。RAG的prompt和纯LLM对话不太一样,检索回来的chunk本身就已经是“上下文”了,你再堆一堆强约束,模型反而容易把注意力分散到“我该怎么遵守这些规则”上,而不是去理解资料本身。尤其是“仅基于以下内容作答”这种,模型有时候会变得过度保守,明明资料里有答案,它却因为不确定是否“完全匹配”而绕开。你简化成“根据资料回答”之后,约束少了,模型反而更自然地去读检索结果,这其实挺合理的。我现在写RAG prompt一般只保留两三条最核心的:角色、任务、输出格式,其他都交给检索质量去兜底。另外指令顺序确实有影响,把“根据资料”放前面比放后面效果好,可能和模型的注意力分配有关。还有个坑是语气太强硬容易让模型进入“防御模式”,回答变得干巴巴的,适当温和一点反而更稳。