diff --git a/src/main/java/com/wok/supportbot/app/ChatPipeline.java b/src/main/java/com/wok/supportbot/app/ChatPipeline.java
index cfdca77..9c7b792 100644
--- a/src/main/java/com/wok/supportbot/app/ChatPipeline.java
+++ b/src/main/java/com/wok/supportbot/app/ChatPipeline.java
@@ -66,7 +66,7 @@ public class ChatPipeline {
*
未启用 RAG(普通对话 / 严格隔离下 KB 拒绝)→ 用原始 message、基础 system
* 寒暄/闲聊(IntentRouter 或寒暄词命中)→ 同上,跳过 KB 检索
* FAQ 命中 → 直接返回标准答案,不调用 ChatClient
- * RAG 生成 → 资料块注入 system,重写后查询作为 user 消息
+ * RAG 生成 → 资料块注入 system,原始 message 作为 user 消息(重写查询仅用于检索)
*
*
* @param ctx 对话上下文
@@ -128,9 +128,9 @@ public class ChatPipeline {
globalPrompt, null, null, "FAQ", null, null, rag.faqMatchResult());
}
- // RAG 生成:资料块注入 system,重写后查询作为 user 消息
+ // RAG 生成:资料块注入 system,原始 message 作为 user 消息(重写查询仅用于检索)
String finalSystem = baseSystem + ragPipeline.buildRagContextBlock(rag.contextText());
- return new ChatRequest(ctx, rag.rewrittenQuery(), finalSystem, Optional.empty(),
+ return new ChatRequest(ctx, ctx.message(), finalSystem, Optional.empty(),
globalPrompt, rag.contextText(), rag.documents() != null ? rag.documents().size() : 0, "RAG",
rag.searchMode(), rag.documents(), null);
}
diff --git a/src/main/java/com/wok/supportbot/app/ChatRequest.java b/src/main/java/com/wok/supportbot/app/ChatRequest.java
index 14b3610..c83287e 100644
--- a/src/main/java/com/wok/supportbot/app/ChatRequest.java
+++ b/src/main/java/com/wok/supportbot/app/ChatRequest.java
@@ -15,7 +15,7 @@ import java.util.Optional;
* 字段含义:
*
* - {@link #faqAnswer()}:FAQ 命中时直接返回标准答案,跳过 ChatClient 调用
- * - {@link #finalMessage()}:传给模型的用户消息(RAG 场景为重写后的查询,否则为原始 message)
+ * - {@link #finalMessage()}:传给模型的用户消息(始终为原始 message,查询重写仅用于检索)
* - {@link #finalSystemPrompt()}:传给模型的系统提示词(角色人设 + RAG 资料块),可为空
* - {@link #globalPrompt()}:全局提示词快照(来自 system_config.ai_system_prompt),可为空
* - {@link #ragContextText()}:RAG 资料块文本(未注入时为空/null)
diff --git a/src/main/java/com/wok/supportbot/rag/RagContext.java b/src/main/java/com/wok/supportbot/rag/RagContext.java
index 5a982a2..c651287 100644
--- a/src/main/java/com/wok/supportbot/rag/RagContext.java
+++ b/src/main/java/com/wok/supportbot/rag/RagContext.java
@@ -13,13 +13,13 @@ import java.util.Optional;
*
* - {@link #faqAnswer()} 命中 → 直接返回标准答案,跳过生成
* - 未命中 → 用 {@link #documents()} 展示引用来源,用 {@link #contextText()} 注入系统提示词,
- * 用 {@link #rewrittenQuery()} 作为传给模型的用户消息
+ * {@link #rewrittenQuery()} 仅用于检索,不作为传给模型的用户消息
*
*
* @param faqAnswer FAQ 命中的标准答案;未命中为 {@link Optional#empty()}
* @param documents 检索命中的知识库片段(含 metadata),可为空
* @param contextText 拼接后的资料文本(用 {@code "\n\n---\n\n"} 分隔);无资料时为空串
- * @param rewrittenQuery 传给模型的用户消息:MULTI_QUERY 为原始 message,其余策略为重写后的查询
+ * @param rewrittenQuery 检索用的改写查询(MULTI_QUERY 为原始 message,其余策略为重写后的查询),仅用于检索,不作为用户消息
* @param searchMode 真实检索模式(VECTOR / KEYWORD / HYBRID),当前主管道固定为 VECTOR
* @param faqMatchResult FAQ 命中详情(含 matchType/score);未命中为 null
*/