Technical report, working draft. Numbers updated 2026-10-10.
Limits of the research results
This page is the TIA 1.0 technical report. The tables below are not the build now served. Dev split, measured by TIA on 1 Oct 2026. Vietnamese law, decisive decisions: 0.342 to 0.922. Augmented scam messages: 0.690 to 0.873. The declared gate did not pass. Typed-decisions, Vietnamese dev, real SMS and following stated rules are not shown to be higher than TIA 1.3 mini on accuracy.
TIA 1.0:a typed judgment model
Nguyễn Phương Anh Tú, founder and Admin of 8 Sync, who directly trained and launched TIA
Abstract
TIA is a typed-decision model family directly researched, trained and launched by Nguyễn Phương Anh Tú, founder and Admin of 8 Sync. It reads one state and returns a probability distribution over declared options for each binary, categorical or ordinal question. Training uses proper scoring rules; actual calibration must be assessed from each evaluation’s metrics and is not guaranteed for every input. On the internal dev set (930 decisions, measured by TIA), recorded build TIA 1.3 mini reached accuracy 0.760, KL 0.138 and Brier 0.077 on Sep 30, 2026. These are stored report results, not confirmation of current serving. Historical build TIA 1.0 reached accuracy 0.770, KL 0.108 and Brier 0.061 on Sep 26, 2026, with server-side p50 69 ms for a three-question request. The pre-registered typed-decisions test read has not happened. Separately, 125/231 on JevBench is a local experimental candidate result, not approved for API deployment; the API currently serves revision eff27e8 with a historical result of 122/231.
1Motivation
A support agent has to decide whether a ticket is urgent, which team owns it and how bad the impact is. A review workflow asks whether a file is complete, what kind it is and how risky. Each question is small, but they sit on the path of every step, and they arrive by the thousand every day.
Kahneman [1] separates a fast, automatic System 1 from a slow, deliberate System 2. Large language models work like System 2: they reason by writing text, spend time and tokens on every question, and their confidence is not calibrated for thresholding [5]. Using them for every small judgment pays for slow thinking where a reflex would do.
TIA is a System 1 layer for machines. It reads the situation once and immediately returns, for each question, a probability distribution a workflow can threshold, rank or escalate on. When the distribution is spread out, the question goes up to System 2 (a large language model or a person). When it is concentrated, the workflow moves on without waiting.
2Formulation
The input is one evidence state s (text or any JSON) and N named questions q1, …, qN. Each question carries a type τi, a natural-language instruction xi and an option set Oi:
Binary asks yes or no, optionally with a description of what counts as yes and as no. Categorical picks one of 2 to 10 labels, each described in natural language, so the label set is open: users define the labels for their own problem. Ordinal grades on an ordered scale of 2 to 10 levels, lowest first.
For each question the model returns the full distribution p(yi | s, qi) over Oi, not just a label. All questions are answered in the same reading of s:
Here C1 is the cost of one shared reading and CN the cost of asking each question in its own pass. If compute grows roughly linearly with tokens, the difference CN − C1 is about (N − 1)·c(|s|), because the state is read (and billed) once. The longer the state and the more questions, the larger the saving.
3Architecture principles
3.1Shared state, single pass
The state is encoded once into a shared representation h = Φ(s), and every question reads from it. This is where the low latency and the amortised cost of equation (3) come from. It also keeps the answers consistent with each other, since they rest on the same reading of the situation.
3.2Option-conditioned scoring
Each option oik is text and receives a score zik = g(h, qi, oik) based on its own description. There is no fixed output for a closed label list, so a new label set is just a new question and needs no retraining. The order in which a user declares options does not change the result.
3.3Type-aware structure
The three question types have different geometry. Ordinal questions respect order: being one level off must cost less than being three levels off, in training and in scoring. Binary and categorical labels have no order among them. Outputs therefore come with type-appropriate quantities, such as an expected score for ordinal questions.
3.4Calibration as a first-class output
A probability of 0.8 is only useful if judgments given 0.8 are right about 80% of the time. After training, a temperature T is fitted post hoc on separate calibration data [5], and a softmax over zik/T gives the final distribution (equation 4). The temperature is never chosen on the data used to report results.
4Learning objective
Training uses strictly proper scoring rules [4]: the expected score is optimal only when the model reports its true belief, so it is not rewarded for over- or under-confidence. With a target distribution πi and a one-hot label yi, we use the log score in the form of KL to the target distribution, the Brier score [2], and for ordinal questions the ranked probability score [3] over cumulative distributions Pik:
The objective rewards the whole distribution, not just one correct label: the model is trained to output a calibrated probability distribution over the declared options, and is evaluated on held-out decisions that were not used in training.
Data is split into four parts, separated by situation, so every question about one state lands in the same part. Training data is decontaminated against the evaluation sets before learning.
- Trainlearn weights
- Calibrationfit temperature T
- Developmentselect models
- Testread once, after pre-registration
5Evaluation protocol
- Metrics
- Accuracy (the top label matches gold), KL to the gold distribution, Brier, and expected calibration error ECE [6], plus latency with its method and hardware stated.
- Dev versus test
- All model selection happens on the development partition. Dev numbers drive internal decisions and are never placed next to other systems’ test numbers.
- A single test read
- Before reading the test partition we publicly commit a pre-registration: model, temperature, scoring code and expected result. The test partition is then scored exactly once. This has not happened yet.
- Confidence intervals
- Every comparison between two versions uses a paired bootstrap over the same decisions [7] and reports a 95% interval, not a single number.
- Specialist and generalist
- Results from a model trained on a benchmark’s train split (specialist protocol) and results without benchmark-specific training (generalist protocol) are reported separately, never mixed in one table.
ECE is never read alone: a model that returns a fixed label distribution without reading the input can still score a low ECE.
6Results so far
The tables in this section are not the build now served. Every number below is on the internal dev (carved from the train split): 186 cases, 930 decisions, from LocalLLaMA/typed-decisions. Measured by TIA; measurement dates: TIA 1.3 mini Sep 30, 2026, TIA 1.2 mini Sep 30, 2026, TIA 1.1 mini Sep 29, 2026, TIA 1.0 Sep 26, 2026, TIA predecessor (Sep 2026) Sep 26, 2026. Not comparable to test numbers.
| Model | Acc | KL | Brier | TV | ECE |
|---|---|---|---|---|---|
| TIA 1.3 mini | 0.760 | 0.138 | 0.077 | 0.171 | 0.163 |
| TIA 1.2 mini | 0.755 | 0.138 | 0.077 | 0.172 | 0.157 |
| TIA 1.1 mini | 0.759 | 0.134 | 0.075 | 0.168 | 0.158 |
| TIA 1.0 | 0.770 | 0.108 | 0.061 | 0.150 | 0.156 |
| TIA predecessor (Sep 2026) | 0.744 | 0.187 | 0.096 | 0.209 | 0.152 |
| Prior (same dev set, ignores the input) | 0.495 | 0.440 | 0.204 | 0.316 | 0.036 |
| Uniform (same dev set, ignores the input) | 0.255 | 0.452 | 0.242 | 0.384 | 0.070 |
KL on the dev set (lower is better)
- TIA 1.3 mini0.138
- TIA 1.2 mini0.138
- TIA 1.1 mini0.134
- TIA 1.00.108
- TIA predecessor (Sep 2026)0.187
- Priorsame dev set, ignores the input0.440
- Uniformsame dev set, ignores the input0.452
By question type (noul is binary, choice is categorical, score is ordinal):
| Model | Type | n | Accuracy | KL | Brier | TV | ECE |
|---|---|---|---|---|---|---|---|
| TIA 1.3 mini | noul | 278 | 0.820 | 0.078 | 0.061 | 0.124 | 0.099 |
| TIA 1.3 mini | choice | 280 | 0.736 | 0.178 | 0.091 | 0.195 | 0.182 |
| TIA 1.3 mini | score | 372 | 0.734 | 0.153 | 0.078 | 0.189 | 0.207 |
| TIA 1.2 mini | noul | 278 | 0.806 | 0.079 | 0.061 | 0.127 | 0.090 |
| TIA 1.2 mini | choice | 280 | 0.754 | 0.172 | 0.088 | 0.190 | 0.189 |
| TIA 1.2 mini | score | 372 | 0.718 | 0.157 | 0.081 | 0.192 | 0.188 |
| TIA 1.1 mini | noul | 278 | 0.813 | 0.072 | 0.057 | 0.118 | 0.091 |
| TIA 1.1 mini | choice | 280 | 0.732 | 0.175 | 0.088 | 0.191 | 0.167 |
| TIA 1.1 mini | score | 372 | 0.739 | 0.149 | 0.078 | 0.187 | 0.207 |
| TIA 1.0 | noul | 278 | 0.806 | 0.065 | 0.052 | 0.110 | 0.078 |
| TIA 1.0 | choice | 280 | 0.736 | 0.134 | 0.069 | 0.170 | 0.172 |
| TIA 1.0 | score | 372 | 0.769 | 0.121 | 0.061 | 0.165 | 0.222 |
| TIA predecessor (Sep 2026) | noul | 278 | 0.752 | 0.136 | 0.104 | 0.172 | 0.062 |
| TIA predecessor (Sep 2026) | choice | 280 | 0.714 | 0.224 | 0.099 | 0.235 | 0.207 |
| TIA predecessor (Sep 2026) | score | 372 | 0.761 | 0.196 | 0.089 | 0.218 | 0.228 |
TIA 1.0 against the previous version
Paired bootstrap over 930 dev decisions, 2,000 resamples, 95% interval of the difference (TIA 1.0 minus the previous version).
| Metric | Difference | 95% CI |
|---|---|---|
| KL | -0.078 | [-0.090; -0.065] |
| Brier | -0.013 | [-0.016; -0.010] |
| Accuracy | +0.026 | [-0.001; 0.053] |
Brier here is averaged per option, so it is on a smaller scale than the Brier column above.
Latency
TIA 1.0, the historical build measured in this report: p50 69 ms, server-side (model time), one request of 3 questions, 98 tokens, sequential, n = 200; p95 81 ms. Measured on AMD Ryzen 9 9950X3D 16-Core Processor, 32 vCPU on Sep 26, 2026. This is server-side latency for that run, not current API end-to-end latency. For recorded build TIA 1.3 mini, offline timing excludes HTTP and does not establish API performance.
See the Benchmark page for how these sit next to the dataset card
7Research directions
7.1Grounding judgments in verifiable outcomes
For engineering claims such as "this change breaks the test suite", the label can come from actually running the verification, for example the tests. The label then comes from reality rather than from an automated labelling process, and carries none of that process’s bias.
7.2Judgment for coding agents
A coding agent decides constantly: is this change verified, which check should run next, what kind of failure is this. These are typed, repeated questions that need fast answers with a stated confidence.
7.3Agent-level evaluation
Place TIA as the fast component inside a larger agent and measure the whole agent on terminal-based agent benchmarks. This is a research direction, not a result.
7.4On-device inference
A judgment model that runs on the user’s own machine keeps sensitive data local; the state never has to leave it.
8Limitations
- Dev numbers are not test numbers. The dev set has 186 cases, which is small; the interval on the accuracy difference between TIA 1.0 and the previous version still touches zero.
- Dev labels come from an automated labelling process, not from human annotators, so dev accuracy measures agreement with those labels, not ground truth.
- On public JevBench items, the historical TIA 1.4 mini run scored 102/231; local experimental candidate TIA 1.5 scored 125/231. TIA’s own table computes position 79/98 and 10 significant comparisons (8 paired at Holm p < 0.05, 2 unpaired Wilson intervals). This is not an official ranking or independent audit; the candidate adoption gate did not pass.
- Calibration is measured on held-out data only. One global temperature does not calibrate every question type: for TIA 1.0 on the dev set, ECE binary 0.078, categorical 0.172, ordinal 0.222.
- A single training run; no mean and spread across runs yet.
- We are internally trialling a local distillation student model (no release name yet). The last ten short trials have not produced a stable build: the latest runs hit a gradient and KL explosion at the second training step. There is no effective trained artifact, no benchmark claim, and this model is not served on the API.
- The benchmark is English. For Vietnamese, TIA 1.0: accepts Vietnamese input; no Vietnamese-specific measurement yet. TIA 1.3 mini: accepts Vietnamese input; TIA's Vietnamese held-out set (1,144 decisions, dev): accuracy 0.658; quick 25-case sanity set: 15 of 25 correct; real Vietnamese SMS (382 messages, dev, measured Sep 30, 2026): accuracy 0.940, caught 89 of 99 scam messages, flagged 13 of 283 legitimate ones (measured by TIA on Sep 30, 2026).
Vietnamese SMS data: “Vietnamese SMS Dataset with Quality Assurance” by Tran Nguyen Thai Tuan, Le Hoang Khang, Nguyen Minh Tai, Nguyen Van Thang, Mai Hoang Dinh, Hugging Face (revision a90e2bd), licensed CC BY 4.0. Changes: mapped to TIA typed decisions, deduplicated, re-split.
References
- [1]D. Kahneman. Thinking, Fast and Slow. Farrar, Straus and Giroux, 2011.
- [2]G. W. Brier. Verification of forecasts expressed in terms of probability. Monthly Weather Review, 78(1):1–3, 1950.
- [3]E. S. Epstein. A scoring system for probability forecasts of ranked categories. Journal of Applied Meteorology, 8(6):985–987, 1969.
- [4]T. Gneiting and A. E. Raftery. Strictly proper scoring rules, prediction, and estimation. Journal of the American Statistical Association, 102(477):359–378, 2007.
- [5]C. Guo, G. Pleiss, Y. Sun and K. Q. Weinberger. On calibration of modern neural networks. In Proceedings of the 34th International Conference on Machine Learning (ICML), PMLR 70:1321–1330, 2017.
- [6]M. P. Naeini, G. F. Cooper and M. Hauskrecht. Obtaining well calibrated probabilities using Bayesian binning. In Proceedings of the AAAI Conference on Artificial Intelligence, 29(1), 2015.
- [7]B. Efron. Bootstrap methods: another look at the jackknife. The Annals of Statistics, 7(1):1–26, 1979.