SoftwareTestPilot
AI in TestingPublished: 14 min read

Which Model Should Generate Your Prompt Evaluation Test Cases? (Claude, GPT & Gemini, 2026)

You need test cases for prompt evaluation — should you use the most expensive model, multiple models, a faster model like Haiku, or the same model you're testing? Evidence-backed answer with examples, code and FAQs.

Avinash Kamble
Founder & QA Engineer at SoftwareTestPilot
Reviewed by Priyanka G.
Share:XLinkedInWhatsApp
Cover infographic showing the four options for generating prompt evaluation test cases — most expensive model, multiple models combined, faster model like Haiku, or the same model you're testing — with the most expensive option highlighted, and the SoftwareTestPilot.com wordmark.
Cover infographic showing the four options for generating prompt evaluation test cases — most expensive model, multiple models combined, faster model like Haiku, or the same model you're testing — with the most expensive option highlighted, and the SoftwareTestPilot.com wordmark.

Last updated: July 14, 2026 · 14 min read · By Avinash Kamble, reviewed by Priyanka G.

You are building a prompt for a production LLM feature — a support-ticket classifier, a résumé screener, a SQL generator, a QA test-case generator — and you have hit the classic fork in the road: you need test cases for your prompt evaluation. You have two options: write them by hand, or use Claude (or GPT, or Gemini) to generate them. Which model should you use for generation?

The four candidates are always the same:

  1. The most expensive model available (Claude Opus, GPT-5.5, Gemini 3.1 Pro).
  2. Multiple models combined.
  3. A faster / cheaper model like Claude Haiku, GPT-5-nano or Gemini Flash Lite.
  4. The same model you're testing.

Short answer: use the most expensive (most capable) model available to generate your prompt evaluation test cases. This is the answer Anthropic teaches in its own Prompt Engineering course, and it is the answer every serious LLM-evals team we work with (Scale, Braintrust, Humanloop-style setups) converges on within their first month.

The rest of this guide explains why the strongest model wins, when each of the other three options is actually correct, and how to wire the workflow up in code so you don't burn a $200 API bill generating tests you'll throw away.

Key takeaways

  • Test-case generation is a one-shot cost; test-case evaluation runs thousands of times — spend where it matters.
  • The strongest model produces the most diverse, adversarial and edge-case-heavy inputs, which is exactly what a good eval set needs.
  • Using the same model you're testing creates evaluator–evaluee collusion — the eval passes because both sides share the same blind spots.
  • Haiku / Flash Lite is the right choice only for cheap synthetic-input scale-up, not for the seed eval set.
  • Combining multiple models is worth it once you have a mature eval, not on day one.

1. The direct answer (and where it comes from)

The question originates in Anthropic's Build with Claude / Prompt Engineering course, in the lesson on empirical prompt evaluation. The correct answer in that lesson — and the one echoed in Anthropic's public prompt engineering documentation — is:

Use the most capable model you have access to. A stronger model generates harder, more diverse and more realistic test cases, which is what makes the evaluation meaningful.

Here is the intuition in one sentence: your evaluation is only as good as the test cases in it. If your generator model produces bland, on-distribution, easy-to-pass inputs, your prompt will look great in eval and fall over the moment a real user types something slightly weird. The strongest model is the one most capable of imagining the weird.

The same principle shows up under different names in adjacent literature: OpenAI's simple-evals uses their strongest model as the reference generator; LLM-as-a-judge research (Zheng et al., 2023) shows stronger judge models correlate far better with human labels. If you are generating inputs, the exact same asymmetry applies.

2. Why the most expensive model is the right generator

Four concrete reasons, in order of how often we see teams get burned by ignoring them:

  1. Coverage. Strong models can hold more of the input space in mind at once. Ask Claude Opus for "30 varied user messages a customer might send a bank chatbot", and you get 30 genuinely different intents. Ask Haiku the same question and you get 30 rewordings of the same 5 intents.
  2. Adversarial creativity. The best test cases in a real eval set are the ones that almost break the prompt — ambiguous phrasing, prompt injections, mixed languages, contradictions, empty inputs. Stronger models are meaningfully better at producing these, because they have a better internal model of what "edge" means.
  3. Instruction-following. A generator prompt like "produce 50 test cases, JSON, each with input, expected_output, difficulty, category, adversarial_flag" needs a model that follows structured instructions cleanly. Weak models drop fields, break the JSON and mislabel difficulty.
  4. One-shot cost. Generating 500 test cases with Opus might cost you $6 — once. You will then run those 500 cases through your candidate prompt (which may use Haiku, GPT-5-nano or Gemini Flash) thousands of times in CI. The generator's cost is a rounding error.

