Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
Independent Media
Not affiliated with any project
Turn Ideas Into Interactive Visuals with Claude Design
claudedesign-me.com
LATEST
Instead of Describing What You Want, List Five Things You Don't — Notes on Negative Prompting  ·  The AI-Generated UI That Looked Perfect in English — How Badly Did It Break in German and Arabic?  ·  They Rebuilt Onboarding to Let Users Create Something First, Not Explain First — Here's What Happened to Retention  ·  Output Example: What Accessibility Issues Look Like When AI Catches Them at the Design Stage  ·  AI-Generated Design Can Look "Good" and Still Backfire — Here's the Data on Why  ·  Why AI Design Tools Are Great at Renaming Layers but Often Bad at Generating a Whole Wireframe
prompt-examples

Instead of Describing What You Want, List Five Things You Don't — Notes on Negative Prompting

30-Second Version · For the impatient
The same settings page, after adding five "don't" constraints, came out a tier better — the difference wasn't how well you described what you wanted, it was how clearly you named what you didn't.

Full Explanation +
01 · Why did this happen?

Are Negative Prompting and positive description actually two angles on the same problem, or two completely different things?

Both are actually solving the same goal — getting the generated result closer to what you really want — but they approach it from completely different angles. Positive description tries to "point as precisely as possible, within limited description length, at what you want." This approach's limitation is that you can never exhaustively list every detail you want; wherever the model hits something you didn't specify clearly, it falls back to the most common default pattern in its training data.

Negative prompting works the opposite way — rather than trying to exhaustively list everything you want, it precisely excludes the default patterns you already know cause problems. The advantage of this angle is that "exclusion" is usually easier than "exhaustive listing" — you don't need to describe what a perfect settings page looks like; you just need to know specific things like "don't store the password in unencrypted state," and the model will automatically pick a relatively reasonable approach from everything that wasn't excluded.

02 · What is the mechanism?

Why do a model's "default behaviors" tend toward tutorial-grade rather than production-grade?

This relates to the distribution of a model's training data sources — the vast majority of publicly available code and design examples on the internet, in sheer volume, come from tutorial articles, beginner courses, and quick prototype demos. This kind of content's goal is "explain a concept clearly with as little code as possible," not "meet a production product's security and performance standards." Production-grade code (properly encrypted Token storage, complete error-handling logic) usually lives inside enterprise internal codebases and doesn't appear in bulk in public training data.

That means when your prompt doesn't explicitly exclude some approach, the one a model is statistically most likely to pick is exactly this high-volume tutorial-example pattern — not because the model isn't capable enough, but because the training data's distribution itself skews that way. This is also why Negative Prompting effectively improves results: it directly pulls the model out of this statistically common but lower-quality region.

03 · How does it affect me?

Does Negative Prompting work differently for image generation versus code/design generation?

The underlying logic is the same — both work by explicitly excluding certain patterns to pull the generated result from "statistically most common" toward "what you actually need." The difference is only in the type of thing being excluded. Negative prompts in image generation usually exclude concrete visual defects (extra fingers, distorted limbs, unwanted text overlays) — flaws that are directly visible on screen and easy to describe.

Negative prompts for code or design-system generation, on the other hand, more often exclude an "approach" rather than an "appearance" — don't use a certain storage method, don't use a certain type declaration, don't use a certain file structure. This kind of exclusion requires some understanding of best practices in that domain to accurately point out "this common approach actually carries risk" — it demands more background knowledge than simply describing a visual defect, but once that exclusion list is built, it can be reused across similar generation tasks.

04 · What should I do?

How do I start building my own "fixed exclusion list"? Is there a practical way to get started?

The most practical way to start is reviewing content you've recently generated with AI design tools and picking out the recurring problems you end up manually fixing every single time — not occasional minor flaws, but patterns that "show up almost every time, and have to be fixed every time." Rewriting these recurring problems as explicit exclusion sentences gives you the first version of your exclusion list.

For example, if you notice AI-generated settings pages keep using inline styles, write down "don't use inline styles, use the existing CSS class system instead." If you notice generated buttons keep missing hover and disabled states, write down "don't only generate the default state for a button — hover and disabled states must both be included." This list doesn't need to be perfect on the first pass — every time you generate something and spot another recurring problem, add one more line. After a few rounds, you'll have an exclusion list genuinely refined around your own actual usage patterns, which is more effective than copying someone else's generic list.

Full Content +

