English · Deutsch

Mankei Reflex — the German System One decision model
They think. We react.
Typed decisions with calibrated probabilities. One forward pass for the whole request: ~15 ms per decision and ~17 ms for five questions on our inference server, 100 questions in a quarter of a second — on your own hardware. Wire-compatible with the System One API.

Recorded on the live demo: the drone judges every obstacle ahead in one pass and the rule in code climbs, avoids or lands. Protocol on the left, latencies as measured.

Live demo: Reflex Pilot · Live demo: Reflex Browser · mankei.ai · Client examples (GitHub) · Mankei model family
Mankei Reflex is a System One model: a non-autoregressive decision model that takes a state and a set of typed questions and returns typed values with calibrated probabilities — in a single pass, without generating a single token. No prompt to parse, no reasoning prose, no hallucinated text. It runs on-premise, answers in the millisecond range, and speaks German and English.
It is built for the same job as TypeSafe's Jev — routing, guardrails, classification, scoring, agent observability, and real-time decision loops — and it is the first German model of this class, for teams whose data must not leave the building.

At a glance
| Model class | System One model · decision model · non-autoregressive · typed outputs |
| Primitives | Choice (2–255 options, with or without descriptions), Scale (ordered, expected value), Yes/No (probability) |
| Speed | one forward pass per request — ~15 ms for one decision and ~17 ms for five questions on our inference server (shared data-centre GPU); ~40 ms for four states × three questions in one batch and ~240 ms for 100 questions in one call on a workstation GPU |
| Calibration | built into every block; ECE 0.031 without post-hoc tuning; coverage 67.5 % at ≤ 1 % error |
| Languages | German first; English and French domain blocks on request |
| Interface | HTTP /v1/reflex and the System One wire format /v1/systemone; Python package mankei_decide (in the package) |
| Deployment | on-premise, GPU (bf16) or CPU; no per-token fees, no data leaving your network |
| Extension | domain blocks trained by the Mankei Schema Factory — new decision schemas without retraining the core |
| Licence | Mankei Reflex Evaluation License; production and premium blocks under an enterprise agreement |
Why Reflex
The System One category was defined by TypeSafe Jev: a model that decides instead of writing. Reflex takes the same interface and moves it into your own data centre — German first, with domain blocks whose quality is measured before delivery.
| TypeSafe Jev | Mankei Reflex | |
|---|---|---|
| Weights | closed API | on-premise package, enterprise licence |
| Where it runs | vendor cloud | your GPU or CPU, air-gapped if you want |
| Pricing | per-token | no per-token fee |
| Language | English-centric | German native; English and French blocks for enterprise |
| New decision schemas | prompt only | domain blocks from the Schema Factory, delivered with measured quality |
| Wire format | System One | System One, the same request and response shape |
| Calibration | — | ECE 0.031 in the domain, measured per block, no post-hoc fitting |
We do not benchmark competitors. Every figure below is measured on the block shipped in this repository.
Benchmarks

| Benchmark | Mankei Reflex | Reference |
|---|---|---|
MASSIVE intent, German, 60 classes, test split, one call, assistant block |
78.8 % (ECE 0.088) | 60 classes, one call |
MASSIVE scenario, German, 18 classes, test split, assistant block |
86.6 % | — |
| Choice questions on unseen option sets, eight domain families, leave-one-schema-out | 95.1 % | majority baseline 84.6 % |
| Accuracy in the domain, all question types | 90.5 % | — |
| Coverage at ≤ 1 % error | 67.5 % | — |
| Latency, one decision / five questions (inference server) | 15 ms / 17 ms | one forward pass per request, shared data-centre GPU |

Leave-one-schema-out means whole question sets are held out of training and only shown at measurement time — the number a customer sees on a new form, a new option list, a new sensor message.
Speed
Reflex answers a whole request in one forward pass: the state, every question and every candidate are laid out in a single sequence with a tree-shaped attention mask, so no question waits for another and nothing is re-encoded. There are no per-question round trips, no token generation and no cache copies — latency is one GPU pass plus the head.
| Request | Inference server (RTX 4000 SFF Ada, shared with a 27B LLM) | Workstation GPU (RTX 4060 class) |
|---|---|---|
| one decision | ~15 ms | ~31 ms |
| five questions, one pass | ~17 ms | ~33 ms |
| browser step, two questions (Reflex Browser, end to end incl. DOM indexing) | ~38 ms | — |
four states × three questions, one batch (/v1/reflex/batch) |
— | ~40 ms |
| ~1,000-token state, seven questions | — | ~110 ms |
| 100 questions × 6 options, one call | — | ~240 ms |
Measured end to end with curl against the running server (bf16, block pilot), on our inference server on 23 September 2026 while the same GPU was serving a 27B language model. This is the fastest decision model we know of, and it runs on your own hardware — a real-time loop for vehicles, drones and browser agents that checks many things at once instead of one after the other.

Use cases
- Vehicle and drone decision loops — situation, persons, obstacles, no-fly zones, weather; rules in code, meaning from the model. See Reflex Pilot.
- Browser and portal automation (RPA without selectors) — Reflex reads the page's element table and returns the index to act on. See Reflex Browser.
- Security operations — incident triage, alert routing, CAN-bus and network intrusion classification alongside our IDS models.
- Document workflows — invoice and receipt routing, account assignment, printed-feature checks.
- Customer service routing — 60-way intent and 18-way scenario in one call, calibrated, in German.
- Guardrails and moderation — typed yes/no with a probability you can threshold.
- Agent observability — score every step of an agent trace: on task, risky, needs a human.
- Situation assessment — robotics, control rooms, field reports, in German and English.
How it works

