Blog
Why AI Agents Need Deterministic Solvers
Ask a large language model the same question twice and you can get two different answers. That isn't a bug — it's how they work. Understanding why matters if you're about to hand an AI agent a decision with real financial or operational consequences.
How AI agents actually work
A large language model generates its response one token at a time, sampling from a probability distribution over what could come next given everything so far. That is what makes them so good at language: they can take an ambiguous, messy, natural-language description of your problem and turn it into something structured. It is also what makes them fundamentally non-deterministic — the same prompt, run twice, can walk a different path through that distribution and land on a different answer. For a summary or a first draft, that variability is harmless, sometimes even useful. For a number that determines how much cloud capacity to commit to, or which physician works which shift, it is not.
An agent can reason its way to a schedule or a purchasing plan that looks right. It cannot prove no better one exists, and it cannot guarantee it will produce the same answer if you ask again tomorrow.
What an MCP server does
The Model Context Protocol (MCP) is an open standard, developed by Anthropic, for exposing tools, resources, and prompts to AI agents in a consistent way. Practically, it is the plumbing that lets an agent like Claude Desktop, ChatGPT Desktop, or Antigravity call out to a specialized external service mid-conversation — a database, an API, or, in Solvicus's case, a mathematical solver — instead of trying to compute the answer itself from first principles.
That handoff is the important part. MCP doesn't make the agent more deterministic; it lets the agent delegate the parts of the problem that need to be deterministic to something that already is.
Why the solver has to be deterministic
A solver working an LP or MILP formulation doesn't sample — it searches a well-defined space of feasible solutions and returns the one that is provably optimal, or proves that none exists. Feed it the same variables, objective, and constraints twice, and it returns the same answer twice, with the same guarantee both times. That repeatability is what makes the result explainable: you aren't defending “the model thought this was reasonable,” you're defending a constraint set and an objective that anyone can inspect.
That distinction is the whole architecture behind Solvicus: the agent handles the natural-language interface and the messy translation from your business problem into structured input; the solver handles the part that has to be exact, repeatable, and explainable every time. See what mathematical optimization actually computes, or go straight to the solver catalog to see what's running behind that handoff today.