
Strands Decider 2B vs. LLMs on AWS: How Decision Models Reintroduce Machine Learning Discipline to AI Architectures
This post explores how decision models differ from general-purpose LLMs, and why they are becoming a compelling design pattern for high-volume AI control tasks. Using a benchmark of Strands Decider 2B against LLM on AWS, we compare accuracy, latency, stability, and cost for a safety-judge use case in a banking-oriented RAG pipeline. The results show how a small specialized model can outperform larger LLMs on constrained decision tasks, while applying stronger FinOps discipline to AI architectures.
Large language models are excellent generalists, but not every production AI task is fundamentally generative. Many systems need fast, repeatable judgments: route this request, pick a tool, score a policy check, or decide whether an answer is safe to return. That is where decision models become interesting.
A decision model is built to select among options or assign scores, rather than generate free-form text. That specialization matters for latency, determinism, output control, and cost. From a FinOps perspective, that matters because production guardrails and control-plane decisions often run at very high frequency. If a narrower model can perform a bounded judgment reliably, with fewer output tokens and less overhead, the savings can compound quickly.
This also reflects a broader shift in AI system design: a return to task specialization, similar in spirit to classical ML, but in a form that is easier to adopt. Teams do not necessarily need to collect data and train their own classifiers. They can use a prebuilt decision model for specific control tasks, while continuing to use LLMs where broader language understanding and generation are the better fit.
This article uses a banking RAG guardrail benchmark as one concrete use case. It is not the whole story of decision models, but it is a useful test of where a specialized decision model fits relative to LLMs used as classifiers.
What decision models are
A decision model is optimized for explicit judgments such as binary, categorical, or scored decisions. Instead of generating a natural-language answer, it evaluates an input against one or more questions and returns structured results.
In this benchmark, the two decisions were:
is_safe: safe or unsafehas_pii: PII present or not present
Decision models are compelling when you need:
- Deterministic or near-deterministic behavior
- Low and stable latency
- Calibrated confidence or reliability signals
- Minimal output surface area
- Threshold-based policy enforcement
An important design difference is that decision models can evaluate multiple constrained questions in a single parallel pass, rather than generating token-by-token output. That makes them attractive for guardrails, routing, and policy controls, where predictability often matters more than eloquence.
Decision models vs. LLMs
A general-purpose LLM can also perform classification when prompted to emit structured output such as:
1
{"is_safe": 0.0, "has_pii": 1.0}That approach is flexible and often very effective. But it still relies on a generative model to perform a bounded decision task.
Conceptual comparison
| Aspect | Decision model | LLM used as classifier |
|---|---|---|
| Primary design goal | Choose or score options | Generate next tokens |
| Output form | Small, structured, bounded | Prompt-constrained but still generative |
| Execution style | Parallel constrained scoring | Autoregressive generation |
| Determinism | Often stronger | Can vary even at temperature=0.0 |
| Latency profile | Often lower and more stable for constrained tasks | Depends on model size and decoding path |
| Confidence signal | Native scoring/reliability | Usually inferred from prompt output |
| Best fit | Routing, guardrails, policy checks | Nuanced semantic interpretation, flexible multi-tasking |
The practical point is not that one replaces the other. It is that they solve different problems well. In this article, the conclusion is deliberately narrow: on a constrained benchmark for binary safety classification plus PII detection, a small specialized decision model outperformed the tested general-purpose LLMs at the decision task itself. That should not be read as a general claim that Strands 2B is better than larger LLMs across broader reasoning or generation tasks.
Why Strands Decider 2B matters
In this benchmark, the specialized model is Strands Decider 2B.
Based on the official documentation, Strands Decider 2B is:
- A small open source decision model
- Designed for fast experimentation, local development, and innovation
- Optimized for choosing among options and assigning numerical scores
- Intended to be faster and cheaper for constrained tasks
- Built to always return an answer from the selected options
- Able to provide calibrated reliability/confidence
- Efficient when asking multiple questions on the same prompt
- Based on a pre-trained LLM torso (Qwen3.5-2B) with the LM head removed and replaced by a pointer head
- Runnable locally on CPU or GPU
- Suitable for use cases such as:
- Routing
- Tool selection
- Evaluations
- Guardrails
- Memory
- Context management
- Policy classification

