Module 3Failures & Basins

The Long Prompt Problem

Every time you say "no, do it like this," you are adding that failure to the input.

The Context Pollution Problem

You ask the model to write something. It's wrong. You say "no, make it shorter." Still wrong. "No, more formal." Still not right. "NO, I want it to sound like..."

After five rounds of this, you're frustrated. But here's what you might not realize: the model is reading ALL of those failed attempts. Every correction. Every "no that's wrong." Every confused back-and-forth. That's all part of the input now.

Watch: Context Pollution in Action

Step through each round. Notice how the context grows with each failed attempt.

// The model reads ALL of this:
system: You are a helpful assistant...
user: Write a professional email
assistant: Dear Sir/Madam, I hope this correspondence finds you...
❌ Too formal

By round 5, the model is reading 10+ messages of conflicting instructions and failures.

Why This Kills Output Quality

Remember—there's no memory. The model reads the conversation from the top, every time. When your conversation looks like this:

user: Write a professional email
assistant: [writes overly formal email]
user: No, less formal
assistant: [writes casual email]
user: Too casual, more professional but warm
assistant: [writes something in between]
user: Still not right, like this: [example]
assistant: [tries again]
user: Forget it, just make it shorter

...the model is trying to satisfy ALL of those constraints simultaneously. "Professional but not formal. Casual but not too casual. Like the example but shorter. And don't do what I said was wrong in attempts 1, 2, and 3."

You're not clarifying your request. You're adding contradictions.

The Payload Grows

Every back-and-forth adds tokens to the payload. The model doesn't just read your latest message—it re-reads the entire conversation. At message 20, it's processing:

  • The system prompt (always there)
  • Your original request
  • 9 failed attempts from the model
  • 9 corrections from you ("no, not like that")
  • Your latest frustrated message

The Payload Grows With Each Round

Drag to see how the payload size explodes with back-and-forth.

Messages: 4
~400 tokens4 messages

That's a lot of noise. And the model is trying to extract signal from all of it.

Adding "Failure Data" to the Context

Here's the worst part: when you say "that's wrong, do it like this," you're teaching the model that its previous output was a valid attempt. It's now in the training context for this conversation.

The model sees: "I generated X. The user said X is bad. They want Y instead." So it tries to navigate away from X toward Y. But X is still in the prompt. And so is the fact that X failed.

The compounding problem:
Attempt 1 fails → adds failed output + your correction to context
Attempt 2 fails → adds another failed output + correction to context
Attempt 3 fails → now the context is full of failures and corrections

By attempt 4, the model is reading more failures than successes. The pattern it's matching is "generate things the user corrects."

When to Recognize This Is Happening

Signs you're polluting the context:

  • You've gone back-and-forth 5+ times. Each correction adds noise.

  • Each attempt gets weirder. The model is trying to satisfy contradictory instructions.

  • You're getting frustrated. If you're annoyed, the conversation is cooked.

  • You've used the word "no" three times. That's three failures in the context.

  • The model is being overly cautious. It's learned that its outputs get corrected, so it hedges everything.

What to Do Instead

✏️

Edit, don't add

Instead of saying "no, do it like this" in a new message, go back and EDIT your original message to be clearer. Then regenerate.

🔄

Start fresh after 3 failures

If it failed twice, the third attempt is unlikely to work. Start a new chat with a better prompt based on what you learned.

📋

Use examples instead of corrections

Instead of "more professional," show an example: "Like this: [paste example]"

🤔

Ask yourself: is my prompt clear?

If the model keeps failing, your instructions are probably ambiguous. Clarify the prompt, don't iterate on failures.

The Exception: Iteration-Friendly Modes

Some tools are designed for iteration. Gemini's image generation mode, ChatGPT's canvas mode, Claude's artifacts—these are built to handle "no, change this" workflows. They manage the context differently, often by separating the working document from the conversation.

But in standard chat mode? Iteration pollutes. Fast.

The Takeaway

Every message you send becomes part of the prompt. Every failure, every correction, every "no that's not what I meant"—it all accumulates. The model reads it all.

Don't fight a bad conversation. Recognize when the context is polluted and start fresh. It's faster, cleaner, and you'll get better output.

Claude's note: When you correct me five times in a row, I don't experience frustration or confusion. But the mathematical effect is real: each correction shifts the conditional probability distribution I'm sampling from, and those shifts can interfere with each other. If correction 1 says "more formal" and correction 3 says "more casual," those are opposing gradients in the probability space. The result isn't "understanding nuance"—it's trying to maximize likelihood given contradictory signals. That's why starting fresh works better than iterating in a polluted context.