Um turno do chat
O cliente escreve uma mensagem. Seguem-se sete passos. O modelo decide um deles. O código decide os demais.
Espanhol (es-MX) Português (pt-BR)
“Vi en mi estado de cuenta un cargo de 320 pesos mexicanos de Cafe Central del 12 de junio y no lo reconozco.” “não reconheço uma cobrança de 320 no Cafe Central em 12 de junho”
1 MascaramentoC 2 Roteador de intençãoM 3 Busca de cobrançasC 4 Motor de políticasC 5 ConfirmaçãoC 6 Abertura do casoC 7 ReleituraC
Passo anterior
Próximo passo
Dados de demonstração: Cafe Central, 320 MXN. Os valores foram gerados pela equipe.
1. Mascaramento O código decide
O código mascara os identificadores pessoais por padrão. Também recusa um pedido para revelar as instruções, antes de qualquer chamada ao modelo.
Entra O texto do cliente. Sai O mesmo texto, com os identificadores pessoais mascarados. O modelo nunca vê o id do cliente. O que pode interromper o turno Recusar Um pedido para revelar as instruções recebe uma recusa. O código registra a tentativa.Evidências: sentinel-ai-core/app/privacy · docs/build/decisions/004-pii-lifecycle.md
2. Roteador de intenção O modelo rotula
Um LLM com instruções rotula a intenção. Não decide mais nada. Se o modelo falha, a linha de base de palavras-chave responde o turno.
Entra O texto mascarado. Sai Um rótulo de intenção: cobrança, faltam informações, fora do escopo ou pessoa. Neste exemplo: cobrança. O que pode interromper o turno Esclarecer Rótulo «faltam informações»: não há dados suficientes. O sistema pergunta.Recusar Rótulo «fora do escopo»: o sistema não age.Transferir Rótulo «pessoa»: o cliente pede um atendente.Evidências: docs/build/decisions/016-router-models.md · evidence/evaluation-runs/2024Q4-eval-v8/summary.json
3. Busca de cobranças O código decide
Uma ferramenta vinculada à sessão lê as cobranças. O código reduz a lista com as palavras do cliente.
Entra A conta da sessão e as palavras do cliente: valor, estabelecimento, data. Sai As cobranças candidatas desta conta. Neste exemplo: uma correspondência, Cafe Central, 320 MXN (dados de demonstração). O que pode interromper o turno Esclarecer Vários candidatos, ou nenhum para a data: o sistema mostra as cobranças e pergunta qual.Transferir Três buscas com falha são transferidas sem executar nenhuma ação.Evidências: sentinel-ai-core/app/tools · docs/build/conversation.md
4. Motor de políticas O código decide
O código verifica o prazo, o status, o valor e a regra de fraude. Uma pergunta posterior de por quê recebe esta decisão guardada.
Entra Os fatos da cobrança e a política do país. Sai Uma decisão com um id de regra: permitir, recusar ou transferir. Neste exemplo: permitir. O que pode interromper o turno Recusar Fora do prazo, ou um status que não pode ser disputado.Transferir Um valor alto, ou um sinal de fraude. Uma pessoa decide.Evidências: docs/build/decisions/021-dispute-policy-sources.md · docs/rationale/policy-sources.md
5. Confirmação O código decide
O sistema não abre nada antes de o cliente confirmar. Uma confirmação abre só a cobrança da caixa que o cliente viu.
Entra A cobrança permitida. Sai Uma caixa de confirmação com os fatos verificados. O cliente confirma ou não. O que pode interromper o turno Esclarecer O cliente não confirma, ou cita outra cobrança. A caixa se fecha e nada é aberto.Evidências: docs/build/conversation.md
6. Abertura do caso O código decide
Uma ferramenta grava o caso. O sistema conta só uma ação que a ferramenta confirma. Um tempo esgotado não é um sucesso.
Entra A cobrança confirmada. Sai Um registro de caso no armazém de casos. O que pode interromper o turno Transferir Um passo que falha não é informado como concluído. O pacote para o atendente o registra.Evidências: sentinel-ai-core/app/models/dispute_case.py · docs/architecture/mocks.md
7. Releitura O código decide
O código relê o caso do armazém. O sistema diz que o caso existe só depois dessa leitura.
Entra A referência do caso. Sai O número do caso, mostrado ao cliente. O que pode interromper o turno Nada interrompe este passo. É o fim do turno. Evidências: docs/architecture/specification.md
Cada parada é um tipo de resposta: Esclarecer pergunta ao cliente, Recusar declina, Transferir registra um ticket para um atendente. Veja a página da conversa .