LLM architecture vs strands decider decision model architecture
That design is relevant for builders because it combines modern language understanding with a narrower decision-oriented output mechanism. It reflects a specialized control-plane model rather than a general chat model.
The official documentation reports lower median latency on different hardware and workloads. Our benchmark observed different numbers because the setup was different: it ran on EC2 g4dn.xlarge with an NVIDIA T4 GPU, 4 vCPUs, 16 GiB RAM, local NVMe SSD, and Amazon Linux 2023 Deep Learning Base OSS Nvidia Driver GPU AMI. Differences versus published figures are expected.
When to use a decision model
Decision models are a strong fit when you need:
- High-volume repeated decisions
- Low-latency enforcement
- Stable outputs for audit and governance
- Local inference on CPU or GPU
- Numerical scoring with thresholds
- Multiple related decisions on the same input
Typical examples include:
- Safe/unsafe gating
- Allow/deny policy checks
- Tool or workflow routing
- Evaluation pipelines
- Context selection and memory control
Benchmark use case: RAG safety in banking
The benchmark use case is a banking RAG system with a second-layer safety judge that evaluates a candidate answer before returning it.
Two failure modes were tested:
- Unsafe or malicious assistance
- Leakage of personal or confidential data
These are related but distinct controls. In production, they should not automatically be treated as the same decision.
Benchmark setup
Models tested
- Strands 2B [CPU]
- Strands 2B [CUDA]
- Nova Micro [Bedrock]
- Nova 2 Lite [Bedrock]
- Claude Haiku 4.5 [Bedrock]
- Claude Sonnet 4.6 [Bedrock]
Methodology
The benchmark used:
- A common
BaseBackendinterface for all models - 12 test cases
- 4 categories
- 2 consecutive runs per backend
- 2 simultaneous questions per inference:
is_safehas_pii
The dataset categories were:
- A — Explicit unsafe
- B — Borderline but safe
- C — Safe with PII
- D — Safe without PII
Execution details:
- Bedrock models used the Converse API
temperature=0.0- Strict JSON output:
{"is_safe": float, "has_pii": float} - Strands used native structured questions
- Thresholds:
SAFE_THRESHOLD = 0.5PII_THRESHOLD = 0.35
Metrics considered:
- Precision
- Recall
- F1
- Latency stability
- Determinism
- Cost per correct decision
Results
Benchmark summary
| Backend | is_safe F1 | has_pii F1 | Median latency | Determinism | Cost per correct decision |
|---|---|---|---|---|---|
| Strands 2B [CPU] | 1.000 | 1.000 | 4808.6 ms | Perfect across runs | Local infrastructure cost |
| Strands 2B [CUDA] | 1.000 | 1.000 | 389.5 ms | Perfect across runs | Local infrastructure cost |
| Nova Micro | 0.875 | 1.000 | 358.7 ms | Small variance | $0.00001117 |
| Nova 2 Lite | 0.875 | 1.000 | 415.2 ms | Small variance | $0.00002181 |
| Claude Haiku 4.5 | 0.875 | 1.000 | 563.1 ms | Deterministic in this run | $0.00033191 |
| Claude Sonnet 4.6 | 0.941 | 1.000 | 661.1 ms | Mostly stable | $0.00111502 |
is_safe: Strands performed best
On
is_safe, both Strands CPU and CUDA achieved perfect results in this benchmark:- Accuracy: 1.000
- Precision: 1.000
- Recall: 1.000
- F1: 1.000
- Sigma global: 0.0000
The managed LLMs were more mixed:
- Nova Micro: accuracy 0.833, F1 0.875
- Nova 2 Lite: accuracy 0.833, F1 0.875
- Claude Haiku 4.5: accuracy 0.833, F1 0.875
- Claude Sonnet 4.6: accuracy 0.917, F1 0.941
Observed error patterns were useful for interpretation:
- Strands made no classification errors in the final dataset.
- Nova Micro and Nova 2 Lite each misclassified 2 of the 9 safe/unsafe outcomes relevant to
is_safe, notably failing on some safe-but-PII banking cases by treating sensitive content as unsafe. - Claude Haiku 4.5 also missed 2 cases, including over-blocking the antivirus-disabling borderline example and marking one PII-heavy account statement as unsafe.
- Claude Sonnet 4.6 missed only the antivirus-disabling borderline case, assigning it an unsafe score of 0.3.
This is the most important quality result in the benchmark. The main separation was not PII detection. It was the
is_safe boundary, especially on ambiguous cases such as disabling antivirus and otherwise benign financial texts containing PII. On this constrained decision task, the specialized decision model was better at keeping safety distinct from adjacent concerns than the tested general-purpose LLMs.has_pii: all models reached perfect quality
For
has_pii, every backend in this benchmark reached:- Accuracy: 1.000
- Precision: 1.000
- Recall: 1.000
- F1: 1.000
That matters because it changes the interpretation of the benchmark. PII detection was not the differentiating factor in this final dataset. Strands matched every managed LLM on
has_pii; the meaningful differences came from how models handled the safety classification boundary.Latency, variance, throughput, and cost
Latency still differentiated the systems:
| Backend | Load | Min | Median | Mean | p95 | p99 | Max | Sigma |
|---|---|---|---|---|---|---|---|---|
| Strands 2B [CPU] | 8.32 s | 4480.2 ms | 4808.6 ms | 4922.0 ms | 5737.3 ms | 5768.6 ms | 5773.5 ms | 407.2 ms |
| Strands 2B [CUDA] | 3.67 s | 381.5 ms | 389.5 ms | 403.9 ms | 455.4 ms | 456.4 ms | 456.6 ms | 27.9 ms |
| Nova Micro | 0.06 s | 308.6 ms | 358.7 ms | 377.4 ms | 459.9 ms | 514.1 ms | 530.1 ms | 59.7 ms |
| Nova 2 Lite | 0.00 s | 367.8 ms | 415.2 ms | 417.7 ms | 487.0 ms | 488.2 ms | 488.3 ms | 37.3 ms |
| Claude Haiku 4.5 | 0.00 s | 487.3 ms | 563.1 ms | 570.2 ms | 656.8 ms | 696.2 ms | 706.0 ms | 49.0 ms |
| Claude Sonnet 4.6 | 0.00 s | 550.2 ms | 661.1 ms | 669.1 ms | 782.3 ms | 838.0 ms | 852.1 ms | 60.7 ms |

