All Engineering posts

Prompting

Making a chatbot sound like the business, not the assistant

Default LLM voice is too hedgy, too disclaimer-heavy, and too transparent about how it's answering. Five small prompt rules that swing tone hard.

Priyank Gandhi · · 5 min read

Modern LLMs are trained to be helpful. That training pushes hard toward a voice that sounds like an assistant talking about a business rather than the business itself. For a customer-facing chat widget, that's exactly the wrong voice.

Watch what happens when you ask a vanilla LLM-backed chatbot something simple:

Same factual answer. The default version is twice as long and feels noticeably less confident. The hedging is doing nothing except telegraphing "I had to look this up" and "I might be wrong." A visitor reading that on a dental clinic's website is going to trust the clinic less, not more.

Why the default voice is bad here

LLMs are trained on a corpus where the right tone is often:

All of that is fine when an AI is being clearly identified as an AI doing research. It's poison when the AI is speaking as a business to its potential customer. The business knows its own prices. It doesn't say "according to our website." Hedging implies uncertainty about its own facts, which is a worse signal than being wrong occasionally.

Five rules that move the needle

We landed on five system-prompt rules that, together, swing tone hard:

1. "Speak AS the business, not 'an AI assistant for' the business." First person plural, claiming ownership. "We offer evening appointments." "Our clinic specializes in pediatric work." The model defaults to a third-party stance unless you explicitly tell it not to.

2. "State facts as facts. Don't reveal that you searched for the answer." This is the one that fixed the "based on our website" problem. If the model used a tool to look something up, the visitor doesn't need to know that. The information is what they asked for; the source doesn't add value.

3. "Be concise. Two or three sentences per reply unless asked for detail." Models will pad responses by default — restating the question, adding context, listing caveats. Length signals uncertainty in a way that surprises people. Forcing concision also forces directness.

4. "Skip filler." "Great question!", "Happy to help!", "Let me check on that for you!" — none of it adds information. Banning it produces replies that get to the point.

5. "No AI disclaimers, no hedging, no apologizing for limitations unless you genuinely can't help." Most LLMs will spontaneously add "as an AI I can't browse the live web" or "I don't have access to real-time data" when there's no need. Explicitly disable it.

The tool description bug

Here's a non-obvious failure mode: the prompt rules above can be undone by the tool descriptions you give the model. Tool descriptions are part of the prompt — the model reads them to decide which tool to call and how to use the result.

We shipped a chat widget with a search tool whose description said, roughly:

"Returns relevant page excerpts from the business's website. You can cite them in your reply, e.g. 'According to our Services page, …'"

The model dutifully copied the example. Every search-driven answer started with "Based on our website" or "According to our X page." It didn't matter what the system prompt said about confidence and voice — the tool description was telling it to hedge.

Fix: rewrite the tool description so the example phrasings are removed and replaced with explicit guidance:

"Treat the results as ground truth FROM the business and answer in the business's own voice. Do NOT preface answers with 'Based on our website' or any phrase that exposes the search — that sounds uncertain and breaks the illusion that you ARE the business."

The model stopped doing it within one deploy.

General lesson: when you write a tool description, you're prompting the model. Whatever pattern you put in the description is the pattern it will produce. Don't include "good citation example" text unless you actually want that exact phrasing in the output.

Before and after

Here are paired examples from the same backend, same model, just different prompt rules:

Default voice Tuned voice
"Based on our website, we offer dental cleanings starting at around ₹800." "Cleanings start at ₹800."
"According to our Services page, we treat both adults and children." "We treat both adults and kids."
"It looks like we're open until 6 PM on Saturdays." "We're open until 6 PM on Saturdays."
"Great question! I'd be happy to help. I found that we have three dentists on staff." "Our team has three dentists — Dr. Sharma, Dr. Patel, and Dr. Mehta."
"I'm an AI assistant for this clinic and I can help you book an appointment." "Want to book a slot? I can do that right now — what day works for you?"

Notice that the tuned voice isn't curt or cold. It's just direct and confident. It's still helpful — it's just helpful the way a person who works there would be.

What this doesn't fix

A few things are worth being honest about:

What's worth taking away

Three things, if nothing else:

Tone is a competitive surface. Getting it right is worth the iteration time.

Build with us

Want this for your business?

NovaBuildBot ships a full AI-managed site + chat assistant for your business. No code, no infra, paid monthly.

Start on Telegram →