Most people write prompts positively — "I want a clean settings page," "I want a card-based layout." There's nothing wrong with that kind of description, but it has a structural limitation: what a "settings page" most commonly looks like in a model's training data is often tutorial-grade work, not the quality a production product actually needs. Negative Prompting does the opposite — rather than only describing what you want, it explicitly lists what you don't want, directly ruling out the model's most common default behaviors and forcing it toward output closer to a real production standard.

A Concrete Before/After Comparison

One documented test case went like this: the same "settings page" generation request, with no exclusion conditions at all, produced output with inline styles, no loading-state indicator, a password field stored unencrypted in state, and a form that resubmitted every field on save regardless of which ones the user actually changed. These issues aren't the model "getting it wrong" — they're the default patterns the model learned from training data about "what this kind of page usually looks like." Those patterns are common in tutorial examples, but not what a production product should actually do.

The Difference After Adding Five "Don't" Constraints

The same request, with five specific exclusion conditions added, produced a noticeably different result. The five were: "do NOT store auth tokens in localStorage" (use httpOnly cookies instead, avoiding XSS vulnerability risk); "do NOT use any types in TypeScript" (use proper generics and union types instead, so type checking actually does its job); "do NOT add inline styles" (use Tailwind or CSS modules instead, for maintainability); "do NOT create new files unless necessary" (prefer modifying existing files, avoiding fragmentation of the file structure); "do NOT mock the database in tests" (use a real test database for integration tests instead, so actual bugs actually get caught). With these five added, the same settings page's generated result became: Tailwind utility classes, a loading-state spinner, the password field getting cleared, only genuinely changed fields being tracked, and proper error handling. The person who recorded this described it as "same feature, dramatically better implementation."

Negative Prompting in Image Generation: Excluding Visual Defects

The earliest and most widely known application of negative prompting is image generation — explicitly excluding common visual defects (extra fingers, distorted or malformed hands, unwanted text overlays appearing in the image) directly improves the generated image's quality. That same logic applies equally to a design tool's visual output — if you've noticed an AI design tool's generated interfaces repeatedly producing some specific visual flaw (overly heavy button shadows, inconsistent icon styles), writing that flaw directly into an exclusion condition is more direct and effective than continuing to tweak adjectives in a positive description.

Negative Prompting Isn't a Cure-All — It Solves "Steering," Not "Gatekeeping"

Public documentation on this technique also offers an important caveat: negative prompting's essence is steering the model away from "common but risky defaults" toward patterns closer to real standards — but it can't replace upstream security or quality controls. In other words, negative prompting raises the probability that generated output is "right from the start," but adding a few exclusion conditions doesn't mean subsequent manual review can be fully skipped — the same logic discussed earlier with AI Design Hallucination applies here: better generation quality doesn't mean verification becomes unnecessary.

What This Means for Your Money

If you're currently using an AI design tool and keep getting annoyed by some small, recurring flaw in the output — too many inline styles, some layout pattern you simply don't want, a particular visual style that keeps showing up — rather than trying to "steer" toward something else with a positive description every single time, writing that flaw directly into an explicit exclusion condition usually gets results faster. A concrete approach is building a "fixed exclusion list" for whatever generation task you do often ("don't use a pure white background," "don't center-align the large heading," "don't omit the hover state"), and pasting that list directly before every generation, rather than re-composing a positive description from scratch each time.

Sources: Vibe Coder Blog — Negative Prompting and How to Tell AI What NOT to Do, NHIMG Glossary — What Is Negative Prompting? Definition & Examples
Diagram
同一需求在有無排除條件下的生成結果對比左側無排除條件的生成結果問題重重,右側加上五條明確排除之後整體品質明顯提升Settings Page: Before vs. After 5 ExclusionsNo ConstraintsInline stylesNo loading stateUnencrypted password in stateSubmits all fields always5 "Do NOT" Lines AddedTailwind utility classesSpinner loading indicatorPassword field clearedDirty-field tracking onlySame feature request — five exclusion lines changed the entire output tierClaude Design Me · claudedesign-me.com
Feel free to share. Please credit the source.
Ask a Question
Please enter at least 10 characters
Related Articles
Why Do AI-Generated Dashboards Always Feel Overstuffed? Five Common Mistakes and the Prompts That Fix Them
prompt-examples · Sep 03
The Checklist to Run Before You Hit Generate: Five Questions, Good vs. Bad Examples
prompt-examples · Aug 14
Five Prompt Templates for Common Design Tasks — Copy, Swap a Few Words, and Go
prompt-examples · Aug 14
The AI-Generated UI That Looked Perfect in English — How Badly Did It Break in German and Arabic?
cases · Oct 05
More Related Topics