Sim ou não
Digite uma pergunta de sim ou não e receba uma só palavra, sempre igual para a mesma redação: «Should I take the new job?» recebe não todas as vezes. Não há sorteio nem relógio, e a impressão digital do texto aparece ao lado da resposta. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- Should I take the new job?
- Resposta
- no
- Pergunta
- Should I take the new job?
- Hash
- 05a2886f
- Bit
- 1
Uma pergunta de sim ou não costuma pedir um veredito binário limpo, não um parágrafo de conselho. Quem escreve devo aceitar o emprego, lançamos na sexta ou é o momento certo deseja uma só palavra com a qual conviver na próxima hora. Esta ferramenta não consulta um modelo de linguagem, um relógio nem um gerador aleatório. Ela calcula o resumo FNV-1a de trinta e dois bits do texto da pergunta e mapeia o bit menos significativo para yes ou no, de modo que o mesmo enunciado devolve sempre a mesma resposta.
Como um resumo transforma uma pergunta em sim ou não
Uma moeda no ar parece acaso porque a impulsiona uma física que você não consegue repetir. Um modelo de linguagem parece sábio porque amostra tokens que você não consegue fixar. Esta capacidade ocupa uma terceira categoria: é um oráculo cujo comportamento inteiro é um resumo publicado da string da pergunta.
Espaços no início e no fim são recortados. Se o resultado é uma string vazia, a tarefa falha; não há um no silencioso por padrão nem um yes inventado. Quando a pergunta recortada está presente, o motor a codifica em bytes UTF-8 e executa o resumo FNV-1a de trinta e dois bits de Fowler–Noll–Vo: a base de deslocamento é a constante 2166136261, cada byte entra com um ou-exclusivo no digest em curso e o digest é multiplicado pelo primo 16777619 módulo dois à trigésima segunda.
O bit menos significativo desse digest sem sinal vira o veredito. O bit zero corresponde à palavra yes; o bit um, à palavra no. O digest hexadecimal de oito dígitos volta ao lado da resposta para que qualquer pessoa recomputar o mesmo valor FNV-1a e confirmar a paridade.
Como o mapa é função da sequência exata de caracteres, acrescentar uma letra, mudar um espaço ou trocar maiúsculas produz um digest diferente e pode inverter o resultado. Isso é o produto, não um defeito: a pergunta que você digitou é a semente, e a semente fica visível.
Onde um oráculo determinístico de sim ou não se justifica
Jogos de festa, quebra-gelos de sala e experimentos leves de produto precisam de uma resposta binária que dois clientes consigam repetir sem compartilhar uma semente aleatória. Um dever sobre resumos pode pedir que a turma preveja a paridade de FNV-1a em uma frase curta e depois confira o trabalho neste extremo. Sites de conteúdo que concorrem pela consulta sim ou não ganham uma ferramenta ao vivo cuja rota gratuita do navegador coincide byte a byte com a automação paga.
A validação falha não consome saldo. Mantenha as perguntas curtas, fixe as respostas esperadas nos testes e você terá um oráculo reproduzível para jogos, aulas e workers de borda sem levantar um modelo nem um relógio. Esta página não substitui julgamento, aconselhamento jurídico nem conselho médico; é um mapa determinístico de uma string para duas palavras.
Casos de uso
Jogos de festa e quebra-gelos
Faça à sala a mesma pergunta e obtenha um sim ou não compartilhado que qualquer pessoa reproduz digitando o enunciado idêntico.
Demonstrações de resumo em sala
Peça à turma que calcule a paridade FNV-1a de uma frase e confirme o bit menos significativo diante do hash e da resposta devolvidos.
Perguntas frequentes
Como a ferramenta de sim ou não escolhe uma resposta?
Ela resume a pergunta recortada com FNV-1a de 32 bits sobre bytes UTF-8 e mapeia o bit menos significativo para yes (bit 0) ou no (bit 1). O digest hexadecimal é devolvido para você recomputar a mesma paridade.
O que acontece se a pergunta for uma string vazia?
Perguntas vazias ou só com espaços são recusadas para que o silêncio nunca conte como um sim ou não bem-sucedido.
A mesma pergunta recebe sempre a mesma resposta?
Sim. O mapa é uma função pura da sequência exata de caracteres. Mude uma letra, um espaço ou as maiúsculas e o digest — e talvez a resposta — mudará.
Isto é uma moeda jogada ao acaso?
Não é. Não há relógio nem gerador aleatório. É um resumo publicado do seu texto. Também não é conselho, previsão nem substituto de julgamento.
Por que a resposta mudou quando corrigi um erro de digitação?
Porque a resposta vem dos caracteres exatos que você digitou. Acrescentar uma letra, mudar um espaço no meio ou trocar maiúsculas por minúsculas pode invertê-la, embora os espaços no início e no fim sejam ignorados.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/life/yes-or-no \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Should I take the new job?"}'const res = await fetch("https://api.kit.forhosting.com/life/yes-or-no", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Should I take the new job?"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/yes-or-no",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Should I take the new job?"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/yes-or-no", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Should I take the new job?"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Should I take the new job?"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/yes-or-no", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Should I take the new job?"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.yes_or_no",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_chars | 10000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Uma string vazia é recusada com invalid_input em vez de fingir que o silêncio é uma decisão. Chamadas API bem-sucedidas são cobradas a US$ 0,002; a validação falha não é faturada.
Como um resumo transforma uma pergunta em sim ou não
O motor exige primeiro um campo de string chamado text; os aliases question, q, input, content e body são aceitos pelo mesmo analisador.
Contrato de entrada, erros de string vazia e campos da resposta
Quando o campo está presente, o motor recorta espaços no início e no fim. Strings com mais de dez mil caracteres são recusadas para que um dump colado não estoure o isolamento. Combine a resposta com a sua própria interface: um yes ou no grande, o digest hexadecimal como nota de rodapé e um lembrete de que isto é um resumo do texto, não um conselho. Não trate um yes como permissão nem um no como previsão. Envie um corpo JSON com o campo obrigatório text contendo a pergunta de sim ou não que você deseja resolver. O analisador também aceita question, q, input, content e body para que formulários e envelopamentos antigos não precisem renomear o campo. O valor deve ser uma string; números, objetos, arrays e booleanos falham com invalid_input que nomeia text. Uma string vazia, inclusive uma só de espaços ou tabulações, é recusada com invalid_input e não é faturada: entrada vazia não é decisão. No sucesso o corpo inclui answer, a palavra minúscula yes ou no; yes, um booleano verdadeiro só quando a resposta é yes; question, a origem recortada que foi resumida; hash, o digest hexadecimal FNV-1a minúsculo de oito dígitos; bit, o bit menos significativo usado como moeda, zero ou um; e method, sempre fnv1a32_parity para distinguir este contrato de um algoritmo posterior. O mesmo enunciado produz sempre o mesmo JSON.
Onde um oráculo determinístico de sim ou não se justifica
Como a implementação é parse puro de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.
Casos de integração
Ramificações de formulário e experimentos leves
Divida um fluxo com um sim ou não determinístico, sem Math.random, relógios ou modelo, para que dois workers nunca discordem.
Perguntas técnicas
Quanto custa a ferramenta de sim ou não?
A ferramenta do navegador é gratuita. Solicitações API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é faturada.