最近在搭一个基于企业内部文档的问答RAG,用的LangChain+OpenAI。现在困惑的点是:我把检索回来的chunk拼进prompt后,发现模型经常被一些“看似相关但其实是背景介绍”的段落带偏,回答不够聚焦。我试过在system里加“严格基于给定文本回答,不要联想”,效果有一点但不多;也试过在query端加一些意图改写,比如把口语问题转成几个关键词的检索式,召回是准了,但生成质量还是不稳定。想问下大家,在做RAG的prompt工程时,是应该把精力重点放在约束模型行为的system指令上,还是应该在query改写/压缩上做文章?有没有什么实践上的经验,比如怎么写system才能让模型更“克制”,或者有没有推荐的query改写模板?另外,如果检索回来的chunk顺序很乱,需不需要在prompt里做重排的说明?谢谢各位大佬。