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.
- 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.
- 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.
- Speed 2ms decisions vs 9.4s — the customer gets an answer before they look up.
- Cost The live path runs on one CPU. No per-message model bill; no cleanup bill for wrong refunds.
- Reliability Same input, same answer, by construction. Uncertain cases route to a human with full context instead of being guessed at.
- Control Every action is gated by explicit predicates (identity verified, order unshipped, dollar impact under cap) and written to an audit log: what the system saw, what it checked, what it did, which reviewed version of the rules was running. Policy changes ship like code — edited once, reviewed, versioned — not prompt-tweaked and prayed over.
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
[2] neurosymbolic-runtime/ARCHITECTURE.md — live loop, latency budget, audit requirements.
[3] Salsify SalsifyIQ, MCP layer, ACP channel (July 2026).