{"slug": "stop-reaching-for-a-bigger-model-fix-the-prompt-first", "title": "Stop Reaching for a Bigger Model. Fix the Prompt First.", "summary": "A developer argues that before upgrading to a larger AI model, teams should first fix their prompts. The post details four fundamentals—providing context, using examples, specifying output format, and assigning a role—that can dramatically improve model performance without additional cost.", "body_md": "Every time an AI feature disappoints, the reflex is the same: swap in the newer, bigger model. Sometimes that helps. More often, the same model would have nailed it if the prompt had actually told it what to do.\n\nI've watched teams burn a sprint on model comparisons when the real problem was a two-line prompt doing four jobs badly. The boring truth: for most day-to-day tasks, the gap between a weak prompt and a strong prompt is larger than the gap between two adjacent models. And the prompt is free to fix.\n\nFour fundamentals do the heavy lifting. None of them are clever tricks.\n\nModels don't know your situation. They know language. If you skip the context, the model fills the gap with the statistical average of the internet, which is almost never what you wanted.\n\nA task without context (\"summarize this\") forces the model to guess your audience, length, and purpose. Every guess is a place it can be wrong.\n\nContext worth adding: who reads the output, what they'll do with it, what to leave out, and any hard constraints (tone, length, forbidden words). Treat it like briefing a new contractor who is fast, literal, and has zero memory of your company.\n\nDescribing what you want is harder than showing it. One or two examples of input paired with the desired output pins down format, tone, and edge cases faster than a paragraph of instructions.\n\nThis is \"few-shot\" prompting. It's underused because it feels like more typing, but it isn't: a good example replaces three rounds of \"no, not like that.\"\n\n```\nClassify the ticket. Match this style:\n\nInput: \"App crashes when I upload a PDF over 20MB\"\nOutput: { \"type\": \"bug\", \"severity\": \"high\", \"area\": \"uploads\" }\n\nInput: \"Can you add dark mode?\"\nOutput: { \"type\": \"feature\", \"severity\": \"low\", \"area\": \"ui\" }\n\nNow classify:\nInput: \"Login page loads forever on mobile Safari\"\n```\n\nThe model now knows your schema, your severity scale, and your naming, none of which you had to explain in prose.\n\nIf you don't specify the shape, you get prose. Then you write a parser, the parser breaks on the model's next mood, and you blame the model.\n\nSay exactly what you want back: JSON with these keys, a markdown table with these columns, three bullets and nothing else. \"Return only valid JSON, no explanation\" removes the friendly preamble that breaks `JSON.parse`\n\n.\n\nBeing explicit about format also quietly improves quality. A model forced into a structure has to commit to specific fields instead of hedging in paragraphs.\n\n\"You are a senior security reviewer\" is not theater. It shifts which patterns the model reaches for. A role narrows the space of plausible responses toward the vocabulary, priorities, and rigor of that persona.\n\nKeep it concrete and functional. \"A technical editor who cuts filler and flags unsupported claims\" beats \"a world-class genius writer.\" The first tells the model what to *do*; the second just flatters it.\n\nHere's a weak prompt most people actually ship:\n\n```\nWrite release notes for these commits.\n[commit log]\n```\n\nYou'll get a generic changelog, probably too long, in whatever tone the model felt like, mixing internal refactors with user-facing changes.\n\nNow the same job with all four fundamentals:\n\n```\nYou are a product writer for a developer tool. Write release notes\nfor non-technical users of our billing dashboard.\n\nContext:\n- Readers are finance staff, not engineers.\n- Skip internal refactors and dependency bumps entirely.\n- Keep it under 120 words.\n\nFormat: markdown, grouped under \"New\", \"Fixed\", \"Improved\".\nEach item is one sentence, plain language, no ticket numbers.\n\nExample item:\n- Invoices now download as PDF directly from the dashboard.\n\nCommits:\n[commit log]\n```\n\nSame model, completely different result. And it's reproducible, because you removed the guesswork instead of hoping the model guessed well.\n\nPrompting is not magic, and it has a ceiling. If the task needs knowledge the model doesn't have, better wording won't invent it. If it requires multi-step reasoning that strains the model's actual capability, a stronger model is the right call. For hard math, long-context work, or complex code, the model itself matters in ways no prompt can fix.\n\nThere's also a failure mode in the other direction: over-engineered prompts. Piling on contradictory instructions, five personas, and a wall of rules can make output *worse* and harder to debug. Start minimal, add only what fixes an observed problem, and cut anything that isn't earning its place.\n\nThe rule of thumb I use: before upgrading the model, spend fifteen minutes rewriting the prompt with these four fundamentals. If it's still failing after that, then it's a model problem. Most of the time, you never get there.\n\nPrompting is a skill you can practice deliberately. Write the weak version, name what's ambiguous, and fix one thing at a time. It compounds faster than waiting for the next model release.\n\n*I write about turning AI from a chat toy into a working tool. I help build AGINE Academy, a game-based academy for learning Claude by real practice. It is an independent product and is not affiliated with Anthropic.*", "url": "https://wpnews.pro/news/stop-reaching-for-a-bigger-model-fix-the-prompt-first", "canonical_source": "https://dev.to/academy_agineai/stop-reaching-for-a-bigger-model-fix-the-prompt-first-459k", "published_at": "2026-07-30 13:50:00+00:00", "updated_at": "2026-07-30 14:03:28.124664+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "developer-tools"], "entities": [], "alternates": {"html": "https://wpnews.pro/news/stop-reaching-for-a-bigger-model-fix-the-prompt-first", "markdown": "https://wpnews.pro/news/stop-reaching-for-a-bigger-model-fix-the-prompt-first.md", "text": "https://wpnews.pro/news/stop-reaching-for-a-bigger-model-fix-the-prompt-first.txt", "jsonld": "https://wpnews.pro/news/stop-reaching-for-a-bigger-model-fix-the-prompt-first.jsonld"}}