Build super-human expert systems

Tarski turns your experts' knowledge into rules that run. LLMs read the messy input and suggest actions. Your rules decide which suggestions to act on, and every decision traces back to the evidence behind it.

What Tarski is

An expert system makes decisions the way a specialist does: it applies rules to the facts of a case. Underwriting, triage, incident response, and pricing approval all work this way.

Expert systems are decades old, and two problems held them back. Someone had to write every rule by hand, and the system could read only clean, structured data. Coding agents now write the rules from your experts' policies and example cases. LLMs now turn documents, chat, and audio into structured facts.

Tarski is the platform that puts the two together. The LLM can propose facts and actions, and only your rules can accept them.

Where it outperforms a human expert

Your experts decide what the rules should be. Tarski applies those rules with more consistency and a longer memory than any one person.

Applies every rule to every case

A specialist under time pressure skips checks. The Tarski engine evaluates all of your rules each time a new input arrives.

Keeps a complete record

Every input is stored in a permanent log on object storage. You can replay any past decision and get the same result.

Explains each decision

Every fact and action links back to the inputs and rules that produced it. Studio shows the full chain.

Turns mistakes into tests

Save a wrong decision as a scenario. Every later change to the rules is checked against it.

How it works

Tarski records every input, uses your rules to derive facts and decisions from that record, and runs an action only after checking it against your invariants.

1

Record

Messages, documents, API events, and LLM outputs are appended to a permanent log. Entries are never edited in place.

2

Derive

Your rules compute the current facts from the log. The same log always produces the same facts, so any past decision can be replayed exactly.

3

Decide

LLM output arrives as candidate.* facts and proposal.* actions. A rule you can read accepts it, rejects it, or sends it to a person for review.

4

Act

Before an action runs, Tarski checks it against your invariants. An action that would break one is refused, and the receipt names the invariant.

What your experts review

Your experts don't need to read the generated rules. They review three short artifacts written in terms they already use, and Tarski enforces them.

Scenarios

A sequence of events and the outcome your expert expects. Tarski runs each scenario on the production engine and compares the result exactly.

scenario "refund above policy"
  given  refund.requested  $1,900
         policy.auto_limit $500
  expect refund.state = held
         effects.sent = none

Invariants

Outcomes the system must never produce, such as an offer below the price floor. Tarski checks every invariant before any action runs.

invariant no_offer_below_floor
  never offer.price
      < vehicle.floor_price

checked at every fixpoint

Provenance

The chain from an action back to the inputs that caused it. When a decision looks wrong, start here.

effect#e91  send_offer
 ← intent#i77  admitted
 ← fact  offer.approved
 ← obs#o1042  mgr.confirmed

Check every case before you deploy

tarski verify runs every scenario on the production engine and checks every invariant. Your coding agent runs it after each change to the rules, and you review the result.

Install the tarski CLI

terminal

Tarski compared with a standalone LLM agent

A standalone LLM agent keeps its expertise in a prompt. A Tarski system keeps it in rules you can read and test, and uses the LLM to read input and make suggestions.

Standalone LLM agentExpert system on Tarski
Where the expertise livesA system prompt and the model's trainingRules your experts can review and your coding agent can test
What stops a bad actionPrompt instructions and output filtersInvariants, checked before any action runs
Explaining a decisionA rationale the model writes after the factA provenance chain from the action to the recorded inputs
Fixing a mistakeEdit the prompt and re-test by handSave the case as a scenario; every later change is checked against it
ConsistencyThe same input can produce different outputThe same log always produces the same decisions
MemoryThe context window plus whatever retrieval returnsEvery input, kept permanently and replayable

Tarski is in private beta

We work with a small number of design partners at a time and help each one build its first expert system.