What makes a task simple is the cost of a wrong answer and how fast I can detect it. Prompt length says little about that. A short change can contain an important decision that is hard to verify, and a long request might only organize available material against clear criteria.
Choosing the lowest model price before defining the deliverable saves money on the wrong variable. I want an inexpensive option that finishes the job with sufficient quality. Paying for the most capable model on every assignment needs justification too; idle or poorly assigned capability bothers me just as much.
On September 22, 2026, OpenAI launched GPT-6 Sol and Luna. Prices per million input and output tokens were $2 and $10 for Sol, and $0.10 and $0.50 for Luna. The difference gets my attention. Before it becomes a routing rule, it needs a relationship to the cost of being wrong on a concrete task.
Producing a list that a test or a schema can check is a cheap task. If the economical model gets it wrong, the check fails right away and the retry costs little. Interpreting an ambiguous situation and choosing the next direction, with no check outside the model to confirm the answer, is an expensive one, because a wrong call shows up only after other stages depend on it. Useful routing needs to recognize these differences without becoming a collection of exceptions nobody can maintain.
OpenAI's published comparisons help select candidates. The default comes from running the same request against the same expected result and counting attempts through to an acceptable deliverable. My time belongs in the calculation too. If I save tokens and make up for it by supervising every step, I pay a cost the pricing chart never shows.
My rule is one default per task type, with the reason recorded next to it. If the economical option forces me to repeat the work, the default changes.