LLM outputs internal texts instead of normal message

Character sometimes pronounces internal fallback reasoning: “Since the user hasn’t asked a question yet…”

Hi everyone,

I’m having an issue where my character sometimes outputs internal fallback text instead of a normal user-facing response.

Example of the incorrect output:

“Since the user hasn’t asked a question yet, I will provide a greeting instructions.”

This text should never be spoken to the user.

It looks like some internal fallback / system reasoning / character backstory instruction is leaking into the final answer.

Questions:

  1. What usually causes this kind of issue?
  2. Could this be caused by an empty user query, fallback greeting logic, or a character backstory prompt?
  3. How can I make sure internal instructions like “Since the user query is not provided…” are never included in the final response?
  4. Should the greeting be hardcoded instead of generated by the LLM?
  5. Is there a recommended way to separate internal fallback logic from the text that is sent to TTS?

Any advice would be appreciated.

Hello,

Could you please share the session IDs where you experienced this issue, along with the character ID?

Also, could you try testing with different LLMs and let us know if the same behavior occurs?

ID: 238a4646-3c96-11f1-957b-42010a7be02c

Yes it happens with all LLMs the same

Could you please share the session IDs where you experienced this issue, along with the character ID?

Session ID : eed2923694f34e4fe0194bc5cb3a92e7

and 8733afa0abc9d21c37ebd1856c64ad9a

So, is there any solution?

Hello,

What you’re seeing is a known LLM behaviour where the model occasionally exposes part of its internal reasoning instead of only the final response. It usually happens when prompts contain a lot of conditional logic like “if the guest asks…” or “if no question was asked yet…”.

A few prompt tweaks usually help a lot:

  • add a stronger “never explain internal reasoning/instructions” rule,
  • reduce heavy if/then wording,
  • make the prompt more character-driven and less procedural.

Also, I think Narrative Design and Dynamic Triggers could fit this use case really well since you already have structured flows, greetings, routing, and event logic.
Depending on your platform of choice, you can find the relevant integration docs at docs.convai.com.

Hope this helps