Skip to content

Prompt Manager

What elsai Prompt Manager is, what problem it solves, and how it fits into your AI stack.

The problem

Most teams start with prompts living in Python strings inside their application code. That works for a week. Then:

  • Marketing wants to tweak the tone — but they don't have a PR workflow.
  • A production prompt is silently broken — and nobody knows which commit changed it.
  • You ship a new model and want to A/B two prompts — but each rollout is a code deploy.
  • Your eval pipeline needs the exact prompt that ran on a customer last Tuesday — and you can't get it back.

Prompts are content. They change faster than code, are edited by non-engineers, need review before going to customers, and need to be reproducible long after they were edited. Application repositories are the wrong home for that.

What elsai Prompt Manager does

elsai Prompt Manager is a prompt registry and runtime: a central place where prompts are written, reviewed, versioned, released to environments, and fetched at runtime by your applications via a lightweight SDK.

Authoring UI

A web interface for writing prompts, reviewing diffs, leaving comments, and approving changes — built for collaboration between engineers, PMs, and prompt specialists.

Immutable versioning

Every save creates a content-addressed version. Rollbacks are instant. History is permanent. Audit logs answer "who changed this, when, and why."

Environment promotion

Release a specific version to development, then testing, then production — independently of when your application deploys. Promote with one click; roll back the same way.

Typed Python SDK

pip install elsai-prompts. Fetch the active version for your runtime environment. Get back a typed PromptContent with a uniform .render() regardless of prompt kind.

The four kinds of prompt

Not every prompt is a single block of text. elsai Prompt Manager treats four shapes as first-class:

Instruction

A single string of guidance — the most common shape. Optional system_prompt. Used for classic single-turn LLM calls.

F-string

A template with placeholders. The SDK renders it with values you supply at call time. Variable specs are stored with the prompt so your UI can collect them.

Chat

A list of {role, content} messages — system, user, assistant — with in any message body. Renders to the message-array shape every chat-completion API expects.

Structured

A base prompt (instruction, f-string, or chat) paired with a JSON response schema. Renders to {base, response_schema} so you can plug it directly into an OpenAI/Anthropic structured-output call.

All four return a single PromptContent type. prompt.render(variables) does the right thing per kind — no branching in your application code. See Prompt Kinds for details.

SaaS or on-prem — same product

The platform ships in two deployment modes:

The SDK is identical between them — the only difference is one constructor argument (base_url) for on-prem to point at your deployment. Switch between SaaS and on-prem later without rewriting application code.

Where to go next

Copyright © 2026 elsai foundry.