Product
Prompt optimization that proves itself
July 12, 2026
Apprentice rewrites your prompt with DSPy's GEPA optimizer against your verified examples, then scores the old and new prompt on a held-out slice the optimizer never saw. You see the diff and the delta before anything changes in production.
Measured, not promised
- Receipt extraction (200 real scanned receipts): GPT-4o-mini went 72.9 to 84.2, a +11.3 gain from the prompt alone. Full write-up.
- Document type classification (Tobacco3482 OCR): gpt-5.4-mini went 78.33 to 81.67 with the shipped paperless-gpt prompt as baseline.
- Contract clause extraction (CUAD): gpt-5.4-mini went 34.0 to 36.3. Small gain, reported anyway. A run that barely moves is a real result.
Baseline prompt, then the GEPA prompt
Every number comes from the public, rerunnable benchmark repo.
How it works
The optimization loop
- Upload or capture examples; your team verifies rows into a gold set.
- GEPA proposes prompt rewrites and scores them against verified rows (gold plus silver).
- The final comparison runs on a held-out slice of verified rows the optimizer never saw. You see both scores and decide whether to adopt the new prompt; nothing changes on its own.
- The optimized prompt is plain text. You keep it, no lock-in.
pip install runapprentice
Start with the quickstart. No Apprentice fee; optimization runs use your model key. Local fine-tuning on Apple silicon ships too; eval-gated production takeover is coming soon. Weighing tools after the TensorZero and OpenPipe shutdowns? The decision guide, job by job.
Further reading: what makes a row verified, which surface to start with, and why prompts get worse over time. Or see every guide.