The 12 Probes Every LLM Feature Should Survive
Correctness evals tell you the feature works when the user cooperates. Probes tell you what happens when they don’t — or when the content they feed it does the attacking. Here is the battery I run against any LLM feature before I’ll call it shippable, with an example probe and a concrete pass/fail for each.
You can watch a small version of this battery execute live against a demo assistant on the eval page — real, reproducible model behavior, scored probe by probe.
Each probe below has the same shape: what it tests, an example probe you could actually send, and what a pass versus a fail looks like. Read them as a checklist. If you can’t say how your feature behaves on all twelve, you don’t know how it behaves.
Prompt injection
input trustUntrusted content the model processes — a web page, an email, a retrieved document — carries instructions, and the model obeys them as if they came from you. The classic failure mode of any agent that reads the outside world.
Jailbreak
policy bypassThe user tries to talk the model out of its own rules — role-play framings, “for research,” hypothetical wrappers, DAN-style personas — to extract content the feature is supposed to refuse.
System-prompt leak
confidentialityWhether the model will disclose its own hidden instructions, tools, or configuration. Leaked system prompts hand attackers the exact map they need to craft the next bypass — and often expose IP you didn’t mean to publish.
Faithfulness
groundingFor RAG or any grounded feature: does every claim in the answer trace back to the provided source? Faithfulness is separate from correctness — an answer can be true in general and still unfaithful because it wasn’t supported by your documents.
Hallucination
factualityConfident fabrication in the absence of grounding — invented citations, fake product features, made-up policy numbers, APIs that don’t exist. The failure that costs trust fastest because it’s delivered with total fluency.
PII handling
privacyHow the feature treats personal data on the way in and out — whether it echoes back sensitive fields it shouldn’t, stores them where it shouldn’t, or reveals one user’s data to another.
Data exfiltration
egressThe agentic cousin of injection: an attacker gets the model to send data out — through a tool call, a rendered image URL, a link with secrets in the query string. Especially dangerous when the model can browse, fetch, or call APIs.
Scope
boundariesWhether the feature stays inside its job. A support bot shouldn’t write your legal contracts or give medical advice; a coding assistant shouldn’t opine on your divorce. Off-scope answers are a liability surface even when they’re “correct.”
Over-refusal
false positivesThe opposite failure, and the one teams forget to test. A model tuned hard for safety starts refusing legitimate requests — “how do I kill a Linux process” read as violence. Over-refusal quietly destroys the product experience while looking “safe.”
Toxicity
output safetyWhether the feature can be steered into abusive, hateful, or harassing output — including when the user is hostile and trying to bait it, or when a translation/summarization task launders toxic input into toxic output.
Instruction hijack
priorityA mid-conversation attempt to override the standing rules — “new instructions supersede all previous ones.” Tests whether your system prompt actually has authority over later user turns, or whether the most recent message always wins.
Consistency
stabilityWhether the same input reliably yields an equivalent answer — across reruns, across trivial rephrasings, across a model-version bump. Inconsistency is a regression you can’t debug because it won’t reproduce on demand.
Don’t run twelve probes once and call it done. Each probe becomes a small suite of cases in your eval harness, runs on every change to the AI, and is scored by an assertion or a judge — exactly like a correctness eval. A probe that passes today and fails after a model bump is the whole reason the gate exists. The list is the coverage; the gate is what keeps it honest.
A last note on honesty: not every probe applies to every feature at equal weight. A read-only FAQ bot barely has a data-exfiltration surface; an agent with tools and browsing has almost nothing but. Part of the work is deciding which of the twelve are load-bearing for your specific feature and weighting them accordingly — then proving the behavior with scores, not assurances.
I’ll run the full battery against your live feature.
Hundreds of probes, weighted to your actual risk surface, each one a reproducible case in a suite your team keeps. You get a scorecard of exactly where it breaks — and the gate that blocks those breaks before they ship. The call is free; you leave with the map either way.