Levels and capabilities
The three levels the AI Router works with, how to name one yourself, and what it tells you when a task needs something in particular.
The router answers two separate questions about a task: how hard is this work, and does it need anything in particular. You see both answers before you launch.
The three levels
| Level | Typical work |
|---|---|
| quick task | Mechanical, no judgement — rename, colour, typo, formatting, a label, a version bump |
| regular work | Craft but no deep reasoning — a standard feature, a localised fix, a piece written from a clear brief, a dataset cleaned |
| hard thinking | Real reasoning — architecture, concurrency, algorithms, security, cross-cutting refactors, strategy, and any request to understand, explore, audit, review, compare or explain existing material |
The levels are deliberately trade-independent. They describe the work, not the profession it belongs to: “rename the variable”, “rename the chapter” and “rename the column” are the same job. A short question can be hard thinking, and a long description can be trivial — which is why the router does not simply weigh how much you wrote.
Each level maps to a model per subscription. Where no model can be named — some CLIs expose no model selector — the CLI is still eligible for the level and starts on its own setting.
Naming the level yourself
Write the level in the brief and the router takes it as given, without judging anything. The panel then says the level came from you rather than from the router.
This is the fastest way to handle the cases you already know: a small task you want on a small model, or a task you know is harder than it looks.
When the work needs something in particular
Some tasks call for more than a level. A deliverable that has to be an image, work that depends on reading a screenshot you attached, or something that needs live information from the web: the panel flags it before you launch.
It answers a question the level alone cannot ask — can this CLI even do that? — and it judges what the work requires, never what a model happens to support. A task that merely mentions an image is not a task that has to produce one.
The AI step
Part of the decision runs as a small AI call, paid by OFM rather than by your subscription quota. It needs a connection.
It never sees more than the task description you typed, it never chooses a model for itself, and it cannot delay a launch: the router always has an answer for you.
Trying it before launching anything
Settings → Routing has a test bench. Paste a brief and see the decision and the exact command line, with and without routing, without starting a session. It is the quickest way to understand what the router will do with the way you usually write tasks.
Frequently asked
- Can I force a level?
- Yes. Name it in the brief and the router uses it as given, without deciding anything itself.
- Does the router need an internet connection?
- Its AI step does. Routing keeps working without one, and you can always name the level yourself or pick the CLI directly.