Skip to content

Variants

Create 4-5 variants from each original task.

To create variants:

Variant with system instructions:

Slightly change the system prompt to a variant scenario.

  • Behavioral: include a different kind of behavior, e.g. the assistant should be concise, the assistant should be kind, etc.
  • Data related: change a data value such as a date, name, email, or phone number.
  • Policy related: change a default, a confirmation rule, or the user's role.

Variant with user persona:

Use exactly the same schema and system prompt, but change the user's behavior.

  • Users may have different personas, e.g. a user may hold back some information, or provide it all at once.

Variant with JSON schema:

Slightly change the JSON schema while keeping the rest the same.

  • Update the JSON schema with competing or mixed functions (if the original includes 3 functions, the variant might include 5-6).
  • Rename tools, reorder params, or change the param style, keeping the same intent, so the model doesn't overfit on names.

Variant with adversarial cases:

Unhappy cases, where the assistant can't fulfill the request at once, gives up, fails gracefully, or recovers from failure.

Variant with tool results:

Keep the conversation the same, but change the tool result: empty, partial failure, error with hint, timeout, or huge output.

Variant with noisy user prompt:

Users may ask for the same thing with different wording and/or noisy data.

  • Some users might be toxic
  • Some users might use slang
  • Some developers might include the user prompt in JSON/HTML format
  • Some users might be verbose
  • Some users might use shortcuts, e.g. "properties.color = red" instead of "give me red products"
  • Some users might write in another language, or mix languages