Introducing Habits: decisions that get cheaper with use
A new System One primitive. Save a question once, ask it by name, and correct it when it's wrong. From its 101st decision, every answer costs half as much.
Every agent, pipeline and inbox asks the same small questions over and over. Is this spam? Did the tool call fail? Which team owns this ticket? Does this email need a reply? System One models answer those questions quickly and in typed shapes your code can act on. Until today, though, the ten-thousandth time you asked a question cost exactly what the first one did, and it never got any better at your particular judgment.
The questions you ask most should be the cheapest ones to answer, and the best answered.
That's the idea behind Habits.
A question with a name
A habit is a System One question you save once, under your own name, like acme.email.archive. It has a type (noul, choice or score), a question and its possible answers. Then you ask it by name, next to any inline questions, in the request you already send:
{
"state": "From: Robinhood <noreply@robinhood.com> Subject: Discover what analysts are into",
"questions": {
"archive": { "type": "noul", "habit": "acme.email.archive" },
"kind": { "type": "choice", "habit": "acme.email.kind" },
"urgent": { "type": "noul", "instructions": "Does this need a reply today?" }
}
}
Answers come back in the shapes you already parse, with the version that answered and what the answer cost:
{ "archive": { "noul": 0.96, "habit": "acme.email.archive@latest", "cost_usd": "0.0000062" } }
It learns your judgment, not your prompt
Some decisions are hard to put into words. You know which emails you'd archive, but writing that rule down precisely enough for a model takes weeks of prompt-tuning. A habit skips the description. It learns on its own from an intelligent model, and from you: point at any past answer and say what it should have been.
POST /v1/labels
{ "cases": [ { "request_id": "req_8f2c…", "question": "archive", "answer": false } ] }
We tested this on one person's archive-or-keep decisions, asking about 125 emails a habit had never seen. Three System One models answered on their own. The habit learned from that person's corrections:
| Who answered | Human input | Accuracy |
|---|---|---|
| d1 | none | 69.6% |
| Cloudflare clef-flash | none | 71.2% |
| Cloudflare clef | none | 76.8% |
| A habit | 50 corrections | 75.8% |
| A habit | 75 corrections | 77.6% |
| A habit | 97 corrections | 79.2% |
Until a habit is confident, a System One model answers for it, so you start at the model's accuracy and only go up. With fewer than a hundred corrections, this habit was more accurate than every model we tried, because it had learned what that person actually does, including the parts they couldn't have written down.
Cost is built in
You never manage accuracy budgets, routing or models. A habit's first 100 decisions cost $0.04 per million input tokens, in line with other System One models. Every decision after that costs $0.02, however the habit arrives at its answer. You never pay full price for a miss.
Versions you can depend on
Every habit has @latest, which keeps learning as you use and correct it. You can reword it any time; it keeps your corrections. Once a habit has made its first 100 decisions, you can publish it: that freezes a numbered version, like @1, that never changes and never retrains. Anyone pinned to it gets the same answers tomorrow that they tested today.
Build a collection, or borrow one
Habits live in collections under your name: acme.email.archive, acme.email.kind, acme.support.route. Published versions can be asked by anyone, or forked and taught your own judgment.
To show what that looks like, we published a first public collection of email rules as three habits. habits.email.worth-replying asks whether a reply would make something good happen or prevent something bad. habits.email.ambiguous asks whether the ask is clear. habits.email.process spots recurring exchanges that belong in a process, not an inbox. Run on the last 100 messages of a real inbox, they found 99 that needed no reply, nine recurring exchanges worth turning into a process, and one worth answering once the sender said what they wanted. All 300 decisions cost less than a cent.
Get started
Accounts are opening now. Request access, create a habit in the console, correct a few answers, and watch it get better and cheaper.
Your most frequent decisions are about to become your cheapest.
Request access