快速结论:RAGFlow Agent 中的 Rewrite 组件把用户问题错误改写为固定的占位文本(如 “What is your question?”),优先检查组件的 Prompt 配置、`message_history_window_size` 参数以及是否误用了 Generate 组件的模板。
适用环境:RAGFlow 的 Agent 工作流(Canvas),涉及 Rewrite 与 Generate 组件;Issue 中未提供操作系统、Python、CUDA 或显卡的具体版本,也未提供 RAGFlow 版本号,因此不补写这些信息。
最快修复方案:暂无确认的一步修复方案。Issue 中未提供针对该错误输出已获得验证的修复方法;建议先按下方“解决步骤”逐一排查。
注意事项:下方所有方案均来自维护者或官方 Bot 的建议,属于“可能原因”和“可优先尝试”范围,未在 Issue 中被用户确认为已生效的修复。
问题场景
用户在 RAGFlow 的 Agent 工作流(Canvas)中配置了 Rewrite 组件,用于改写用户问题。即使发送的是完整且有意义的提问,Rewrite 组件的输出仍会被替换为固定的无意义占位文本,例如 “What is your question?”,导致后续检索或生成流程接收到错误输入。
报错原文
The rewrite component changes all the user query to "What is your question?" even when I send meaningful questions.
原因分析
根据 Issue 讨论链,可能原因包括:
1. Prompt 模板被覆盖或误用:Rewrite 组件可能沿用了 Generate 组件的默认模板,或模板中未正确引用用户输入变量,导致输出被固定文本填充。
2. 上下文窗口参数配置不当:若 `message_history_window_size` 设置为 0 或过小,组件可能无法获取到足够的对话历史,进而输出兜底文本。
3. 多轮优化开关异常:如果 `refine_multiturn` 选项未正确启用,或者组件内部逻辑判断当前问题“不完整”,可能触发默认改写行为。
4. 组件类型混淆:用户可能实际连接的是 Generate 组件而非 Rewrite 组件,或者组件配置中误用了 Generate 的提示词。
环境排查
- 确认 RAGFlow 版本是否为最新稳定版(Issue 未给出具体版本,建议对比官方 Release 更新)。
- 检查 Agent 工作流中 Rewrite 组件的配置:确认组件类型确实是 Rewrite,而非 Generate。
- 确认组件入参中是否正确绑定了用户查询字段(如
question或query)。 - 审视 Prompt 模板:是否包含除默认占位符以外的固定文本;模板是否引用了不存在的变量。
- 检查 Canvas 中当前节点的
message_history_window_size参数值(例如是否设置为 0)。
解决步骤
- 核对组件类型与模板:打开工作流,确认当前节点确实是 Rewrite 组件。检查其 Prompt 模板内容,确保模板中使用的是合法变量占位符(如
{question}),且没有硬编码的固定文本。 - 调整历史窗口大小:在组件配置中显式设置
message_history_window_size。例如设置为 1(仅取上一轮对话)或更大值(如 5),以便 Rewrite 组件能够读取到足够的对话上下文:history = self._canvas.get_history(self._param.message_history_window_size) - 启用多轮优化选项:在 Prompt 配置中开启
refine_multiturn(UI 中的“Multi-turn optimization”),或者通过 API 将refine_multiturn置为true,让 RAGFlow 自动使用对话历史完善不完整的问题。 - 使用 Generate 组件自定义改写逻辑(可优先尝试):如果 Rewrite 组件持续输出错误文本,可以改用 Generate 组件,并在其 Python 代码中自行获取上下文并重写问题。参考写法:
history = self._canvas.get_history(self._param.message_history_window_size) # 在 prompt 中结合 history 与当前 question 进行改写 - 重启并重测:修改配置后保存工作流,重新发起一次带明确意图的对话,观察 Rewrite 组件输出是否恢复正常。
验证方法
在 Agent 工作流的调试模式下,输入一句语义明确的问题(例如“帮我总结昨天的会议纪要”),观察 Rewrite 组件的输出。若输出不再出现固定的 “What is your question?” 占位文本,而是保留了原始问题或给出了经过改写后的合理问法,即视为修复生效。同时建议连续多轮对话验证,确认历史上下文能够被稳定读取。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[BUG]: Backend helper process crashes during agent sessions; ~830 MB leaked per agent exchange](https://www.chat-gpts.plus/wp-content/uploads/2026/08/6145-883c9b4e-768x403.jpg)

![[Question]: Is there a way to configure how particular extension should be parsed?](https://www.chat-gpts.plus/wp-content/uploads/2026/08/7984-5b787e60-768x403.jpg)