Where it fits

It goes behind what you already use, not in place of it.

You are probably the one being asked whether to recommend it. Sometimes the honest answer is a different tool with this sitting behind it. Nothing below is a roadmap: where a row says no, it means no.

In one paragraph

You already have something that works. This makes it work better.

Point it at something you already run that involves an AI answering a question. Give it examples where you know what the answer should have been. It writes a batch of alternative versions, tries each one against those examples, keeps what scored higher, and repeats. Typically about five minutes later you have a version that measurably beats the one you started with, plus the before-and-after number, plus a note on what actually made the difference.

The thing it hands back is a setting, not software. You look at it, and you decide whether to use it. Nothing changed on your side while it was working, and nothing changes on your side afterwards unless you deliberately make it so.

Three things it will not do

The limits, before the pitch.

These are structural, not roadmap items. If one of them rules you out, it rules you out today and next quarter.

It needs examples you have already answered

This is the hard requirement, not a nice-to-have. It improves things by scoring them, and it cannot score anything without knowing what a right answer looks like. A few hundred rows where you already know the answer is enough; nothing at all is not.

It changes settings, never the model

It tunes what you expose to it: wording, thresholds, model choices, the knobs your own system already has. It does not touch model weights, architectures, or anything learned inside the model. If your problem is that the model itself is wrong for the job, this will not fix that.

It reads your system and writes nothing back

It only ever changes the settings you have listed as changeable. There is no code generation, no rewriting of your service, no migration to undo if you walk away. The worst case is that you spent some tokens and learned the score would not move.

It sits next to, not instead of

What it connects to today.

Recommending the right tool and recommending this one are usually the same conversation. Where something else is the better answer, it normally still works underneath it.

  • Langfuse

    Tracing and observability
    Yes Connected, on by default

    Every call it makes is traced. Traces are written to your own disk with no Langfuse instance involved, and stream to a Langfuse project the moment you add credentials. If Langfuse is the right answer for a client, this sits behind it rather than competing with it.

  • MLflow

    Experiment tracking
    Yes Connected, off by default

    A peer to the Langfuse sink. Flip it on and every round lands in your own MLflow server alongside whatever else you track there.

  • OpenAI · Anthropic · Groq · OpenRouter

    Model providers
    Yes All four, on your own keys

    OpenRouter is the default because it reaches the most models for the least setup. Anything OpenAI-compatible works; Anthropic has its own client. You bring the key, and you can see the spend as it happens.

  • LangChain · LangSmith · LlamaIndex

    Frameworks and their tooling
    No No integration

    There is no built-in support for these today, and we would rather say so than imply one. If what you built with them can answer over HTTP and say which settings it will let a caller change, the general path below still applies.

  • MCP

    Tool protocol
    Later Not shipped

    Planned, not written. It will show up on this page when it lands and not before.

Will it work with what I run?

Two questions decide it.

  1. 1

    Can it answer a question when asked over HTTP?

    Send it a question plus a set of settings, get an answer back. That is the whole requirement on this side.

  2. 2

    Can it say which settings a caller may change?

    A list, published once, of the knobs you are willing to let something else turn. That list is the permission boundary: nothing outside it is ever touched.

If both answers are yes, it can be optimized with no change to PromptPotter and no PromptPotter-shaped code in your system. If your system is Python and you would rather wire it in directly than stand up an HTTP surface, there is a plugin path that does the same job from your own package, without forking anything.

Worth knowing before you install one: a connector is ordinary trusted code, not a sandbox. Loading one runs it inside the same process, where it can see your provider keys. Treat a third-party connector the way you would treat any dependency you give credentials to.

The exact shape of both sides is written down: connecting your own system, the settings list, and the full source.