Decides in one pass.
Thinks only when unsure.
StartLux-Decision models put a calibrated probability on every option of a typed question. Instant answers in a single forward pass. AutoThink answers the same way when it is sure, and writes a short thought first when it is not.
Decision Index 0.3
Ahead at every size.
On the public subset of Decision Index 0.3, the Instant model leads the strongest evaluated decision model of comparable size by 7.4 to 16.9 points, from 0.8B to 27B.
Results
Score, speed and hard decisions, size by size.
Choose a size to compare each model's Decision Index score, its latency on one H200 and its DecisionPivot pair accuracy.
Decision Index 0.3, public subset, in points, AutoThink at gate 0.9. Reference scores come from the public board, except ‡, which we ran with the public kit: Decision 3.0 with our pipeline and H2O-Lightning-4B with its own prompt and read-out. FlyMyJev-4B has no score because its 26-option limit prevents a complete run.
Latency: median milliseconds per request on one H200 with vLLM, one request in flight, over the 186 of 300 index requests that every compared system answers in one pass, three runs pooled. † AutoThink: its two read-outs, each one forward pass, timed on the same requests with thinking off on the release engine: 38.3, 38.5 and 59.4 ms at 4B, 9B and 27B. A request it is sure of needs only the first. The thought between the two read-outs is not included. Its time depends on the thought's length, and we have not measured decoding speed in tokens per second.
DecisionPivot: pair accuracy on the 7,800 core items, AutoThink at gate 0.9. Instant values at 4B and 9B are the AutoThink scores minus the reported gains.
DecisionPivot
Decisions that hinge on one detail.
DecisionPivot tests decisions whose answers a program can verify: policies, ledgers, schedules, permissions and tool calls. Its core track has 13 generated task families of 600 examples each, mostly built as contrast pairs that differ in one answer-changing detail. A pair counts only when both answers are right.
At gate 0.9, AutoThink adds 11.5 to 18.4 points of pair accuracy over Instant at the same size, and the 27B model reaches 86.9%, the highest among the systems we evaluated, including GLM-5.3 with reasoning. We did not use DecisionPivot for any data, checkpoint or configuration choice.
Pair accuracy, %. Lighter: Instant. Full bar: AutoThink at gate 0.9.
Demos
One typed request per step.
Recorded with the first StartLux-Decision-27B release. Every step is one request with typed questions, and the game or the browser does what the model picks.
How it works
How a decision is made.
A real case from DecisionPivot, answered by the 27B AutoThink model. A sure question stops after the first step. With the gate at 0.9, over all 7,800 core items, the model answers 39% in one pass, 96% of them correctly, and thinks on the rest, where accuracy rises from 57% to 93%.
CaseExport of 8 records from an account under a legal hold. What should happen?
first read-outThought0 tokens
approve = 0.25 × 0.408 + 0.75 × 0.995 = 0.848
The gate
Choose how often it thinks.
The gate sets the confidence below which AutoThink writes a thought. A lower gate thinks less and answers faster. A higher gate thinks more and is more accurate, above all on decisions that need rules or arithmetic. The default is 0.6. The published results use 0.9.
Accuracy by gate (lines) and share of questions that think (area)
Measured on an H200 at 0.6, 0.7, 0.8 and 0.9
Lines and the area are simulated from the 0.9 run over all 51,506 questions: a lower gate keeps the first read-out for questions above it. The measured values come from separate runs of the release engine at each gate.
Models
Two variants, one interface.
Both variants accept text, JSON and images, read long documents, and answer in the same response format.
| Instant | AutoThink | A general chat model | |
|---|---|---|---|
| How it answers | Reads the prompt once, in both directions, and scores every option in one forward pass. | Scores every option in one pass. Below the gate, 0.6 by default, it writes a short thought, then scores again. | Writes text token by token and names an answer at the end. |
| What comes back | A probability for every option you listed. | A probability for every option you listed. | Text to parse, which may name an option you did not offer. |
| Cost | One read-out: 25 to 52 ms median per request on one H200, from 0.8B to 27B. | One read-out when sure, 38 to 59 ms median on one H200. When unsure, a thought and a second read-out. The thought's time depends on its length. | Generation time on every answer. |
| Sizes | 0.8B, 2B, 4B, 9B, 27B | 4B, 9B, 27B | |
| Best for | High-volume routing, classification, extraction and ranking. | Decisions that need rules, arithmetic or several checks: policies, ledgers, schedules. | Explaining a decision once it is made. |
Deployment
Runs on your hardware.
The same request returns the same response format on every engine. Instant models read the prompt bidirectionally on each runtime, and FP8 and GGUF Q8_0 keep decision quality close to BF16.
vLLM
BF16, or FP8 at load time. One server per GPU behind the decision server, with images and contexts of up to 262,144 tokens (131,072 for Instant).
llama.cpp
GGUF Q8_0 and Q4_K_M, with an F16 vision file for images. Q8_0 stays within 1.3 points of BF16 on DecisionPivot.
MLX
8-bit and 4-bit builds for Apple silicon that read images. The 27B models run on a 64 GB laptop.
Hosted API
The 27B AutoThink model behind a System One compatible endpoint. Keys from contact@startlux.com.
| Runtime | 0.8B | 2B | 4B | 9B | 27B |
|---|---|---|---|---|---|
| vLLM BF16H200, 1,024-token prompt | 31 | 32 | 41 | 42 | 98 |
| vLLM FP8H200, 1,024-token prompt | 33 | 33 | 39 | 40 | 72 |
| llama.cpp Q8_0H200, index requests answered in one pass | 21.1 | 25.7 | 40.6 | 53.8 | 140.7 |
| MLX 4-bitApple M5 Pro 64 GB, 1,024-token prompt | 64 | 144 | 571 | 1,041 | 3,308 |
Get started
Serve a model in three commands.
Install and serve
git clone https://github.com/StartLuxLabs/StartLux-Decision.git && cd StartLux-Decision pip install -e '.[vllm]' hf download startlux-models/StartLux-Decision-v1.1-4B-AutoThink --local-dir models/4B-AutoThink startlux-decide serve --model models/4B-AutoThink --launch-vllm --gpus 0,1,2,3 --port 8090
Request
curl -s localhost:8090/v1/systemone \
-H 'Content-Type: application/json' -d '{
"state": {"ticket": "I was charged twice for order
#4411 and the app still shows it as unpaid."},
"questions": {
"team": {"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {"billing": "Payments and refunds",
"shipping": "Delivery",
"technical": "App and login"}},
"urgent": {"type": "noul",
"instructions": "Should this be answered today?"},
"severity": {"type": "score",
"instructions": "How severe is the impact?",
"criteria": ["cosmetic", "annoying",
"blocks the customer"]}
}
}'
Response, 27B AutoThink, rounded
{"answers": {
"team": {"type": "choice", "choice": "billing",
"confidence": 0.992,
"probabilities": {"billing": 0.995, "shipping": 0.000,
"technical": 0.005},
"none_probability": 0.002},
"urgent": {"type": "noul", "noul": 0.870},
"severity": {"type": "score", "score": 1.858, "confidence": 0.787,
"legend": {"0": "cosmetic", "1": "annoying",
"2": "blocks the customer"},
"probabilities": {"0": 0.005, "1": 0.133, "2": 0.863}}},
"usage": {"input_tokens": 290, "output_tokens": 144},
"model": "startlux-decision-27b-autothink"}
FAQ
Questions, answered.
What is a decision model?
A model that answers a typed question about a state with a probability for every option, instead of writing text. The probabilities can be thresholded, logged and compared, so software can act on them directly.
Should I use Instant or AutoThink?
Use Instant when every decision must take milliseconds, for routing, classification, extraction and ranking. Use AutoThink when some decisions need rules, arithmetic or several checks. It costs the same as Instant on confident questions and spends a thought only on the others.
Were the benchmarks used in training?
We compared data recipes and checkpoints on the public subset of Decision Index 0.3, so treat those scores as development numbers. DecisionPivot was not used for any data, checkpoint or configuration choice, and it is the independent evaluation in the technical report.
What does none_probability tell me?
The server adds a "None of the above" option to every choice question internally. none_probability is the share it receives. At 0.2 and above it catches about two thirds of questions whose listed options are all wrong, with about 2% false alarms.
What hardware does it need?
Every model fits on one GPU. The 27B models run on one H200 in BF16 and on a 64 GB Apple laptop in 8-bit or 4-bit MLX builds. The 0.8B and 2B models run on a CPU with llama.cpp.
How are the weights licensed?
The weights are released under CC BY-NC 4.0, free for research and other non-commercial use with attribution. The inference engine is Apache-2.0. For commercial use, contact contact@startlux.com.
Give every decision in your pipeline
a probability you can act on.
Resources
- Modelshuggingface.co/startlux-models
- Codegithub.com/StartLuxLabs/StartLux-Decision
- DocsAPI reference and deployment guides
- ReportarXiv:2610.17309
- Try itbamboonode.dev, free and unlimited use
- AuthorsXialie Zhuang1,2, Zunhai Su1,2, Jia Pan2, Ngai Wong2, Guanhua Chen3,*, Chuan-Wei Kuo1,*
- Affiliations1StartLux 2The University of Hong Kong 3Southern University of Science and Technology
*Corresponding authors
Citation
@misc{startlux2026decision,
title = {StartLux-Decision: AutoThink Decision Models
with Reinforcement Learning for Calibrated
Deliberative Decisions},
author = {Zhuang, Xialie and Su, Zunhai and Pan, Jia and
Wong, Ngai and Chen, Guanhua and Kuo, Chuan-Wei},
year = {2026},
eprint = {2610.17309},
archivePrefix = {arXiv},
primaryClass = {cs.CL},
url = {https://arxiv.org/abs/2610.17309}
}