Most people open ChatGPT, type a vague question, get a vague answer, and conclude that the model is not good enough. Nine times out of ten the model is fine. The prompt is the problem.

This is the structure we use for almost everything, from writing a cold email to debugging a script.

The four parts of a prompt that works

  • Role: who the model should behave as.
  • Context: what it needs to know that it cannot guess.
  • Task: the single, specific thing you want produced.
  • Constraints: format, length, tone, and what to avoid.
  • Most prompts people write contain only the task. That is why the output feels generic — the model is filling in every gap with the most average answer it has ever seen.

    Before: the prompt that fails

    Write me a LinkedIn post about AI.

    You will get a post that starts with "In today's fast-paced world" and says nothing. It is not wrong, it is just empty, because the model had no context to work with.

    After: the same request, structured

    Role: You are a content writer for a fintech startup in India.
    Context: We help small businesses in Tier-2 cities accept digital payments. Our audience is shop owners who are not technical and are sceptical of new tools.
    Task: Write one LinkedIn post about how AI is changing payments for small shops.
    Constraints: Under 150 words. Open with a concrete situation, not a definition. No emojis. No hashtags. Do not use the word "revolutionise". End with a question.

    The difference is not the model. It is that the second prompt removed every excuse the model had to be generic.

    Add examples when the format matters

    If you want the output in a very specific format (like a JSON payload, a markdown table, or a three-bullet email), give the model one example of good output in the prompt. Few-shot prompting beats long descriptions of format every single time.

    Three rules we follow every day

  • Never use "act as an expert". Say what kind of expert and where they work.
  • Tell it what NOT to do. Negative constraints eliminate 80% of generic filler words.
  • If the first answer is bad, do not start a new chat. Refine the constraint in the same thread so the model understands the direction.