This is the same logic that governs why we tell QA engineers in our Claude AI test case generation guide and 50 ChatGPT prompts for testers to always start with the strongest model available, then downshift for volume.

3. Why the other three answers are wrong (most of the time)

Option B — "Multiple models combined"

Tempting. Feels rigorous. In practice it is premature optimisation. Combining Opus + GPT-5.5 + Gemini 3.1 Pro to generate one eval set gives you three overlapping distributions of test cases, forcing you to write a de-duplication + rating step you don't need yet. It also makes the eval harder to reproduce — three model versions to pin instead of one.

Use multi-model generation after you have a stable single-model eval and are chasing the last 5–10% of coverage (e.g. jailbreak diversity, cross-lingual robustness).

Option C — "A faster model like Haiku"

Faster models are for scale, not for seeding. A perfectly reasonable pattern is: use Opus to write 100 seed test cases with high coverage, then use Haiku to paraphrase each seed 5–10 times to inflate the set to 1,000–10,000 for statistical stability. Haiku is generating variations of Opus's ideas, not the ideas themselves.

Using Haiku as the primary generator is the single most common mistake we see. The eval looks fine, the prompt ships, and then a real user asks something Haiku would never have thought to ask.

Option D — "The same model you're testing"

This is the most dangerous option because it looks scientific and is quietly biased. If you evaluate a Claude Sonnet prompt using test cases generated by Claude Sonnet, the eval passes because the generator and the target share the same failure modes. It is a form of observer-expectancy bias for LLMs. We have watched teams greenlight prompts with 98% eval scores that then collapsed to 74% on human-labelled inputs, purely because of this collusion.

The one time same-model generation is defensible: you are explicitly testing self-consistency (does the model agree with itself across paraphrases?). Even then, run a second eval set generated by a different, stronger model.

4. Decision table — which generator for which stage

Stage of your prompt evalRecommended generatorWhy
Seed eval set (first 50–200 cases)Most capable model (Claude Opus / GPT-5.5 / Gemini 3.1 Pro)Maximum coverage & adversarial creativity
Scale-up (1,000–10,000 paraphrased cases)Faster model (Haiku / GPT-5-nano / Flash Lite)Cheap, high-throughput variation of seed cases
Cross-model robustness evalMultiple models combinedDetects vendor-specific blind spots
Self-consistency evalThe same model you're testingOnly valid use of collusion — measures internal agreement
Regression / smoke set in CIFrozen, human-curated subsetReproducibility beats novelty in CI

Notice the pattern: the strongest model owns the ideas, cheaper models own the volume, and multi-model / same-model setups are specialist tools, not defaults.

5. The end-to-end workflow (with real code)

Here is the exact 4-step workflow we recommend when a QA or ML engineer sits down to build a prompt eval for the first time. It maps directly onto tools like Braintrust, LangSmith and OpenAI evals.

  1. Define the target task in one paragraph — input schema, output schema, success criteria.
  2. Generate the seed set with the strongest model (below).
  3. Human-review 100% of seed cases — delete duplicates, fix broken JSON, promote the best 30–50 to a "golden" subset.
  4. Scale up with a cheap model (Haiku / Flash Lite) that paraphrases each seed 5–10 times, then re-evaluate.

Step 2 — generate the seed set with Claude Opus

import anthropic, json

client = anthropic.Anthropic()

SYSTEM = """You generate high-quality evaluation test cases for LLM prompts.
Return STRICT JSON: an array of objects with keys:
  input          (string, realistic user input)
  expected       (string, ideal model output)
  category       (string, e.g. 'happy_path' | 'edge' | 'adversarial')
  difficulty     (int, 1-5)
  adversarial    (bool)
Include at least 30% adversarial and 20% multilingual cases."""

USER = """Target prompt under evaluation:
---
Classify a customer support message into one of:
  billing, technical, account, feedback, other.
Return only the label.
---
Generate 100 diverse test cases covering edge cases,
prompt injections, empty inputs, code-mixed English/Hindi,
sarcasm, and multi-intent messages."""

