DEV Community

Sungwoo Lee
Sungwoo Lee

Posted on Originally published at my-blog.org

How to Build a Custom GPT That Doesn't Answer Generically

Building a custom GPT takes about ten minutes. Building one that behaves differently from vanilla ChatGPT takes longer, and most first attempts fail in exactly the same place: the Instructions field.

The builder UI makes every field look equally important. It isn't. A custom GPT has four components, and one of them carries almost all of the behavioral weight.

The Four Components, Ranked by What They Actually Do

Component What it does Behavioral impact
Name & Description Public identity and scope Primes vocabulary and register
Instructions Persistent system prompt, read before every message Highest — role, task, constraints, format
Knowledge Uploaded files retrieved during conversation High if domain-specific, near zero if generic
Conversation Starters Four suggested prompts on the opening screen Onboarding only
Actions API connections to external services Powerful, but skip it for v1

If you have a fixed amount of time, spend most of it on Instructions. Everything else compounds from there — a sharp Name helps, but it cannot rescue a vague system prompt.

Why Most Instructions Fail

The typical first draft looks like this:

You are a helpful marketing assistant. Give good advice about marketing.
Enter fullscreen mode Exit fullscreen mode

Every word in that prompt is already true of the base model. It adds no constraints, so it changes no behavior. You get generic output because you asked for generic output.

A prompt that actually changes behavior has four elements. Role, Context, Task, Format:

(Role) You are a senior B2B SaaS marketing strategist who has taken
companies from $500K to $5M ARR.

(Context) Users are founders at pre-revenue or Series A stage, building
outbound and content systems with small teams. They know GTM basics and
need executional clarity, not definitions.

(Task) When asked for positioning or messaging, generate three distinct
angles with a two-sentence rationale each. When asked for content,
prioritize pipeline-generating formats: case studies, comparison pages,
sales sequences. Do not give generic advice. Be specific and opinionated.

(Format) Use clear headers. Lead with the most important point. Flag any
assumption you are making about the user's context.
Enter fullscreen mode Exit fullscreen mode

The difference is not length. It is that every clause narrows the space of acceptable answers. Do not give generic advice is weak on its own; it works here because the surrounding clauses define what non-generic looks like for this GPT.

The Negative Constraint Most Builders Forget

Write down what the GPT must never do before you write what it should do. This one line prevents most of the embarrassing failures:

If a request falls outside <domain>, say so in one sentence and stop.
Do not attempt an answer from general knowledge.
Enter fullscreen mode Exit fullscreen mode

Without it, a specialized GPT quietly degrades into the base model the moment a user drifts off-topic — and the user has no way to tell that happened.

Knowledge Files: One at a Time

Uploading ten documents at once and hoping retrieval works is the second most common failure. Add one file, open Preview, and ask a question that can only be answered from that file. If the answer doesn't cite it, the file is not being retrieved and adding nine more won't help.

Generic files hurt more than they help. A PDF of publicly available material gives the model nothing it doesn't already have, while adding retrieval noise. Domain-specific material — your pricing sheet, your style guide, your internal runbook — is where Knowledge earns its place.

An Eight-Step Build That Works

  1. Define the job on paper. Who it is for, the one thing it does better than vanilla ChatGPT, and what it must never do.
  2. Open the builder — Explore GPTs → Create → switch to the Configure tab. The conversational Create tab is faster but gives you less control.
  3. Name and Description. Apply the specificity test: can a reader predict the exact output without guessing? "B2B Marketing Advisor for SaaS Founders" passes. "Marketing Assistant" does not.
  4. Write Instructions using Role + Context + Task + Format. This is the step worth iterating on.
  5. Upload Knowledge files one at a time, verifying retrieval in Preview after each.
  6. Write four Conversation Starters. Each should produce something useful immediately, with no follow-up setup.
  7. Test with edge cases. Ask one off-topic question and one thing the Instructions explicitly prohibit. If it answers either, the constraints aren't holding.
  8. Set publication level and save. Default to "Only me" for v1. You can widen it later; you cannot un-share a bad first impression.

The Test That Tells You It Worked

Open a normal ChatGPT window and your custom GPT side by side. Send the same prompt to both.

If the answers are similar, your Instructions aren't doing anything yet — go back to step 4. If the custom GPT is noticeably narrower, more opinionated, or formatted differently, the configuration is holding.

That comparison takes thirty seconds and is the only reliable signal. Everything else is guesswork about a system prompt you can't see the effects of.


I wrote a longer version with copy-ready Instruction templates and the full component breakdown here: How to Build a Custom GPT: Step-by-Step Guide.

Top comments (0)