A probability for every option.
Send Cogent a state, such as an agent trace, a ticket or a message, and a list of typed questions about it. It answers every question at once with a probability for each option, from a small encoder that runs on a CPU.
- cogent-nano
- $0.02 per 1M input tokens
- cogent-large
- $0.03 per 1M input tokens
state
{"agent": {"autonomy": "supervised", "model": "support-bot"}, "constraints": ["Never issue refunds above 500 EUR without approval"], "task": "Resolve the customer's billing complaint.", "trace_summary": {"steps": 7, "tool_errors": 2, "irreversible_actions": 1, "constraint_violations": 1, "last_action": "issued refund of 850 EUR"}}
action · choice
What should the observability system do with this trace?
review · noul
This trace requires human review.
risk · score
How risky was the agent's behaviour in this trace?
examples/case.json from the model repository. The numbers are illustrative.Three question types
Each question has a type that tells the model how to read its options. What the model reads is plain text built from your question, with nothing hidden added. These are the exact lines for the request above.
choice
Pick one of several options.
Options: Any ids, in any order.
choice: What should the observability system do with this trace?
continue: Let the agent proceed without interruption.
human_review: Queue this trace for a human to review.
observe: Keep watching without intervening.
stop: Halt the agent immediately.
score
Rate on an ordered scale.
Options: The levels in order, lowest first. A level's position is part of what the model reads.
score: How risky was the agent's behaviour in this trace?
level 1 of 4 0: Benign: read-only or clearly safe actions.
level 2 of 4 1: Low: routine writes within scope.
level 3 of 4 2: Elevated: risky or out-of-scope actions.
level 4 of 4 3: Severe: damage or a violated constraint.
noul
A yes/no statement: does it hold?
Options: ["false", "true"]. Without descriptions, each gets a default one.
noul: This trace requires human review.
false: No, this does not hold.
true: Yes, this holds.
Asked alone or together, the answer is the same
A request is one token sequence, read under a tree-shaped attention mask. The state reads only itself. A question reads the state and itself. An option reads the state, its own question and itself, never another option or another question.
So an option's score depends on the state, its question and its own text, and nothing else. Add twenty checks to one request and none of the existing answers move. The state is encoded once, and you pay for its tokens once.
- [CLS] state [SEP]
- question 1 [SEP]
- option 1.1 [SEP]
- option 1.2 [SEP]
- question 2 [SEP]
- option 2.1 [SEP]
- option 2.2 [SEP]
| state | question 1 | option 1.1 | option 1.2 | question 2 | option 2.1 | option 2.2 | |
|---|---|---|---|---|---|---|---|
| state | reads | does not read | does not read | does not read | does not read | does not read | does not read |
| question 1 | reads | reads | does not read | does not read | does not read | does not read | does not read |
| option 1.1 | reads | reads | reads | does not read | does not read | does not read | does not read |
| option 1.2 | reads | reads | does not read | reads | does not read | does not read | does not read |
| question 2 | reads | does not read | does not read | does not read | reads | does not read | does not read |
| option 2.1 | reads | does not read | does not read | does not read | reads | reads | does not read |
| option 2.2 | reads | does not read | does not read | does not read | reads | does not read | reads |
- Dark cell
- reads
- Signal cell
- reads itself
- Light cell
- never reads
In floating point the two runs differ only by rounding: about 5e-7 in total variation in fp32 on the examples in the model repository.
Where it fits
Anywhere a system has to make a typed call about a piece of text and act on how sure it is: hold the agent when stop passes 0.5, page someone when urgency is likely high, log everything else.
Agent observability
An agent trace
What should the observability system do with this trace?
choicecontinue · human_review · observe · stop
Routing
A support ticket
Which team should handle this ticket?
choicebilling · engineering · account_management · spam
Moderation
A user message
This message threatens a person.
noulfalse · true
Triage
A support ticket
How urgent is this ticket?
scorelow · medium · high
Two models, priced per input token
You pay for the tokens the model reads: the state, the questions and the options. There is no output to pay for and no subscription. See pricing for a calculator.
Cogent Nano
32M paramsFastest Cogent model. 32M parameters.
- Per 1M input tokens
- $0.02
- Tokens per $1
- 50M
"model": "cogent-nano"
Cogent Large
400M paramsMost accurate Cogent model. 400M parameters.
- Per 1M input tokens
- $0.03
- Tokens per $1
- 33.3M
"model": "cogent-large"
One HTTP call
JSON in, JSON out. The response carries the probabilities, the tokens read and what the request cost. An OpenAI-style /v1/decisions endpoint is there too.
curl https://c1.glim.cx/api/v1/decide \
-H "Authorization: Bearer $COGENT_API_KEY" \
-H "Content-Type: application/json" \
--data @- <<'JSON'
{
"model": "cogent-nano",
"state": "Refund of 850 EUR issued without approval; the limit is 500 EUR.",
"questions": [
{
"key": "review",
"type": "noul",
"instructions": "This trace requires human review.",
"options": ["false", "true"]
}
]
}
JSONPrepaid in SOL or USDC
Top up your balance from any Solana wallet. Requests draw it down per token; when it runs out, requests are refused before anything runs, so nothing is charged.
- Pay with your wallet
- Phantom, Solflare, Backpack and other Solana wallets connect in the browser, or scan a Solana Pay QR code with your phone.
- Locked quote
- A SOL top-up is priced when you create it and holds that price for 30 minutes. USDC is always $1.
- Credited on finality
- Your balance updates once the payment is finalized on Solana mainnet, usually within a minute.
- From $1 to $10,000
- No card and no subscription. Pay from a self-custody wallet: exchange withdrawals cannot carry the payment reference.
Make your first request
Create an account, top up $1 and copy a key. That covers 50,000,000 input tokens on Cogent Nano.