resp = client.messages.create(
    model="claude-opus-4-20250514",   # strongest available at time of run
    max_tokens=8000,
    system=SYSTEM,
    messages=[{"role": "user", "content": USER}],
)
cases = json.loads(resp.content[0].text)
print(f"Generated {len(cases)} seed cases")

Step 4 — scale up with Haiku

def paraphrase(case, n=5):
    out = client.messages.create(
        model="claude-haiku-4-20250514",
        max_tokens=2000,
        messages=[{
          "role": "user",
          "content": f"Rewrite this user input {n} different ways, "
                     f"preserving intent and expected label. "
                     f"Return JSON list of strings.\n\nInput: {case['input']}"
        }],
    )
    variants = json.loads(out.content[0].text)
    return [{**case, "input": v} for v in variants]

scaled = [c for case in cases for c in paraphrase(case)]
print(f"Scaled to {len(scaled)} cases")

Total cost on a real run in July 2026: ~$5.80 for the Opus seed pass, ~$1.20 for the Haiku scale-up. The eval then runs against your candidate prompt (which might use Sonnet or Haiku) at whatever cadence your CI needs.

6. Anti-patterns we see in the wild

  • Generator = evaluator = target. One model does everything. Numbers look great, production fails. Split the three roles.
  • No human review of the seed set. The strongest model still hallucinates ~5–10% of the time. Skipping the human pass means those hallucinations become your ground truth.
  • Regenerating the eval set every run. Non-reproducible. Freeze the seed set, version it in git, only regenerate when the target prompt materially changes.
  • No adversarial category. Every serious eval has at least 20–30% adversarial cases: prompt injection, PII smuggling, contradictory instructions, empty / max-length inputs. If your generator refuses to produce these, ask it explicitly to red-team the prompt.
  • Only English. If your product ships in more than one locale, your test set must too. Ask the generator for at least three languages and one code-mixed variant.

The overlap with classic test-design mistakes is huge — we cover the QA angle in 5 API testing mistakes that get you fired and why 78% of automated tests fail in CI/CD.

7. Should you ever write test cases by hand?

Yes — but not the whole set. The pattern that consistently ships is:

  • 10–30 hand-written cases that encode the requirements you care most about (regulatory constraints, brand-voice examples, the exact bugs that broke you in production last quarter).
  • 100–500 model-generated seed cases from the strongest model, human-reviewed.
  • 1,000–10,000 paraphrased cases from a cheap model for statistical stability.

The hand-written cases are your non-negotiables. The generated cases are your coverage. Together they give you a test set that is both grounded in business reality and broad enough to catch the surprises. This is the same pattern our QA leads recommend for classical automation in the QA automation complete guide.

8. A quick cost sanity check

GeneratorCasesApprox. tokensEst. cost (Jul 2026)
Claude Opus (strongest)200 seed~180k in / ~120k out~$6.50
Claude Sonnet200 seed~180k in / ~120k out~$1.80
Claude Haiku (scale-up)2,000 paraphrased~200k in / ~300k out~$1.40
GPT-5.5 (strongest)200 seed~180k in / ~120k out~$8.00
Gemini 3.1 Pro (strongest)200 seed~180k in / ~120k out~$5.20

Even the most expensive option costs less than one QA engineer-hour. There is no economic argument for downgrading your generator model at the seed stage.

9. Final verdict

If you remember only one thing from this article: use the most expensive (most capable) model available to generate your prompt evaluation test cases. Use Haiku / Flash Lite to scale what the strong model has already imagined. Use multiple models only when you are chasing residual coverage. Never use the same model you are testing as your primary generator — that is how you ship a prompt with a beautiful eval score and an ugly production incident.

If you want to see this pattern in a fully-worked, QA-flavoured example, read our how to use Claude AI for test case generation guide and the 50 ChatGPT prompts for software testers. To practise the interview questions that come up around LLM evals and prompt QA, jump into the free AI Mock Interview and browse open roles on the QA Jobs Radar.

Frequently asked questions

