最近在做个人知识库的RAG,用的bge-m3+faiss,chunk大概200字带50字overlap。现在的问题是:查一个具体操作步骤(比如“如何配置nginx的gzip”),召回的前20个片段里总混进大量“背景介绍”或“参数列表”之类的泛泛内容,真正讲步骤的片段排得很靠后。我试过调top_k、加rerank(用的bge-reranker-base),效果有提升但没质变。怀疑是不是分块粒度不够语义化,还是说embedding对“指令型/步骤型”文本本身就不敏感?另外,要不要考虑在召回前先做query意图改写?求有经验的朋友指点下排查思路。