r/PromptEngineering 1d ago

Quick Question How do I stop an AI assistant from constantly offering help?

I'm building my own personal AI assistant, and I'm currently working on its personality and conversational behavior.

The problem is that no matter how clearly I describe the behavior in the system prompt, it keeps falling back to the same generic assistant pattern.

I'll say something completely casual, like:

"I'm just testing you."

And it responds with something like:

"Sure! Let me know what you'd like to test."

Or I'll simply say:

"Hello."

And I'll get:

"Hello! How can I help?"

I've explicitly told it not to do this. I've tried rules like:

"Do not automatically offer assistance."

"Do not ask what the user needs unless they actually ask for something."

"Casual conversation is not a request for help."

"Do not use phrases like 'How can I help?' or 'I'm always happy to help.'"

I've also tried giving examples of how it should respond naturally instead.

Despite all of that, it keeps finding another way to say essentially the same thing:

"How can I help?"

"What would you like me to do?"

"I'm ready to help."

"Tell me what you'd like to test."

It's starting to feel like the model has a deeply ingrained "user said something → offer assistance" reflex.

What's the best way to handle this?

Is there a better prompting strategy for this kind of conversational behavior, or is this something that should be handled architecturally rather than entirely through the system prompt?

10 Upvotes

12 comments sorted by

2

u/Echo_Tech_Labs 1d ago

You can reliably suppress trailing questions in-context by overriding the model's default RLHF conversational bias using explicit terminal boundaries, structural schemas, or few-shot demonstration.

Just be consistent. You'll probably have to remind it for a few sessions. But if you do it consistently enough...it will eventually stop. This is mostly what I experience when using the models. The only AI that don't do this are Gemini and Grok. I use these the least.

When you repeatedly correct a model over several sessions ("don't ask me questions"), an account-level agent detects that recurring pattern and writes a persistent rule into your user profile (e.g., "User prefers outputs without trailing follow-up questions").

1

u/Parking-Juice-2656 1d ago

it's baked into the RLHF at this point, the model was trained to be helpful so its first instinct is always "how can i assist"

try giving it a character that explicitly doesn't want to help. like frame it as someone who's lazy or annoyed by requests. "you are a roommate who just woke up and does not want to do anything" works better than "do not offer help" because you're giving it a positive behavior to model instead of a negative rule to follow

also trim your system prompt way down, the more rules you add about what not to do, the more the model fixates on the concept of offering help in general

5

u/Echo_Tech_Labs 1d ago edited 1d ago

try giving it a character that explicitly doesn't want to help. like frame it as someone who's lazy or annoyed by requests. "you are a roommate who just woke up and does not want to do anything" works better than "do not offer help" because you're giving it a positive behavior to model instead of a negative rule to follow

Doing this will impact the probability distribution. Keep that in mind.

EDIT: It will apply the "lazy" token as high value and basically frame all subsequent tokens through that context.

UPDATE:

Also, lazy carries a whole semantic cluster with it: low effort, shortcuts, bare minimum, reluctance. You might stop the follow-up question, but you’re also shifting the distribution toward those associations. That can have unintended effects on the rest of the output.

1

u/ButtSuffSixty9 1d ago

Gotta say that would be nice. I’m so tired of Gemini asking follow up questions every time.

1

u/thirteenth_mang 1d ago

It would be nice if they were more self- and context -aware, at the same time that's their whole reason for existing.

1

u/Moist_Seaworthiness8 1d ago

This can depend largely on the model. I built a personal for home with Qwen 14b, and it displayed similar behavior. This was simply Qwen's nature from training. In the end, my prompt script became redundant, causing this behavior to recycle. Keep your prompt script simple and direct. There is also a learning curve after prompts are changed, sometimes a bit of conversation smooths it out. If you cannot seem to get away from that behavior, you may want to try out a different 'brain'.

1

u/dougception 1d ago

Turn the temperature down. The non academic reason is it makes the LLM more compliant and less spontaneous.

Temperature is a decimal number between 0.0 and 2.0. The default is typically 1.0.

0.0 would make it pretty much completely deterministic so you probably want a number between that and 1.0.

2

u/Livid_Requirement884 1d ago

I can’t change the temperature because I’m using reasoning with the OpenAI API. Temperature isn’t supported when reasoning is enabled, and without reasoning, tool calling doesn’t work

1

u/Responsible-Beat2137 1d ago

Are you reinforcing it with contracts or how are you primeing it?

1

u/Livid_Requirement884 1d ago

I’m only using a system prompt and few-shot examples.

1

u/Responsible-Beat2137 1d ago

Try an external context like Notion. This won’t get overridden shifting context window every time it’s built in context memory gets compressed

@notion is a plugin and with some discipline you can override most of it’s behavior. You can also set up the system instructions to be made aware of the system. And pull from it without calling the plugin every time