Positioning

AI at build time.
Certainty at run time.

milli.run turns messy company knowledge — traces, policies, code, workflows, datasets — into structured, agent-friendly skills. Then it compiles the repeatable parts into a deterministic runtime.

2ms
to decide, vs 9.4 s for a live LLM call
86.7%
accuracy, vs 78.7% zero-shot 35B — published benchmark
1CPU
runs the live path — no per-message model bill
100%
of actions gated by explicit rules and logged

Problem. Merchants deploying AI support agents put a jumbo model in the request path. That buys 9.4-second latency, 78.7% accuracy, a different answer to the same question each run, and no audit trail [1]. The knowledge the agent needs — refund policies, ticket history, order data, escalation rules — already exists inside the business. It's just illegible to machines: scattered across docs, macros, tribal memory, and code.

Why. Two jobs are conflated in every live-LLM deployment. Figuring out what a business's intents, policies, and permissions are is a knowledge-acquisition problem — slow, benefits from big models and human review. Deciding what to do with this message right now is a control-loop problem — needs to be cheap, deterministic, boring. milli.run is the split, productized.

How it works.

  1. Skills first. milli.run ingests what the merchant already has — support tickets, refund policies, macros, Shopify order data, workflow docs — and compiles it into structured skills an agent can consume: intents, entities, guardrail predicates, approved actions. Plainly: we turn your ticket history and policy docs into something an AI can't misread. Useful on day one, even with an existing agent stack.
  2. Runtime second, where it earns it. The repeatable majority of those skills — WISMO, exchanges, cancellations, address edits — gets promoted into a deterministic runtime: lightweight classifiers plus compiled graph queries, no model in the decision path, sub-50ms, every transition audited [2]. The LLM writes the classifier at build time; it never decides "refund this order" at request time.

What the merchant gets.

Existence proof. The compile-then-run split is benchmarked: on real support-style classification, an SVM hits 86.7% at 2ms vs 78.7% at 9.4s for a zero-shot 35B model — better accuracy at 4,700× the speed [1]. The category is validated at the top of the market: Salsify's SalsifyIQ puts a compiled knowledge graph between raw product data and AI agents for pre-purchase content [3]. milli.run does it for the merchant's own operational knowledge, post-purchase, starting on Shopify.

TL;DR. milli.run makes a merchant's messy knowledge agent-legible, then runs the repeatable parts deterministically. The AI does its work at build time; the customer-facing path is fast, cheap, identical every time, and accountable.
References
[1] DSPy-facility-support-example — FINDINGS.md. github.com/metonymize-kripa/DSPy-facility-support-example
[2] neurosymbolic-runtime/ARCHITECTURE.md — live loop, latency budget, audit requirements.
[3] Salsify SalsifyIQ, MCP layer, ACP channel (July 2026).
Interactive demo · 2½ min

One customer message.
Two ways to handle it.

A side-by-side run: today's "AI agent guessing live" vs. milli.run's compiled runtime. Watch speed, cost, reliability, and control diverge.

Demo

Same job, two ways

0:00
⚠ Without milli.run live AI agent, guessing per message

Speed

Cost

Reliability

Control