Strands Decider 2B

Última atualização:

Aberto115–299ms$0/M input

Notas do quadrante

Ver o quadrante completo

Pontuação pela rubrica pública do quadrante (maturidade × capability; bolha = adoção). Revisamos conforme a evidência.

  • Maturidade6.3/10

    Pesos, dados de treino e scripts Apache-2.0; CLI no PyPI com servidor /v1/systemone; registro de pesquisa e arquivos de avaliação bem completos. Exemplo com o SDK do Strands Agents no repo e PR aberto no Ollama. Projeto de laboratório da AWS com suporte no Discord, não serviço da AWS: sem SLA.

  • Capability8.1/10

    Noul / Choice / Score com pointer head, uma temperatura por tipo. v1-2610 26B-A4B: JevBench público 207/231 (89,6%), Brier 0,162, ECE 0,051, contado como evidência apesar de rodada própria e fora dos placares. hobson-v19: mediana de 115 ms numa RTX 3090.

  • Adoção14/100

    248 estrelas e 39 forks no GitHub até 03/10, 39 likes no Hugging Face, posts de lançamento do AWS Developers e do VP da AWS Swami Sivasubramanian (121 likes), thread pequena no HN. Contador de downloads do HF = 0. Sem uso em produção relatado.

Vendor claims

Leia antes

  1. Todos os números são rodada da própria AWS. A nota no JevBench usa o harness do JevBench, mas o v19 não está no placar público. Trate como autodeclarado.
  2. score é o tipo fraco. Em quatro tarefas de classificação nunca vistas, o repo mede 0,725 em choice e 0,499 em score.
  3. Projeto de laboratório, não serviço da AWS. O Strands Labs é o espaço experimental do time do Strands Agents. Não há endpoint hospedado nem SLA.

O Strands Decider 2B é um modelo de decisão aberto do Strands Labs, braço experimental do projeto Strands Agents da AWS, anunciado no blog do Strands em 1º de outubro de 2026 por Marc Brooker, Mike Chambers e Fabio Nonato de Paula. O checkpoint publicado, strands-decider-2B-hobson-v19, subiu no Hugging Face em 30 de setembro. Código, dados de treino e scripts estão em strands-labs/strands-decider, sob Apache-2.0.

O modelo pega o Qwen3.5-2B, tira o head de linguagem e coloca um pointer head (pouco mais de um milhão de parâmetros) que pontua o estado oculto na posição de cada opção. O tronco é ajustado com uma LoRA de rank 16. Responde perguntas Noul, Choice e Score num único pass e devolve uma probabilidade por opção.

Especificações

Atributo Valor
Base Qwen/Qwen3.5-2B-Base
Parte de decisão Pointer head (~1M de parâmetros) + LoRA de rank 16
Tipos de pergunta Noul, Choice, Score
Contexto janela de 4.096 tokens salva com o checkpoint (JevBench medido em 3.072 e 4.096)
Serving pip install strands-decider; strands-decider ask (CLI) ou strands-decider serve (POST /v1/systemone)
Integrações exemplo com o SDK do Strands Agents (uma intervenção before_tool_call que barra chamadas de ferramenta); PR de suporte no Ollama, o #18748, aberto
Treino 19 versões de receita documentadas; o v19 soma 6.166 linhas de adequação de resposta (HelpSteer2 + geradas); ~11 h numa RTX 3090 ou ~1 h 10 min em 8× H100
Licença Apache-2.0 (pesos, dados, código)
Lançamento

Evidências (UnverifiedClaim)

Dos resultados de avaliação do repo:

Métrica v19
Acurácia no JevBench público (janela de 3.072) 0,723 (167 / 231); 168 com 4.096
Tier fácil 1,000
Tier padrão / tier difícil 0,875 / 0,505
Brier / ECE (calibrado) 0,342 / 0,052
Latência mediana / p95 (RTX 3090, WSL2) 115 / 299 ms
M3 Pro aquecido, mediana / p95 234 / 2.628 ms

O repo é bem franco sobre ruído: seis retreinos da receita do v17 deram de 159 a 167 nas mesmas 231 tarefas, ou seja, um retreino mexe a nota em cerca de três tarefas. Uma rodada posterior, o v20, fez 169 com janela de 4.096 contra 168 do v19, dentro desse ruído, e o repo registra que ele não bateu a meta pré-registrada.

Três rankings para o mesmo resultado. O repo coloca o v19 em 50º de 90 no placar do JevBench de 25 de setembro e em 1º de 30 sistemas com até 2B. O blog diz “3º de 33 na classe de 2B e 1º de 30 sem os modelos logo acima de 2B” em acurácia mais calibração. O post de lançamento do VP da AWS Swami Sivasubramanian diz “segundo entre os modelos públicos da classe de ~2 bilhões de parâmetros e primeiro entre os que divulgam a receita de treino completa”. Os três vêm da rodada da própria AWS. O blog também dá mediana de cerca de 153 ms num MacBook M3 para tarefas pequenas, contra 234 ms do repo num M3 Pro aquecido nas perguntas do JevBench.

Para quem serve / para quem não serve

Serve: experimentos locais em CPU ou GPU de notebook; guardrails e checagens de chamada de ferramenta dentro de agentes Strands; quem quer retreinar um modelo de decisão a partir de dados e scripts publicados.

Não serve: pontuação ordinal em tarefas novas; documentos difíceis de vários passos (tier difícil 0,505); qualquer caso que precise de API hospedada ou SLA.

