> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeroeval.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Version, track, and optimize every prompt your agent uses

Prompts are the instructions that drive your agent's behavior. Small changes in wording can dramatically affect output quality, but without tracking, you have no way to know which version works best -- or even which version is running in production.

ZeroEval Prompts gives you version control for prompts with a single function call. Every change is tracked, every completion is linked to the exact prompt version that produced it, and you can deploy optimized versions without touching code.

## Why track prompts

* **Version history** -- every prompt change creates a new version you can compare and roll back to
* **Production visibility** -- see exactly which prompt version is running, how often it's called, and what it produces
* **Feedback loop** -- attach thumbs-up/down feedback to completions, then use it to [optimize prompts](/autotune/prompts/optimization) and [evaluate models](/judges/introduction)
* **One-click deployments** -- push a winning prompt or model to production without redeploying your app

## How it works

<Steps>
  <Step title="Replace hardcoded prompts">
    Swap string literals for `ze.prompt()` calls. Your existing prompt text
    becomes the fallback content.
  </Step>

  <Step title="Versions are created automatically">
    Each unique prompt string creates a tracked version. Changes in your code
    produce new versions without any extra work.
  </Step>

  <Step title="Completions are linked to versions">
    When your LLM integration fires, ZeroEval links each completion to the exact
    prompt version and model that produced it.
  </Step>

  <Step title="Optimize from production data">
    Review completions, submit feedback, and generate improved prompt variants
    \-- all from real traffic.
  </Step>
</Steps>

## Get started

<CardGroup cols={2}>
  <Card title="Python" icon="python" href="/autotune/sdks/python">
    `ze.prompt()` and `ze.get_prompt()` for Python applications
  </Card>

  <Card title="TypeScript" icon="js" href="/autotune/sdks/typescript">
    `ze.prompt()` for TypeScript and JavaScript applications
  </Card>
</CardGroup>
