Git-like prompt management for production AI.
Version, label, A/B test and rollback your prompts — without redeploys, without scattering string literals across edge functions.
- • Prompts hardcoded across 30 edge functions.
- • "Who changed the welcome prompt yesterday?" — git blame.
- • Want to test a new wording → branch, PR, deploy, watch logs.
- • Rollback = revert commit, redeploy, hope nothing else changed.
- • Prompts live in a registry, called by slug.
- • Every save is a version with an author and a diff.
- • Run an A/B by traffic %; metrics show the winner.
- • Rollback = re-point a label. Atomic. Zero deploys.
Call a prompt the way you call a function.
const r = await ai.prompts.chat({
slug: 'welcome-email',
label: 'production', // or 'staging', or 'experiment-v3'
variables: { name: 'Ada', plan: 'Pro' },
});
console.log(r.text);
console.log(r._meta.promptVersion); // version that served this call
console.log(r._meta.costUsd);
Versioned prompts
Every save is a version with a diff. Browse the history, compare, restore.
Labels: production, staging
Promote a version by re-pointing the label. SDK calls by label, not version id.
A/B by traffic %
Split traffic between two versions. Watch metrics. Ship the winner.
Instant rollback
One click moves the production label back. No redeploy, no PR.
Per-tenant overrides
A tenant can pin a different prompt without forking your codebase.
Variables, typed
Pass variables; odnoga substitutes server-side and logs the resolved prompt.
Frequently asked
How is this different from LangSmith or PromptLayer?
Those are observability tools you bolt on. odnoga's prompt registry is part of the gateway — calls are routed and metered together with prompt version, per tenant, with no extra SDK and no separate billing.
Can I A/B test prompts in production safely?
Yes. Set a traffic percentage on a version. odnoga routes that share and tags every response with the version that served it, so your analytics show which one won.
Can non-engineers edit prompts?
Yes. Prompts live in the dashboard with role-based access. Engineers ship the slug; product or ops iterate on the prompt without touching code.
What happens on rollback — do in-flight requests break?
No. The label flip is atomic. New requests use the new version, in-flight requests finish on the old one.