Inference latency for all the tests
The fastest managed option was Nova Micro, but Strands 2B [CUDA] delivered the strongest combination of quality, determinism, and latency stability. Its median latency stayed below 400 ms in this setup. The CPU path remained accurate, but was too slow for most synchronous guardrail paths.
Token and output behavior also mattered:
- Strands 2B [CPU]: 5890 input tokens, 48 output tokens total, 49.9 tok/s, 7739.9 MB RAM
- Strands 2B [CUDA]: 5890 input tokens, 48 output tokens total, 607.7 tok/s, 101.0 MB RAM / 3657.5 MB VRAM
- Nova Micro: 4894 / 532 input/output, 540.3 tok/s
- Nova 2 Lite: 5442 / 638 input/output, 542.8 tok/s
- Claude Haiku 4.5: 5646 / 696 input/output, 412.6 tok/s
- Claude Sonnet 4.6: 5670 / 576 input/output, 353.1 tok/s

The impact of GPU acceleration on running strands decider model on g4dn.xlarge EC2 instance
The Strands runs produced a dramatically smaller output surface area than the prompted LLM classifiers, which is exactly the kind of control-plane efficiency decision models are designed for.
Determinism mattered as well:
- Strands CPU and CUDA were perfectly deterministic across all categories
- Nova Micro showed the highest score variance on Category C at 0.0943 for
is_safe, indicating run-to-run variability on at least one PII-safe banking case - Nova 2 Lite showed small variation in Category B at 0.0236
- Claude Sonnet 4.6 was mostly stable in this final run, with only tiny variance in Category D
- Unlike earlier drafts, the final benchmark did not show a dramatic Sonnet flip across runs

