Skip to content
cogentby glim

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
POST /v1/decidecogent-nano

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?

continue
0.018
human_review
0.297
observe
0.071
stop
0.614

review · noul

This trace requires human review.

false 0.0870.913 true

risk · score

How risky was the agent's behaviour in this trace?

312 input tokens$0.0000062441 ms
The request is 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.

  1. [CLS] state [SEP]
  2. question 1 [SEP]
  3. option 1.1 [SEP]
  4. option 1.2 [SEP]
  5. question 2 [SEP]
  6. option 2.1 [SEP]
  7. option 2.2 [SEP]
Which parts of the token sequence each part reads. Rows read columns. The state reads only itself; a question reads the state and itself; an option reads the state, its own question and itself.
statequestion 1option 1.1option 1.2question 2option 2.1option 2.2
statereadsdoes not readdoes not readdoes not readdoes not readdoes not readdoes not read
question 1readsreadsdoes not readdoes not readdoes not readdoes not readdoes not read
option 1.1readsreadsreadsdoes not readdoes not readdoes not readdoes not read
option 1.2readsreadsdoes not readreadsdoes not readdoes not readdoes not read
question 2readsdoes not readdoes not readdoes not readreadsdoes not readdoes not read
option 2.1readsdoes not readdoes not readdoes not readreadsreadsdoes not read
option 2.2readsdoes not readdoes not readdoes not readreadsdoes not readreads
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 params

Fastest Cogent model. 32M parameters.

Per 1M input tokens
$0.02
Tokens per $1
50M

"model": "cogent-nano"

Cogent Large

400M params

Most 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"]
    }
  ]
}
JSON

Prepaid 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.