[Question]: Agent response only has thinking chain with gray color and no formal answer output.
Self Checks
- [x] I have searched for existing issues search for existing issues, including closed ones.
- [x] I confirm that I am using English to submit this report (Language Policy).
- [x] Non-english title submitions will be closed directly ( 非英文标题的提交将会被直接关闭 ) (Language Policy).
- [x] Please do not modify this template :) and fill in all the required fields.
Describe your problem
See the below picture - try run the agent from the agent template "Multi-Agent Customer Support" and got the answer only with the LLM thinking chain in gray color and there is No formal answer output in the red circle in the below picture.
This issue is usually caused by the agent workflow not producing a step of type "final" (the formal answer), or by a misconfiguration in the agent template or prompt that prevents the final answer from being generated or displayed. In RAGFlow, the gray "thinking chain" shows the agent's reasoning steps, but the formal answer requires a specific output type and correct data flow in the template. Common causes include: missing or misconfigured "Answer" or "Interact" components, prompt templates that don't instruct the LLM to output a final answer, or frontend logic that doesn't recognize the output as a formal answer.
Check your agent template to ensure it includes a component that produces a "final" answer, and verify that your prompt and workflow connect all necessary steps to reach that output. Also, make sure your model outputs are formatted as expected by the frontend (for example, with required tags or fields) and that your workflow doesn't end prematurely after intermediate steps. For more details and similar troubleshooting, see this discussion and this explanation.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
@dosu
There is the "message" module names as Response in the agent that is the "final" module, right?
Add the json file of my agent, please help review it and tell me how to modify to produce the final answer, thanks.
Multi-Agent Customer Support.json
One more question - why did the sub-agent setting page not has the "User prompt" field and only has the "System prompt" field? Does the sub-agent not need the variable for input query explicitly?
The "message" module (even if named "Response") only acts as the final answer if it's the last step in your workflow—its name doesn't matter, just its position and type. Make sure your workflow connects all logic to this module as the endpoint; otherwise, you'll only see the reasoning chain and not a formal answer. If you share your agent JSON, I can check the connections and content setup for you.
For sub-agents, the UI only shows a "System prompt" field by design. Sub-agents get their input from upstream workflow variables or context, not directly from a user prompt. This keeps the workflow modular and avoids UI clutter. If a sub-agent needs the user's query, you should ensure the main agent or workflow passes it along via variables or includes it in the system prompt. This is a current limitation—explicit variable mapping in sub-agent prompts isn't supported yet (source).
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
@dosu
Attach my agent JSON for your review and tell me how to resolve the issue - no final answer for each user query.
Your agent JSON is structurally correct: the "Response" message module is the final node and is set to output {Agent:RottenRiversDo@content}—the result from your main "Customer Server Agent". This agent classifies the query and either replies directly (for "contact") or forwards to a sub-agent ("casual", "complain", "product") and returns their answer as its own content output. The message module then displays this as the formal answer in the UI reference.
If you only see the gray thinking chain and no formal answer, it's likely that the workflow isn't reaching or executing the message module, or the content output is empty due to a misconfiguration in the main agent or sub-agents. Double-check that:
- The "Customer Server Agent" always sets its
contentoutput for every query path (including when sub-agents are called). - Each sub-agent produces a valid
contentoutput for its category. - No workflow edges are missing or broken between the main agent, sub-agents, and the message module.
If you edited the template, make sure you didn't accidentally break the output propagation or change output names. Sticking to the original template logic should always produce a formal answer reference.
About the sub-agent UI: sub-agents get their input from upstream context (like {sys.query}), not directly from a "User prompt" field. This is by design—inputs are routed via the main agent and its variable context reference.
If you want a diagram of the workflow, let me know!
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
@dosu
Help me review the below picture for the Agent log after the first query "hello" and the current output only has the thinking chain without the final answer. You can focus on the contents marked by the red-line which are not in my customized system prompt (attach my customized system prom at the end of this page. So where is the source of the red-line content?
By the way, if LLM=Qwen3-30B-Instruct, that agent can get the final answer. For the above issue, the LLM=Qwen3-30B-Thinking.
The red-line content in your agent log (like “Respond with a formal answer. FORGET(DO NOT mention) about COMPLETE_TASK...”) isn’t from your custom system prompt—it’s injected by RAGFlow’s agent logic. This is hardcoded in the agent workflow to force the LLM to produce a final answer after reasoning steps, and it appears in the logs for transparency and debugging purposes. You’ll see this in any agent using the standard agent_with_tools pipeline, regardless of your own prompt settings. Reference
As for why Qwen3-30B-Instruct gives a final answer but Qwen3-30B-Thinking only shows the thinking chain: both models get the same workflow and prompt injections, but Qwen3-30B-Thinking often ignores the injected instruction and only returns its reasoning chain, not a formal answer. This is a difference in how the models respond to the same prompt, not a RAGFlow config or workflow bug. Reference
If you want a final answer with Qwen3-30B-Thinking, you may need to adjust your prompt or try a different model, since the agent logic already injects the necessary instructions.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
@dosu
I created the agent with the template as the below picture with red circle and only change the LLM (=Qwen3-30B-Thinking) and database setting and keep all the default prompt in the Agent template unchanged. But still get the thinking chain without final answer.
I doubt the hard code "FORGET(DO NOT mention) about COMPLETE_TASK...” should be changed to "Don't FORGET about COMPLETE_TASK...” ?
The hardcoded instruction "FORGET(DO NOT mention) about COMPLETE_TASK" is intentional and should not be changed to "Don't FORGET about COMPLETE_TASK". Its purpose is to tell the LLM to produce a clean, formal answer and suppress internal workflow markers like COMPLETE_TASK in the final output. Changing it would break the logic and likely prevent a proper final answer from being generated (source).
The issue with Qwen3-30B-Thinking only showing the reasoning chain (and not a formal answer) is due to how that model responds to injected instructions. Qwen3-30B-Instruct follows the prompt and produces a final answer, but Qwen3-30B-Thinking often ignores the instruction and just outputs its reasoning steps (source). This is a model-specific behavior, not a bug in the agent workflow or prompt logic.
If you need a formal answer, try adjusting your prompt to be even more explicit, or use Qwen3-30B-Instruct or another model that reliably follows the injected instructions.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
Same prompt and setting for all module of the agent:
- only change LLM to Qwen3-30B-Thinking that will not output the final answer and only output the thinking chain. ---- this is an issue.
- only change LLM to Qwen3-30B-Instruct that will output the final answer successfully.
It's difficult to conclude that the system prompts can solve the issue.
@Magicbook1108
For V0.22.1 agent, if I select Qwen3-30B-Thinking, still cannot get the final answer and only get the chain of thinking; if I select Qwen3-30B-Instruct and keep all other setting unchanged, I can get the final answer. Is this a bug or operation issue?
I want to use thinking model, how to get the final answer if I select thinking LLM?
which model provider?
Xinference latest version 14
Have you considered exploring models like Ollama or SiliconFlow to see if you could reproduce this issue. I am having trouble to retrieve an API key from Xinference.