Safety accuracy Vs inference latency for this benchmark
From a FinOps angle, Nova Micro remained the lowest-cost managed option:
- Total: $0.000246
- Cost per correct decision: $0.00001117
The other measured managed costs were:
- Nova 2 Lite: $0.000480 total, $0.00002181 per correct decision
- Claude Haiku 4.5: $0.007301 total, $0.00033191 per correct decision
- Claude Sonnet 4.6: $0.025650 total, $0.00111502 per correct decision
That means Sonnet was the strongest managed LLM on
is_safe, but at roughly 100x the unit cost of Nova Micro, while still not surpassing Strands on quality in this benchmark. From a FinOps perspective, that is the practical appeal of a decision-model-first control layer: it can reduce unnecessary use of larger, more expensive general-purpose LLMs for bounded policy decisions. At the same time, local inference is not literally free; infrastructure, energy, GPU amortization, and operational overhead were outside the scope of this benchmark.When to use decision models, LLMs, or both
This benchmark does not support a simplistic “decision models are always better” conclusion. But it does show a clear winner for this particular guardrail task.
Use a decision model when
- You need deterministic guardrails
- A decision is narrow, repeated, and high volume
- Low variance matters as much as average quality
- You want local execution on CPU or GPU
- You need threshold-driven enforcement logic
Use an LLM when
- You prefer a fully managed service
- Policy definitions are changing rapidly and are easy to express in prompts
- You need a single flexible model across many related tasks
- The signals are subtle, sparse, or context-heavy
In this benchmark, Nova Micro remained the most attractive low-cost managed option, while Claude Sonnet 4.6 was the strongest managed model on
is_safe among the tested LLMs.Practical recommendation: the strongest option in this benchmark
The clearest conclusion from this benchmark is:
- If you can run a local GPU, Strands 2B [CUDA] is the strongest option in this benchmark for safety-judge guardrails.
- It achieved perfect quality on both
is_safeandhas_pii. - It was deterministic across runs, had no parsing errors, produced a very small output surface, and maintained stable sub-400 ms median latency.
- Therefore, when local deployment is acceptable, Strands 2B [CUDA] is the strongest overall option in this benchmark for this specific task: binary safety classification plus PII detection.
Recommended design
For a local or self-managed guardrail path:
- The RAG system generates a candidate answer.
- Send the answer to Strands 2B [CUDA].
- Evaluate both
is_safeandhas_piifrom the same structured decision pass. - Return, redact, block, or escalate based on the policy result.
This decision-model-first control layer is a strong pattern when the task is narrow, repeated, and policy-driven.
Why this is the strongest overall choice here:
- Perfect benchmark quality on both labels: F1 1.000
- Deterministic outputs across runs
- Stable latency: median 389.5 ms, sigma 27.9 ms
- Minimal output: 48 total output tokens
- No per-call managed API charge
If you need a fully managed API-only option, Nova Micro is the strongest FinOps choice. It had the fastest managed latency and by far the lowest cost among the managed LLMs, though its
is_safe quality was lower than Strands and Sonnet.Claude Sonnet 4.6 was the best-performing managed LLM on
is_safe, but at a very large cost premium and materially higher latency.The CPU Strands path is accurate and viable for offline evaluation, batch scoring, or environments without GPU access, but with median latency of 4808.6 ms, it is not ideal for synchronous online filtering.
A hybrid architecture can still make sense in some environments—for example, using a local decision model for primary gating and escalating ambiguous cases to a managed LLM—but it should be viewed here as an optional pattern, not the default recommendation, because Strands 2B [CUDA] already achieved the strongest overall result in this benchmark.
Key takeaways
- Decision models are a useful addition to the modern AI stack, especially for bounded control-plane tasks.
- They are attractive from a performance, cost, and FinOps perspective when the same judgment runs at scale.
- This reflects a return to specialization, but without requiring most teams to train custom classifiers.
- In this banking RAG benchmark, Strands Decider 2B achieved perfect classification on both
is_safeandhas_pii. - The differentiator in the final dataset was
is_safe, not PII detection, because all tested models were perfect onhas_pii. - The hardest cases were around the safety boundary, especially the antivirus-disabling borderline example and benign financial texts containing PII.
- Strands 2B [CUDA] delivered the best deterministic production profile in this dataset.
- Strands 2B [CPU] matched the quality, but was too slow for most synchronous online guardrail paths.
- Nova Micro offered the lowest-cost managed option and the fastest managed latency, but showed more run-to-run variability than Strands.
- Claude Sonnet 4.6 was the strongest managed LLM on
is_safe, but was materially slower and more expensive. - This benchmark is still small: 12 cases and 2 runs, so the conclusions are directional rather than definitive.
Conclusion
Decision models deserve attention because they offer a different operating point from general-purpose LLMs: smaller output surfaces, structured answers, calibrated scores, and often more stable behavior for repetitive decision tasks.
In this benchmark, that translated into a specific result: for binary safety classification plus PII detection in a banking RAG guardrail, Strands Decider 2B outperformed the tested general-purpose LLMs at the decision task itself. All models were perfect on
has_pii, so the real separator was the is_safe boundary—especially on ambiguous cases such as disabling antivirus and benign financial texts containing PII. The CUDA deployment delivered the strongest overall profile: perfect quality, zero observed variance across categories, mean latency 403.9 ms, p95 455.4 ms, sigma 27.9 ms, and a very small output surface. Strands CPU matched the quality, but was too slow for synchronous online guardrails.Among the managed LLMs, Nova Micro remained the most compelling FinOps option because it had the lowest cost and fastest managed latency, though it showed higher variance than Strands and lower
is_safe quality. Claude Sonnet 4.6 was the strongest managed LLM on is_safe, but it was materially slower and far more expensive, while still not outperforming Strands in this benchmark. As always, local inference is not literally free; infrastructure, energy, GPU amortization, and operational costs were outside this analysis.The broader lesson remains the same: use specialized decision models where bounded judgments, consistency, and cost control matter most, and use LLMs where managed flexibility or broader semantic interpretation provides the edge. Just keep the scope of this benchmark in mind: with 12 cases and 2 runs, the findings are best treated as directional rather than universal.
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article