Soluciones · Transporte y logística
Cuando el cliente pregunta dónde está el paquete, el agente no adivina: llama al courier, le pregunta y vuelve con la respuesta.
La despachación por voz, construida como mecanismo, no como promesa: una tabla con estados explícitos, tres intentos con dos minutos de distancia, el resultado de la llamada escrito de forma estructurada y un filtro que saca el número del conductor de todo lo que llega al modelo, para que no pueda dictarse al cliente.
Ya construidoMecanismul 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.
En una empresa de transporte o de entrega, la mayoría de las llamadas recibidas son la misma pregunta hecha por personas distintas: dónde está la mercancía, a qué hora llega, por qué no ha llegado. La respuesta no está en un documento y no está en un sistema — está en la cabeza del conductor, que conduce. El despacho hace la conexión: toma la llamada del cliente, llama al conductor, vuelve al cliente. Ese trabajo ocupa a una persona entera y se hace cien veces al día, con las mismas tres frases.
Hemos construido exactamente esta cadena, como mecanismo con estados, no como función de marketing. Un agente habla con el cliente. Cuando necesita una respuesta que no tiene, llama a una función que inicia una segunda llamada — hacia el courier — vinculada a la conversación de la que salió. Esa llamada tiene su propia fila en una tabla, con estado que pasa por `calling`, `in_progress`, `retrying`, `completed`, `failed`, `no_answer`, `timeout`, con el número del intento, con un máximo de tres intentos y una pausa de dos minutos entre ellos. El resultado se escribe de forma estructurada: el resumen de lo que dijo el courier, el tiempo estimado, la posición.
La parte que se pasa por alto fácilmente y que nosotros tratamos como un requisito, no como una precaución: el número de teléfono del conductor no tiene derecho a llegar al cliente. No es una instrucción escrita en el prompt del agente, porque una instrucción en un prompt puede eludirse. Es un filtro que recorre recursivamente el resultado de la herramienta y elimina los campos de contacto del conductor antes de que ese resultado llegue al modelo — manteniendo los números del despacho. Lo que fue eliminado no puede dictarse, sin importar cómo pregunte el agente.
Y el límite más importante es uno de infraestructura, no de inteligencia: un agente de voz por teléfono depende de un host SIP entre tu operador y la plataforma. Cuando ese host cae, las llamadas no salen, y la firma del fallo es reconocible — solicitud caducada, identificador de llamada vacío, duración cero. El host por el que pasan nuestras líneas de prueba no responde a la fecha de escritura de esta página. En la web, el recorrido de voz es verificable hoy; por teléfono, la primera etapa de cualquier trabajo es establecer en qué host entran tus números.