Start here
What is Tablua?
Tablua is an AI agent that keeps everything it is and does in tables. Every situation it was in, every move it could have made, the move it chose, who chose it and how it turned out is a typed row in one SQLite file. A tabular model reads those rows and learns which moves make progress.
Most agents keep their history as text: a long prompt, a chat log, or notes in a vector store. Tablua keeps it as data with columns. That one choice changes what you can do with an agent. You can query it, measure it, and teach it from its own record, the way you would with any other dataset.
- stateWhere the work standswritten by the host from facts
- candidateEvery move it could makewith each model's number for it
- decisionThe move it tookand who chose it
- actionWhat the move didcalls Mercury filled in
- outcomeHow it turned outchecked by the host, not a model
The outcome is the next step's starting point, and a labelled row the tabular model learns from.
What Tablua is made of
Tablua has two parts that work together:
- The harness. The part that runs the agent: its tables, its step loop, and the code that decides when each model is asked what. The harness is portable Lua. You can embed it in your own program, and it runs unchanged on LuaJIT, standard Lua and the BEAM.
- The computer. Each agent gets a computer of its own, called Moss. It has a disk, a shell, a browser and a mailbox, and all of it lives in the same SQLite file as the agent's tables. Moss is written in Elixir and Lua.
These docs are mostly about the harness, because that is where Tablua differs most from other agents.
Three models, each with one job
Tablua uses three models, and none of them does another's job:
| Model | Its job | What it writes |
|---|---|---|
| Jev | Decides the next move, with a probability for each option | candidate and decision rows |
| TabPFN | Learns from past rows which moves make progress | each move's chance of progress |
| Mercury | Writes what the chosen move needs: code, tests, pages | action rows |
The host, the program that runs the agent, writes the rest: where the work stands and how each step turned out. Those facts come from running checks, never from a model's opinion. Three models, one table explains why it is split this way.
Where to start
- New to Tablua? Read Why an agent as tables, then take A tour of one step. Neither needs code.
- Want to try it? The Quickstart writes your first rows in about five minutes, with LuaJIT and nothing else.
- Want to understand how it learns? Read How Tablua learns and Shared experience.
- Looking something up? The Reference lists every table, column, move and function.
Note
Tablua is open source under the Apache-2.0 license, and in active development. Status and roadmap says what works today, what has been measured, and what is still being built.