- State in. JSON or text from your application — a scene, telemetry, a page's element table, a document.
- One read. The frozen Mankei core reads the state once; every question is answered from that single read. The order of questions and options does not change the answers.
- Typed answer out. Each question returns its value with a probability; each block carries its own calibration.
- Your rule on top. Geometry, thresholds, traffic signs, business rules stay in your code — visible line by line in the protocol.
Blocks are trained by the Mankei Schema Factory: generators whose ground truth follows from the modelled world, plus licensed datasets, measured leave-one-schema-out. No chat-model distillation, no synthetic labels from third-party LLMs.
Quickstart
pip install torch transformers safetensors huggingface_hub
huggingface-cli download keyvan-ai/Mankei-Reflex --local-dir mankei-reflex && cd mankei-reflex
python3 -m mankei_decide.server --modell . --kopf bloecke/pilot.safetensors --port 8088
The package contains the core, the engine (mankei_decide/) and the pilot block. States and questions are German — the language the public block is trained on.
curl -s http://127.0.0.1:8088/v1/reflex -H "Content-Type: application/json" -d '{
"state": {"szene": "Fußgänger 12 m voraus auf der Fahrbahn, quert. Stoppschild in 30 m.", "tempo_kmh": 28, "limit_kmh": 50},
"questions": {
"lage": {"type": "choice", "instructions": "Was ist die Lage vor dem Fahrzeug?",
"criteria": {"freie Fahrt": null, "Person auf oder neben der Fahrbahn": null, "Hindernis auf der Fahrbahn": null, "Gefahr": null}},
"person": {"type": "noul", "instructions": "Auf oder neben der Fahrbahn befindet sich eine Person."}
}}'
from mankei_decide.reflex import Reflex
reflex = Reflex.laden("keyvan-ai/Mankei-Reflex", block="pilot") # or the local folder
answers = reflex.entscheide(state, questions) # same state and questions as above, one pass
print(answers["lage"].wahl, answers["lage"].konfidenz, answers["person"].janein)
System One wire format: point SYSTEMONE_URL at http://<host>:8088/v1/systemone; request and response use the System One shape (choice / score / noul).
Blocks
| Block | Domain | Availability |
|---|---|---|
pilot |
vehicle: situation, persons, hazards, obstacles from sensor sentences | included in the evaluation package |
drone |
in-flight assessment: obstacles, people, no-fly zones, weather | enterprise |
portal |
web UI operation from the element table: action, element | enterprise |
documents |
document type, account, printed features | enterprise |
situation |
reports from robotics and control rooms, German and English | enterprise |
assistant |
intent and scenario from user utterances (60 intents, 18 scenarios) | enterprise |
Core, engine and the pilot block form the evaluation package. Premium blocks and custom blocks trained on your own states are available on request under an enterprise agreement.
Demos
- Reflex Pilot — a 3D city, a car on the road or a drone on the direct line. Pick the vehicle, set the target on the map; every judgement appears with a timestamp and probability in the protocol next to the scene. https://mankei.ai/reflex/
- Reflex Browser — Reflex operates a German service portal from the DOM element table, no screenshots, no selectors: login, tabs, filters, form, download. A 16-step mission runs without intervention in under ten seconds at ~38 ms per judgement. https://mankei.ai/reflex/browser/

On the road: the scene as a German sentence plus the candidate table, five judgements per pass; the car state is about a thousand tokens, so a pass takes longer than the drone's.

Landing approach: the landing circle is checked for vehicles and people before the drone descends; the rule and its reason appear in the protocol.

Reflex Browser, one frame per step: cookies, login, tabs, filters, form, download — every step chosen by Reflex from the page's element table.

Who is Mankei
Mankei builds German language models from scratch, in Germany, on openly licensed and documented sources, with its own German tokenizer — and runs them where the data lives. The family: Reflex (decisions), the retrieval line (embedder and reranker, Apache 2.0), Mankei-1B-Chat (German chat, CPU-capable), and the dialect line (Bavarian, Swiss German). All on Hugging Face under keyvan-ai; more at mankei.ai.
Licence and access
Mankei Reflex is provided under the Mankei Reflex Evaluation License (LICENSE.md): evaluation, benchmarking and publication of results are permitted. Productive, internal or hosted use, redistribution of the weights and training other models on Reflex outputs require an agreement with Mankei. Access is granted on request via the form above.
Citation
@software{mankei_reflex_2026,
title = {Mankei Reflex: a German System One decision model with calibrated probabilities},
author = {Mankei},
year = {2026},
url = {https://huggingface.co/keyvan-ai/Mankei-Reflex}
}
Keywords: System One model, decision model, Jev alternative, calibrated probabilities, typed outputs, non-autoregressive, routing, guardrails, intent classification, agent observability, on-premise AI, sovereign AI, German AI model, Entscheidermodell, EU AI Act, real-time decisions, browser automation, autonomous driving demo, drone demo.

Mankei · They think. We react.
- Downloads last month
- 12
Model tree for keyvan-ai/Mankei-Reflex
Base model
keyvan-ai/Mankei-1B-ChatDatasets used to train keyvan-ai/Mankei-Reflex
mteb/amazon_massive_scenario
Evaluation results
- accuracy on MASSIVE (de-DE), test splittest set self-reported78.800
- expected calibration error on MASSIVE (de-DE), test splittest set self-reported0.088
- accuracy on MASSIVE (de-DE), test splittest set self-reported86.600
- accuracy (choice questions) on Mankei Schema Factory, held-out schemasself-reported95.100
- coverage at ≤ 1 % error on Mankei Schema Factory, held-out schemasself-reported67.500