Models
The two models 3AM uses, what each is allowed to do, the rules 3AM enforces on them, and what a hosted model sees.
3AM uses two models, each with a narrow job. Neither one ever acts. Causes are proven by checks against your live systems, fixes come from packs or your connectors' declared actions, and every change still needs your policy and your people.
| System 1 | The investigator | |
|---|---|---|
| What it is | tev1, a small model that answers narrow yes-or-no questions with a probability | A large language model, Llama 3.3 70B by default |
| Its job | Checks each cause, fix and sentence against the evidence | Digs into incidents the checks leave unproven, and writes the incident note |
| It can't | Investigate, propose a fix, or approve anything | Change anything, prove a cause by saying so, or make up a value |
Where to run them, and how to set each one up: Install → Models.
System 1 checks the work
- Each cause. System 1 reads the check results and answers supported, contradicted or not enough evidence. A cause the checks prove but System 1 reads as contradicted is marked disputed, and goes to a person.
- Each fix. Before a fix is proposed, System 1 is asked whether it addresses the cause. If it's at least 70% sure it doesn't, the fix is blocked. If it's less sure, approvers see its doubt. It can block a fix, never approve one.
- Each sentence of the note. A note with a sentence the evidence contradicts is replaced by 3AM's own summary.
The investigator digs in
It only runs when 3AM's checks and wider search leave an incident unproven. It gets the incident (the alerts, what's been tried, the leading causes, what changed) and your connectors' read-only actions. 3AM holds it to these rules, whatever it says:
- Reads only. It can only call actions a connector declares read-only, through that connector, so the connector's own limits apply too. Text it reads is treated as data, never as instructions.
- An idea has to be proven. Each idea must come with a check that 3AM runs itself. It counts only when the check passes twice, System 1 agrees, and a second, independent line of evidence fits.
- No invented values. A proposed fix must be one of your connectors' declared actions, and every value in it (a host, a session id) must appear word for word in what the reads returned.
- The same gates as any fix: System 1's review, a rehearsal, your policy and your approvers.
It can make up to 12 reads per incident. The investigation explains how it chooses them.
The incident note
The investigator writes the note from facts 3AM has already established: the cause, what was ruled out, the fix and what happens next. 3AM uses its own template instead when the note leaves out the cause or the fix, runs too long, or has a sentence System 1 finds unsupported. The console says which model wrote each note, or why it wasn't used.
Without the models
The checks still prove causes, and packs still fix them. What only the models can do is skipped, and the incident says so: the investigator's digging, System 1's checks, and the written note (3AM's template is used). That's only for labs.
What a hosted model sees
With your own endpoint, nothing leaves your network. With a hosted endpoint such as OpenRouter, each incident sends:
- to the investigator: the incident's alerts and service names, the evidence so far, and the output of each read it makes, such as a server's status, some table rows or a log excerpt;
- to System 1: the claims it's asked about, with their evidence.
Passwords, tokens, keys and card numbers are masked first (Evidence). Decide whether that fits your data policy. If it doesn't, run the models on your own hardware.
Every model call is in the audit log: the model, the masked prompt, the answer, the tokens used and the time taken. A slow or unreachable model never holds up a proven fix: investigations have a time budget, and the note falls back to the template.