Concepts

Prompts

A prompt is a named template with a version history. Each version is tagged with an environment and a default model.

Environments

EnvironmentTypical use
draftWork in progress, not yet tested against a dataset.
stagingPassed an initial review, being validated with evaluations.
productionThe version currently live.

Versioning

Every edit creates a new version rather than overwriting the last one — version numbers increment automatically. This keeps a full history of how a prompt evolved, and lets you point an evaluation run or playground session at any specific version, not just the latest.

From prompt to playground

  • Open a prompt's detail page and pick a version.
  • Click "Open in Playground" — the template text and default model prefill automatically.
  • Adjust temperature or max tokens and run it to see a live (mocked) completion.

Real template rendering

Templates use Mustache syntax, and it's actually rendered — not just displayed as literal text — when you use the "New run" form on Evaluations. Each test case's input becomes {{question}} and its joined context array becomes {{context}}:

Template:
You are a support agent. Using only the context, answer the question.

Context: {{context}}
Question: {{question}}

Rendered for one test case:
You are a support agent. Using only the context, answer the question.

Context: Our refund policy allows returns within 30 days of purchase.
Question: What is your refund policy?
Where you can see it
Leave the "Prompt template" field blank on a new run and the test case's raw input is used as-is. Paste a template and the rendered prompt replaces the input column in that run's results — a quick way to confirm the interpolation actually happened.

Choosing an environment as you iterate

  • Start new prompts as draft — nothing about the environment tag is enforced, it's purely informational, so drafting freely costs nothing.
  • Move to staging once you're validating with real evaluation runs — that's the signal to teammates that this version is under active testing, not just an idea.
  • Promote to production only after a run against your full dataset — and ideally a Compare against the previous production version — looks good.

Why templates, not just free text

A prompt tied to a fixed piece of text only works for one test case. A templated prompt works across an entire dataset — the same instructions, wrapper, and formatting, with only the question and context swapped per case. That's what makes a prompt version something you can actually evaluate at scale rather than eyeball one output at a time.