ModelSpec is an analysis of alternatives for AI models: it decides which models fit a job from your requirements, sourced benchmarks and real cost, and shows its work.
High volume, quality first
Find a text model for many short assistant requests where response quality still leads the ranking.
Worked example as of 2026-09-23, from the public data image.
Short requests at scale; quality leads, cost counts.
Requirements
model.class = text-generator: The workload needs generated text responses.
Preferences
chat_preference: Prefer assistants whose responses people rate more highly.-offering.cost_per_task: At volume, cost still matters as the second term.
Applied template spec
spec_version- 1
where- model.class = text-generator
optimizeweightschat_preference- 0.7
-offering.cost_per_task- 0.3
task_tokensinput- 2000
output- 500
Worked answer
Decision status: partial.
Tied on the evidence
anthropic/claude-opus-5-5google/gemini-3-8-flashqwen/qwen3-8-max-0902openai/gpt-6-sol
probability bands: a model joins the leader when P(its score >= the leader's) >= 0.25 under the score posteriors; a weighted capability with an 80% interval wider than 2.8 is not enough evidence
Tie-breakers describe members of the tie. They do not establish a winner.
- Cheapest tie-breaker: google/gemini-3-8-flash
- Most independently measured tie-breaker: google/gemini-3-8-flash
This is a partial answer. Unknown facts or missing objective evidence can leave eligible candidates unranked.
probability bands: a model joins the leader when P(its score >= the leader's) >= 0.25 under the score posteriors; a weighted capability with an 80% interval wider than 2.8 is not enough evidence
Score and score interval use the objective's dimensionless normalised units. Cost per task is for the engine-selected offering and the applied spec's task size. When task size is omitted, the engine uses its documented default. P(best) is the engine probability. Unavailable means the engine did not return a value. Thin evidence is undetermined and is not a recommendation.
Best band
| Model | Score | Score interval | P(best) | Cost per task, USD | Capability estimates and intervals |
|---|---|---|---|---|---|
anthropic/claude-opus-5-5 | 0.884932 | [0.71708, 1.052783] | 0.4921875 | 0.018 |
|
openai/gpt-6-sol | 0.784717 | [0.616865, 0.952569] | 0.18359375 | 0.009 |
|
qwen/qwen3-8-max-0902 | 0.79648 | [0.628628, 0.964331] | 0.15234375 | 0.007 |
|
google/gemini-3-8-flash | 0.80065 | [0.771534, 0.829766] | 0.0546875 | 0.003375 |
|
Rest band
| Model | Score | Score interval | P(best) | Cost per task, USD | Capability estimates and intervals |
|---|---|---|---|---|---|
google/gemini-3-7-flash | 0.790269 | [0.761153, 0.819385] | 0.03515625 | 0.003375 |
|
meta/muse-spark-1-3 | 0.742647 | [0.704627, 0.780668] | 0.00390625 | 0.004625 |
|
zhipu/glm-5-3 | 0.738166 | [0.711666, 0.764666] | 0.0 | 0.005 |
|
xai/grok-4-7 | 0.732945 | [0.565093, 0.900796] | 0.078125 | 0.007 |
|
anthropic/claude-opus-4-6 | 0.720795 | [0.697, 0.74459] | 0.0 | 0.0225 |
|
anthropic/claude-opus-4-7 | 0.703004 | [0.678522, 0.727486] | 0.0 | 0.0225 |
|
google/gemini-3-1-pro-preview | 0.680454 | [0.655972, 0.704936] | 0.0 | 0.01 |
|
anthropic/claude-opus-5 | 0.67912 | [0.654638, 0.703602] | 0.0 | 0.0225 |
|
meta/muse-spark-1-1 | 0.666492 | [0.633792, 0.699191] | 0.0 | 0.004625 |
|
openai/gpt-5-6-sol | 0.659942 | [0.635085, 0.684798] | 0.0 | 0.018 |
|
google/gemini-3-5-flash | 0.651024 | [0.626542, 0.675506] | 0.0 | 0.0075 |
|
zhipu/glm-5-2 | 0.644935 | [0.618436, 0.671435] | 0.0 | 0.005 |
|
google/gemini-2-5-flash | 0.639407 | [0.613343, 0.665472] | 0.0 | 0.00185 |
|
openai/gpt-5-4 | 0.635099 | [0.611304, 0.658894] | 0.0 | 0.0125 |
|
anthropic/claude-fable-5 | 0.609594 | [0.585112, 0.634076] | 0.0 | 0.045 |
|
deepseek/deepseek-v4-pro | 0.584686 | [0.558187, 0.611186] | 0.0 | 0.00462 |
|
anthropic/claude-fable-5-1 | 0.566597 | [0.540962, 0.592231] | 0.0 | 0.045 |
|
openai/gpt-6-astra | 0.445507 | [0.417527, 0.473486] | 0.0 | 0.045 |
|
Unknown requirements
Some candidates may qualify. Missing facts:
chat_preferenceoffering.cost_per_task
Engine warnings
- not_separable
Omitted result rows: models 11; offerings 18. The bands above include all ranked models.
Decision dec_f0ebf8d327afab69afc0e656 on public snapshot snap_05a963d2477ac2fb.
What this template teaches
Short task tokens make the cost term reflect one small request, not one long agent run.
The live board uses current data. Its answer can change as evidence changes.
Human lookup is free on Decide. CLI, API, and MCP access requires a key. Access and pricing.