Prompts
A prompt is a named template with a version history. Each version is tagged with an environment and a default model.
Environments
| Environment | Typical use |
|---|---|
| draft | Work in progress, not yet tested against a dataset. |
| staging | Passed an initial review, being validated with evaluations. |
| production | The 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?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.