Limites

  • Fora dos placares do JevBench e do Decision Index.
  • A latência no Mac tem cauda longa (p95 de 2,6 s num M3 Pro).
  • O contador de downloads do Hugging Face mostra 0; pode não contar o layout de arquivos deste repo, então não serve como sinal de uso nem para um lado nem para o outro.

O Strands Decider treina componentes de decisão próprios (um pointer head novo e uma LoRA no tronco), publica os pesos com uma API tipada documentada que devolve probabilidades e serve o formato de requisição do System One. Fica como lora-adapter porque os pesos de decisão são uma LoRA mais um head pequeno sobre um Qwen3.5-2B de prateleira.

Checkpoint mais novo: hobson-v21 (5/10/2026)

O StrandsAgents/strands-decider-2B-hobson-v21 (Apache-2.0) é a receita do v19 mais paráfrases de perguntas conferidas e destilação do Qwen3.5-4B onde ele concorda com o rótulo gold. Continua um LoRA no Qwen3.5-2B-Base mais uma head de readout; é a seed publicada entre seis, escolhida por uma regra escrita antes de ranquear as seeds. Imagens funcionam via strands-decider[vision].

Números da Strands (UnverifiedClaim): JevBench público 176/231 (0,762) com janela de 4.096, Brier 0,323, ECE 0,064, contra 168/231 do v19 na mesma janela. Fora do JevBench v1.6.1. O Decision Index 0.3 lista “Strands Decider 2B” (versão não informada) com 21,75, grupo do rank 84. As notas desta ficha não mudam.

A família v1-2610 (9/10/2026)

A Strands lançou cinco checkpoints com nomenclatura nova, strands-decider-<tamanho>-<base>-v<N>-<AAMM>: quatro sobre Gemma 4 e um sobre Qwen3.5. Cada repo traz um adapter LoRA mais uma cabeça de leitura (0,23–0,84 GB); o modelo base é baixado do Hub no primeiro uso. Os cinco são Apache-2.0, assim como as bases Gemma 4 e Qwen3.5. Todos têm espelho em amazon/. Cada checkpoint é um soup de três seeds (atualizações LoRA em média num só adapter rank 48, scores das cabeças em média), calibrado depois com uma temperatura por tipo de pergunta.

Uso: pip install "strands-decider @ git+https://github.com/strands-labs/strands-decider" (o suporte a Gemma 4 está na main; o pacote no PyPI ainda não tem), depois strands-decider ask … ou strands-decider serve <repo> --port 8000, que responde em POST /v1/systemone. Ainda não há GGUF dos checkpoints v1-2610; o único GGUF da comunidade é do hobson-v19.

Números da Strands (UnverifiedClaim): split público do JevBench (231 itens, janela de 4.096 tokens, rodada própria com os arquivos de avaliação em cada repo) e Decision Index 0.2.1 balanced skill com janela de 32.768:

Checkpoint Base JevBench público (4.096) % Brier ECE DI 0.2.1 Repo (GB)
26B-A4B gemma-4-26B-A4B-it 207/231 89,6 0,162 0,051 48,69 0,27
12B gemma-4-12B-it 200/231 86,6 0,173 0,061 47,14 0,84
E4B gemma-4-E4B-it 187/231 81,0 0,243 0,037 39,42 0,47
2B (Qwen3.5) Qwen3.5-2B-Base 180/231 77,9 0,280 0,072 30,82¹ 0,23
E2B gemma-4-E2B-it 180/231 77,9 0,313 0,053 29,78 0,33
hobson-v21 (anterior) Qwen3.5-2B-Base 176/231 76,2 0,323 0,064 — —
hobson-v19 (anterior) Qwen3.5-2B-Base 167/231 72,3 0,342 0,052 — —

¹ O card do 2B dá 30,82 “medido com o harness de treino”, não a mesma linha dos outros.

Duas receitas sob o mesmo nome. Os quatro cards Gemma 4 treinam com os dados do hobson-v21 (123.339 linhas) mais 12.263 linhas de tarefas de código, com o Qwen3.5-4B como professor. O card do Qwen3.5 2B descreve um mix de 246.678 linhas que tira as 20.000 linhas do v21 vindas de datasets com termos que restringem uso comercial, com o Gemma-4-31B-it como professor. Se essa diferença importa para o seu uso, confira data/sources.md no repo.

O gráfico de lançamento (“New strands-decider models hit 89.6% on JevBench”, org no HF) bate com os cards: 207, 200, 187 e 180 de 231 são 89,6%, 86,6%, 81,0% e 77,9%. Ele mostra só o split público. O subtítulo diz que os cinco superam os modelos anteriores em acurácia e calibração. Isso vale para o Brier (0,162–0,313 vs 0,323 e 0,342), mas não para o ECE: os 0,072 do Qwen3.5 2B são piores que os 0,064 do hobson-v21 e os 0,052 do v19.

Placares: nenhum dos cinco está no JevBench da Benchmark Heaven (placar v1.6.2) nem no Decision Index 0.3 oficial, cuja única entrada Strands é o “Strands Decider 2B” com 21,75. Os próprios cards apontam documentos longos e com vários passos como ponto fraco (o nível difícil fica bem abaixo do fácil).

Atualização de nota (10/10/2026): capability 7,7 → 8,1. O resultado da Strands no split público para o 26B-A4B (207/231) passa a contar como evidência, por decisão do Fabricio em 10/10 (13h57 BRT). Continua UnverifiedClaim: rodada própria, só itens públicos, fora de qualquer placar. A acurácia vai de 6 para 8 (+0,40 na capability); tipos, calibração e latência não mudam. Maturidade 6,3 e adoção 14 não mudam.