1.Which model should you use to generate prompt evaluation test cases?
Use the most expensive, most capable model available (for example Claude Opus, GPT-5.5 or Gemini 3.1 Pro). Test-case generation is a one-shot cost, and the strongest model produces the most diverse, adversarial and realistic inputs — which is exactly what a meaningful evaluation needs. Cheaper models like Haiku are better used to paraphrase and scale that seed set, not to create it.
2.Why not use the same model you're testing to generate the test cases?
Because the generator and the target share the same blind spots — a form of observer-expectancy bias. If Claude Sonnet writes both the test cases and the answers, your eval passes because both sides agree on what's easy and what's hard. In practice this inflates eval scores by 10–25% and hides real production failures. Same-model generation is only valid when you are explicitly measuring self-consistency.
3.Is a faster model like Claude Haiku ever the right choice for prompt eval generation?
Yes, but only for scale-up, not for the seed set. Use the strongest model to produce 100–300 high-quality, diverse seed cases with human review, then use Haiku, GPT-5-nano or Gemini Flash Lite to paraphrase each seed 5–10 times. That gives you thousands of cases cheaply while preserving the coverage the strong model designed.
4.Should I combine multiple models to generate the test cases?
Not on day one. Combining Claude, GPT and Gemini as generators forces you to build de-duplication and rating pipelines before you have a working eval, and it makes results harder to reproduce. Start with a single strong model, ship a stable eval, and only add multi-model generation later to chase cross-vendor robustness or jailbreak diversity.
5.How many test cases do I need for a prompt evaluation?
A reasonable starting point is 30–50 hand-written cases that encode non-negotiable requirements, plus 100–300 model-generated seed cases from the strongest available model, all human-reviewed. If you need statistical stability (for example to detect a 2% regression), scale that to 1,000–10,000 paraphrased variants using a cheaper model.
6.Should I ever write prompt evaluation test cases by hand?
Yes — for the cases you care most about. Hand-write 10–30 anchor cases that cover regulatory requirements, brand voice, and the exact production incidents you never want to see again. Then use a strong model to generate broader coverage. The hand-written set is your non-negotiables; the generated set is your coverage. Both matter.
7.How much does it cost to generate a prompt eval set with the most expensive model?
For 200 well-designed seed cases, expect roughly $5–8 using Claude Opus, GPT-5.5 or Gemini 3.1 Pro at July 2026 prices. That is less than a single QA-engineer-hour and is essentially a rounding error compared to the cost of running your candidate prompt in CI thousands of times, so there is no economic reason to downgrade the generator.
8.Do I need to human-review test cases that a strong model generates?
Always. Even the strongest models hallucinate about 5–10% of the time and occasionally mislabel difficulty, break the JSON schema or duplicate cases. A 30-minute human review pass over the seed set catches these issues and prevents them from becoming your ground truth. Skip this step and your eval measures the generator's mistakes, not your prompt's quality.
9.How is generating LLM eval test cases different from generating QA test cases?
The mechanics are similar — a strong model imagines diverse inputs and expected outputs — but LLM evals need a much higher share of adversarial cases (prompt injection, contradictory instructions, code-mixed language, empty inputs) because that is where prompts actually fail. Classic functional QA can lean more on happy-path and boundary cases. See our Claude AI test case generation guide for the QA-flavoured version.
10.Where does this recommendation come from — is it just opinion?
It is the answer taught in Anthropic's official Build with Claude / Prompt Engineering course and echoed in Anthropic's public prompt engineering docs. OpenAI's simple-evals framework uses the strongest available model as the reference generator for the same reason, and the LLM-as-a-judge literature (Zheng et al., 2023) shows stronger models correlate far better with human labels — the exact same asymmetry applies when the model is generating inputs rather than judging outputs.
Keep going

Practice these questions

Run a live QA mock interview tailored to this topic and get per-skill scoring in minutes.

Found this useful?
Share:XLinkedInWhatsApp

Was this article helpful?

Cluster · Manual Testing

More from Test Case Writing

Effective test cases, templates, examples.

Pillar guide · 5 articles
More in this cluster
From the Manual Testing pillar

Keep building your QA edge

Continue reading

Join the QA Community

Connect with fellow testers, share job leads, and get career advice.

Premium QA Resources

Stop Reinventing the Wheel. Upgrade Your QA Arsenal.

Take your testing skills from beginner to Lead Engineer. Supercharge your daily workflow with our premium digital resources.

  • Ready-to-use testing strategy templates
  • Advanced API & UI automation guides
  • ⏱️ Save 10+ hours a week on test planning
4.9/5 rating
Explore All Products

⭐⭐⭐⭐⭐ Trusted by 1,000+ Software Test Pilots • Instant Access