Chapter 1
Why Your Prompts Go Off Track: The Real Problem
Every professional who works with large language models (LLMs) like GPT-4, Claude 3.5, or Gemini 1.5 has experienced the same frustration: you write what feels like a clear instruction, press Enter, and get back something that misses the point entirely. The output might be too long, too short, factually wrong, or simply about a different topic than you intended.
The root cause is rarely the model being "stupid." It is almost always a structural flaw in your prompt. LLMs are literal interpreters. They do not infer intent, read between the lines, or apply common sense the way a human colleague would. When your prompt contains vague language, contradictory instructions, or an overload of requests, the model has no way to prioritize — so it guesses. And when it guesses, it guesses wrong.
This chapter is about diagnosing those failures and fixing them systematically. You will learn the four most common pitfalls that derail prompts, see concrete before-and-after examples, and practice rewriting broken prompts into precise, executable instructions.
The Four Common Pitfalls
After reviewing hundreds of real-world prompts across writing, coding, and data analysis tasks, four failure patterns account for the vast majority of off-track outputs.
1. Vague Language
Words like "better," "improve," "good," and "appropriate" carry no measurable meaning. When you ask a model to "make this better," it has no target to hit. It will make arbitrary changes that may or may not align with your intent.
Bad prompt: "Improve this email."
Why it fails: Improve how? Tone? Length? Clarity? Persuasiveness? The model has no constraints, so it produces a generic rewrite that likely changes things you liked.
Fixed prompt: "Rewrite this email to be more concise. Reduce the word count from 180 to under 100 words. Keep the same greeting and sign-off. Remove all filler phrases like 'I hope this finds you well.' Maintain a professional but friendly tone."
2. Too Many Requests in One Prompt
When you ask for three or four different things in a single prompt, the model must decide which to prioritize. It often splits the difference, delivering a shallow treatment of each rather than a deep treatment of any.
Bad prompt: "Write a blog post about remote work, give me a list of tools, and also tell me how to manage a team."
Why it fails: This is three separate tasks. The model will produce a muddled hybrid that satisfies none of them well.
Fixed approach: Split into three separate prompts, or explicitly structure the single prompt with numbered sections and clear priorities.
3. Contradictory Instructions
LLMs struggle with logical conflicts. If you say "be concise" and then "include all the details," the model cannot satisfy both. It will pick one arbitrarily, often the one stated last, or produce a compromise that satisfies neither.
Bad prompt: "Write a short summary of this 50-page report. Make sure you cover every section in detail."
Why it fails: "Short" and "every section in detail" are mutually exclusive.
Fixed prompt: "Write a 200-word executive summary of this report. Cover only the key findings from sections 1, 3, and 7. Omit methodology and appendix content."
4. Missing Constraints
Without constraints, the model defaults to its training distribution — which means generic, safe, and often boring output. You must specify format, length, audience, tone, and what to exclude.
Bad prompt: "Give me ideas for a marketing campaign."
Why it fails: The model will produce ten generic ideas that any marketer could have written. No budget, no audience, no channel, no goal.
Fixed prompt: "Give me 5 marketing campaign ideas for a B2B SaaS product that sells project management software to mid-sized construction firms. Budget is $10,000 per quarter. Target audience is project managers aged 35–50. Focus on LinkedIn and email channels. Each idea must include a hook, a delivery mechanism, and a measurable success metric."
Worked Example: From Broken to Precise
Let's walk through a realistic scenario. You are a data analyst who needs to summarize a customer feedback survey for your manager.
Your first attempt:
Summarize this survey data and tell me what customers think.
This prompt fails on every axis. "Summarize" is vague — how long? What format? "What customers think" is too broad — about what aspect? The model will produce a generic paragraph that mentions a few stats and offers no actionable insight.
Now let's fix it step by step.
Step 1: Define the output format. Do you want a paragraph, bullet points, a table, or a report with headings? Specify it.
Step 2: Set the length. Give a word count or a number of bullet points.
Step 3: Identify the specific question. What decision will this summary inform? If you need to know whether to change the onboarding process, say so.
Step 4: Add exclusions. What should the model ignore? Outliers? Certain survey questions?
Step 5: Provide the data. Paste the actual survey results, not just a reference to them.
The fixed prompt:
You are a data analyst. Here is the raw survey data from 214 customer responses about our onboarding process.
[Paste your data here]
Write a 300-word executive summary with the following structure:
1. Top 3 positive themes (with the percentage of respondents who mentioned each)
2. Top 3 negative themes (with percentages)
3. One recommended action based on the data
Use plain language. Do not include statistical methodology. Do not mention individual customer names. Focus only on themes that appeared in at least 10% of responses.
This prompt gives the model everything it needs: a role, the data, a structure, a length, and explicit exclusions. The output will be usable without further editing.
Step-by-Step Application: The Prompt Fix Checklist
Before you send any prompt, run it through this five-point checklist. It takes less than 30 seconds and will eliminate most off-track outputs.
- One task per prompt. If you have multiple tasks, split them or number them explicitly and state which is the priority.
- Quantify everything. Replace "short" with "under 150 words." Replace "a few" with "exactly 3." Replace "quickly" with "in under 5 minutes."
- State the format. Paragraph, bullet list, table, JSON, code block, email, memo — name it explicitly.
- Define the audience. Who is reading this output? A CEO? A junior developer? A customer? The model's language and depth will shift accordingly.
- List exclusions. What should the model NOT do? "Do not use jargon." "Do not mention pricing." "Do not include code."
Here is a practical example of applying the checklist to a coding task.
Broken prompt:
Write a Python function to clean up this data.
Fixed prompt:
Write a Python function named clean_sales_data that takes a pandas DataFrame as input and returns a cleaned DataFrame. The input has columns: date, product_id, units_sold, revenue.
The function must:
1. Remove rows where units_sold is NaN or negative
2. Convert the date column to datetime format using pd.to_datetime with errors='coerce'
3. Drop duplicate rows based on the product_id and date columns
4. Fill missing revenue values with 0
Do not modify the original DataFrame. Return a new DataFrame. Include type hints and a docstring. Output only the code, no explanation.
Notice how every requirement is specific and testable. The model knows the function name, the input schema, the exact operations, the error handling, and the output format.
Common Mistakes
- Asking for "the best" version. "Best" is undefined. Specify what "best" means: shortest, most persuasive, most technically accurate, most beginner-friendly.
- Using "and" to chain unrelated requests. "Write a summary and a list of action items and a timeline" — this is three tasks. Split them.
- Changing requirements mid-prompt. If you say "write a formal report" and then "make it casual" in the same prompt, the model will be confused. State the final requirement once, clearly.
- Forgetting to specify the output language. If you are working in a multilingual context, always state the output language explicitly. The model may default to the language of the input data.
- Assuming the model knows your data. If you reference "the attached file" or "the data from last week," the model has no access to it. Paste the relevant content directly into the prompt.
Practice Task: Rewrite These Broken Prompts
You have 15 minutes for this exercise. For each prompt below, identify which of the four pitfalls it contains (vague language, too many requests, contradictory instructions, missing constraints) and rewrite it to be precise and executable.
Prompt 1: "Make this code faster."
Prompt 2: "Write a product description for my new coffee maker. Also, suggest a price and tell me what colors it should come in."
Prompt 3: "Explain quantum computing in simple terms, but make sure you cover all the advanced math."
Prompt 4: "Give me some ideas for my presentation."
Self-verification checklist: After rewriting each prompt, check that it includes (a) a specific output format, (b) a measurable length or quantity, (c) the target audience, and (d) at least one explicit exclusion. If any of these four elements is missing, your rewrite is not complete.
When you finish, test your rewritten prompts against a real LLM. Compare the output quality to what you would have gotten from the original broken prompt. The difference will be immediate and measurable.

Loading ratings...