Katuokdocs
Conceitos

Como construir com o Katuok

O seu código manda no fluxo; o Katuok toma as decisões pequenas que nenhuma regra fixa resolve.

Três jeitos de usar IA

Regras fixascódigo lê a mensagemprocura palavras-chavequebra com gíria e erroAgente com chatbotchatbot decide o passochatbot decide o próximopode sair do trilhoCódigo com o Katuokcódigo manda no fluxoKatuok julga um pontocódigo age pela certeza
JeitoQuem decide o próximo passoRisco
Programa tradicionalO código, com regras fixasQuebra quando o texto muda de jeito
Agente com chatbotO próprio chatbot, a cada passoCada passo pode sair do trilho; caro e lento
Programa com o KatuokO código; o Katuok só julgaBaixo: cada decisão vem com certeza e pode ir para uma pessoa

Princípios

  1. O código manda. Fluxo, regras e efeitos (mandar e-mail, mover pedido) ficam no seu código.
  2. Uma pergunta, uma propriedade. Quebre julgamentos grandes em perguntas estreitas.
  3. Mande só o que importa. Menos ruído no estado, mais acerto.
  4. Junte as perguntas. Várias perguntas sobre o mesmo estado vão numa chamada só.
  5. Combine no código. Pesos e regras para juntar respostas são seus, e você pode mudar quando quiser.
  6. Roteie pela certeza. O que é claro segue sozinho; o que é duvidoso vai para uma pessoa.
  7. Regra fixa antes de modelo. "Vencido há mais de 30 dias" é conta de data: faça no código, não pergunte ao Katuok.

Exemplo: nota de um currículo

Em vez de perguntar "este candidato é bom?", pergunte cada critério separado e some com os pesos da vaga.

perguntas = {
  "experiencia": {"tipo": "nota", "instrucao": "Quantos anos de experiência com vendas B2B?",
                  "niveis": {"1": "nenhuma", "2": "menos de 2 anos", "3": "2 a 5 anos", "4": "mais de 5 anos"}},
  "ingles": {"tipo": "sim_nao", "instrucao": "O currículo indica inglês avançado ou fluente?"},
  "cidade": {"tipo": "sim_nao", "instrucao": "A pessoa mora na Grande São Paulo ou aceita mudar?"},
}
r = decidir(curriculo, perguntas)["respostas"]
pontos = 0.6 * (r["experiencia"]["media"] - 1) / 3 + 0.25 * r["ingles"]["sim"] + 0.15 * r["cidade"]["sim"]