Soluções · Transporte e logística
Quando o cliente pergunta onde está a encomenda, o agente não adivinha: liga para o courier, pergunta-lhe e volta com a resposta.
A despacha por voz, construída como mecanismo, não como promessa: uma tabela com estados explícitos, três tentativas com dois minutos de intervalo, o resultado da chamada escrito de forma estruturada e um filtro que retira o número do motorista de tudo o que chega ao modelo, para que não possa ser ditado ao cliente.
Já construídoMecanismul de dispecerizare e scris și migrat în platforma noastră vocală: tabela `courier_calls` cu șapte stări posibile, trei încercări implicite, pauză de 120.000 ms între ele și rezultatul apelului păstrat structurat, plus cinci funcții de server care o folosesc — inițierea apelului către curier, verificarea rezultatului, mătura pentru apelurile rămase agățate, identificarea celui care sună înapoi și webhookul de după apel. A doua implementare e filtrul de ieșire scris pentru un client din transport, care elimină recursiv câmpurile de contact ale șoferului din rezultatul uneltei, păstrând numerele dispeceratului. Rezerva, spusă înainte să întrebi: partea de telefon trece printr-o gazdă SIP, iar gazda prin care merg liniile noastre de test nu răspunde la data scrierii — nu-ți dăm un număr de demonstrație pe care nu l-am putea ridica în fața ta.
Numa empresa de transporte ou de entrega, a maioria das chamadas recebidas é a mesma pergunta feita por pessoas diferentes: onde está a mercadoria, a que horas chega, porque não chegou. A resposta não está num documento e não está num sistema — está na cabeça do motorista, que está a conduzir. O operador faz a ligação: atende a chamada do cliente, liga ao motorista, volta ao cliente. Este trabalho ocupa uma pessoa inteira e é feito cem vezes por dia, com as mesmas três frases.
Construímos exatamente esta cadeia, como mecanismo com estados, não como função de marketing. Um agente fala com o cliente. Quando precisa de uma resposta que não tem, chama uma função que inicia uma segunda chamada — para o courier — ligada à conversa de onde partiu. Essa chamada tem a sua própria linha numa tabela, com status que passa por `calling`, `in_progress`, `retrying`, `completed`, `failed`, `no_answer`, `timeout`, com o número da tentativa, com no máximo três tentativas e uma pausa de dois minutos entre elas. O resultado é escrito de forma estruturada: o resumo do que o courier disse, o tempo estimado, a posição.
A parte que é fácil de ignorar e que tratamos como requisito, não como precaução: o número de telefone do motorista não pode chegar ao cliente. Não é uma instrução escrita no prompt do agente, porque uma instrução num prompt pode ser contornada. É um filtro que percorre recursivamente o resultado da ferramenta e elimina os campos de contacto do motorista antes de esse resultado chegar ao modelo — preservando os números da central. O que foi eliminado não pode ser ditado, independentemente de como o agente seja questionado.
E a limitação mais importante é de infraestrutura, não de inteligência: um agente de voz por telefone depende de uma host SIP entre o seu operador e a plataforma. Quando essa host falha, as chamadas não saem, e a assinatura da falha é reconhecível — pedido expirado, identificador de chamada vazio, duração zero. A host por onde passam as nossas linhas de teste não responde à data de escrita desta página. Na web, o percurso de voz é verificável hoje; por telefone, a primeira etapa de qualquer trabalho é estabelecer em que host entram os seus números.