Score existe para a pergunta que não cabe em opções nem em sim/não: “quanto?”. Qual a severidade do bug? Qual o nível de frustração? Quanto de experiência o candidato tem? Você descreve a régua em níveis, o modelo devolve a posição — e, diferente de uma nota solta, a resposta chega com a probabilidade de cada nível e a confiança.
O formato
Uma pergunta Score tem type: "score", as instructions e o criteria: uma
lista ordenada de descrições de níveis, do baixo ao alto, com no mínimo 2 e
no máximo 10 entradas. O número de cada nível é a posição dele na lista — o
modelo não vê esse número; vê as descrições.
{
"severidade": {
"type": "score",
"instructions": "Qual a severidade do problema relatado?",
"criteria": [
"Cosmético; sem impacto na funcionalidade",
"Funcionalidade quebrada, mas existe contorno",
"Bloqueio; não existe contorno"
]
}
}
A resposta tem cinco campos: score (a posição na régua, podendo cair entre
níveis), legend (o mapeamento de número para descrição),
probabilities (a probabilidade por nível), confidence e o type. Um exemplo
real da documentação — um bug que quebra a exportação no Safari, mas funciona no
Chrome:
{
"severidade": {
"type": "score",
"score": 1.3,
"confidence": 0.54,
"probabilities": { "0": 0.0, "1": 0.7, "2": 0.3 }
}
}
A leitura é literal: 70% “existe contorno”, 30% “não existe” — para os clientes que só usam Safari, não existe. A nota 1,30 é a soma ponderada (1×0,70 + 2×0,30), e a confiança de 0,54 avisa que a distribuição está dividida. É uma resposta honesta sobre um problema ambíguo.
Como ler uma nota fracionada
A documentação dedica uma seção a isso, e o resumo é: a nota é uma posição, não
uma média de verdade. Distribuições diferentes produzem a mesma nota — 1,0 pode
ser 100% no nível 1 ou 50% em 0 e 50% em 2. Por isso a orientação é ler
probabilities e confidence junto com score: a nota ordena (priorize os
tickets por severidade), as probabilidades explicam, e a confiança avisa quando
não dá para apostar.
Confiança baixa numa Score tem três causas típicas, segundo os docs: os níveis se sobrepõem para aquele estado, a pergunta mede mais de uma coisa, ou o estado não diz o bastante para posicionar.
Escrevendo réguas boas
A receita oficial tem quatro mandamentos, todos com exemplo de antes e depois:
- Descreva situações, não graus. “Funcionalidade quebrada, mas existe contorno” dá ao modelo algo para comparar com o estado; “severidade moderada” não dá nada.
- Uma dimensão por pergunta. “Pontual, inteligente e experiente” mede três coisas — separe em três Scores e combine com pesos no código.
- Use o topo da régua para o caso extremo que exige ação diferente. Uma escala de irritação que termina em “muito irritado” mistura o cliente alto e o cliente abusivo; adicionar o nível “abusivo ou ameaçador” separa os dois.
- Teste com seus dados. Duas redações da mesma régua comportam-se diferente; valide com exemplos conhecidos antes de concluir.
Números puros nas descrições são o anti-padrão documentado: a mesma mensagem de
bug alinhada por pixels que recebe nota 0,0 com níveis descritos recebe 0,57 (e
confiança 0,35) com criteria: ["0", "1", "2"].
Níveis estruturados com exemplos
Como na Choice, um nível pode ser um objeto em vez de texto — com a descrição e exemplos de situação. O exemplo dos docs: o bug do Safari, que com níveis simples nota 1,12 e confiança 0,81, passa a 1,06 e 0,91 quando o nível 1 ganha o exemplo “exportação falha em um navegador mas funciona em outro”. Exemplos parecidos com suas entradas reais orientam o modelo; exemplos sem relação com o caso mudam quase nada.
Combinando Scores no código
O padrão composite scoring dos docs: uma Score por dimensão, normalização por
len(criteria) - 1 (para pôr todas na base 0–1) e pesos seus na combinação:
prioridade = (0.6 * severidade_normalizada
+ 0.3 * frustracao_normalizada
+ 0.1 * qualidade_do_relatório)
Os pesos vivem no seu código, visíveis e auditáveis — quando o resultado não bater com o que o time decidiria, muda-se um coeficiente, não um prompt. E lembre: mande todas as Scores (e as Choice e Noul irmãs) na mesma chamada, porque correm em paralelo sobre o mesmo estado. O playground mostra duas Scores em português — urgência e risco de churn — ao lado das outras quatro perguntas.
Perguntas frequentes
Quantos níveis uma pergunta Score aceita?
De 2 a 10 níveis, segundo a documentação oficial. A orientação é usar quantos níveis você conseguir descrever de forma distinta — três é um número saudável, e níveis que não se distinguem derrubam a confiança.
A nota pode cair entre dois níveis?
Sim, e isso é intencional. A nota é a média ponderada das probabilidades dos níveis: uma distribuição 70% no nível 1 e 30% no nível 2 devolve nota 1,30 numa régua de 0 a 2.
Por que números nas descrições não ajudam?
Porque o modelo recebe as descrições, não os números das posições. 'Rate de 0 a 2' não dá nada para comparar com o estado; 'problema com contorno existe' dá. A documentação mostra o mesmo bug recebendo nota errada com níveis numéricos e nota certa com níveis descritos.
Quando usar Score em vez de Noul?
Use Noul para uma pergunta de sim ou não limpa e Score para medir posição num espectro que você consegue descrever em níveis. 'O candidato é forte em Python?' com Noul devolve uma probabilidade difícil de interpretar; com Score em níveis de experiência, devolve uma posição comparável.