Strands decider is one of a new class of decision models, or "system one" models. Unlike an LLM, which can generate arbitrary text, a decision model picks between sets of options and rates things on a scale. This class of model works best for problems that fall between LLMs and traditional classification models: it is a general-purpose classification and scoring model that responds faster than an LLM and does not take the time and expertise to train that a traditional classifier does. That makes it a natural fit for the decisions inside agentic workflows built with the Strands Agents SDK.
- Pick from options — "Are there three r's in strawberry? Yes or no." "What language is the phrase 'sihamba ngokushesha' in? English, Zulu, or Dutch."
- Rate on a scale — "How positive is 'this is the best doc I've ever read'? Between 0 and 1."
- Calibrated reliability scores — every decision carries a confidence. On short classification tasks it has never seen, answers at a confidence of 0.9 or more are right about 95% of the time (evaluation/results.md); below that, confirm or ask a person. Frontier LLM inference APIs do not expose anything equivalent.
Getting Started
The easiest place to get started is through the strands-decider cli:
pip install strands-decider
On an Apple-silicon Mac, --device mlx runs the model through MLX, 1.4 to 1.6x faster than MPS.
It needs the mlx extra, which ships with the next release; until then, install from a clone with
pip install -e ".[mlx]". The cuda, mps and cpu extras name the other devices
(docs/inference.md).
The example outputs below are from strands-decider-2B-qwen3.5-v1-2610, recorded with
--device cpu; other devices differ in the last digits.
Choice question
You can ask the model to choose based on some state and a question:
strands-decider ask StrandsAgents/strands-decider-2B-qwen3.5-v1-2610 \
--state "Help! My payouts have been failing for 3 days! " \
--choice "Which team should handle this?=billing,sales,retail"
Example Output:
choice_0 -> billing (confidence 0.659)
billing 0.773
sales 0.121
retail 0.106
Noul question
You can also ask the model a Yes/No question:
strands-decider ask StrandsAgents/strands-decider-2B-qwen3.5-v1-2610 \
--state "Help! My payouts have been failing for 3 days! " \
--noul "Does this convey urgency?"
Example Output:
noul_0 noul = 0.858
Closer to 1 is leaning more toward Yes
Score question
Or give a question a score:
strands-decider ask StrandsAgents/strands-decider-2B-qwen3.5-v1-2610