Stop paying flagship prices for trivial work.
Cohesor scores each request's complexity, then routes it to the right-sized model — strong for hard problems, economy for the rest — up to 15× cheaper, with a dial you control.
The router reads the room.
A lightweight complexity classifier scores each prompt and picks the right-sized model. Move the sensitivity dial; the traffic obeys.
SENSITIVITY DIAL
LIVE TRAFFIC SPLIT
DECISION LOG
A complexity score,
not a coin flip.
- ✓Complexity scoring. A lightweight INT8 MiniLM classifier reads each prompt and estimates how much model it actually needs.
- ✓Binary decision. The score vs your threshold picks the strong or the economy model — no round trips, no external API, ~20-40ms on CPU.
- ✓Your sensitivity dial. Bias the router toward economy or strong, per key or per team. Higher sensitivity → more traffic to the strong model.
- ✓Key-free and local. The router runs in-process — no external API, no key, no latency spike on a cold start.
| Lane | Model | When | Score |
|---|---|---|---|
| strong | flagship | complexity ≥ threshold | 0.92 |
| economy | cheap | complexity < threshold | 0.31 ← |
Score = INT8 MiniLM complexity estimate (0-1). Your threshold (the sensitivity dial) decides which lane wins. The strong model doubles as the single "Fixed" model when routing is off.
Prefer to pin a model?
Turn routing off and pin any model slug — you still get compression, governance, caching and full observability. Flip routing back on whenever you're ready.
PUT /v1/profiles/prod
{ "routing": { "mode": "fixed", "model": "kimi-k2.7-code" } }
The bill, itemised.
Every request comes with a receipt.
Route every request like it's paying the bill.
Connect your first agent in under two minutes. The router starts scoring on request one.