Skip to content

saas gastronómico / asistente de ia · en vivo

actualizado

Asistente de WhatsApp con IA sobre la línea fija de cada restaurante.

Muchos clientes prefieren escribir antes que llamar. Los restaurantes conectan su número de siempre a WhatsApp Business, y un asistente de IA toma reservas y responde preguntas sobre la carta y el local, a cualquier hora y en el idioma del cliente.

Rol
Arquitectura y desarrollo
Stack
NestJS, Postgres, AWS Bedrock
Modelos
Claude Sonnet, Claude Haiku
Canal
WhatsApp Cloud API
herramientas que el agente puede usar, activables por restaurante
37
modelos, elegidos en cada turno
2
tests automatizados, incluidas conversaciones end-to-end
~880

La idea

El teléfono de un restaurante suena en el peor momento: en pleno servicio. Con este asistente, cada restaurante conecta a WhatsApp Business el número que sus clientes ya conocen. Los clientes escriben ahí, y el asistente consulta la disponibilidad, toma reservas y responde preguntas sobre la carta, los alérgenos, los horarios y los eventos. También funcionan los audios: se transcriben antes de que el asistente los lea.

Un agente, muchas herramientas

Por dentro es un único agente con tool calling en un backend NestJS. Puede usar 37 herramientas, agrupadas en reservas, carta, información del restaurante, memoria de clientes, eventos, vales y elementos interactivos de WhatsApp como botones y listas. Cada restaurante activa los grupos que necesita y tiene sus propias instrucciones, su propio tono y sus propios límites de costo. Un solo despliegue atiende a todos los restaurantes.

Las preguntas sobre un restaurante se responden con sus propias FAQ, encontradas por búsqueda vectorial en Postgres y reordenadas antes de que el modelo las vea. El asistente además recuerda a los clientes: necesidades alimentarias y preferencias se mantienen en la próxima conversación.

El modelo adecuado para cada turno

No todos los mensajes necesitan el modelo más potente. Un router basado en reglas elige uno en cada turno:

  • Claude Sonnet se ocupa de las reservas y de todo lo que continúa una reserva. Ahí un error cuesta una mesa, por eso ese flujo recibe el modelo más potente, que comete menos errores.
  • Claude Haiku se ocupa de las preguntas simples. Es más rápido y cuesta alrededor de un tercio.

Ambos corren en AWS Bedrock con perfiles de inferencia de la UE.

Reglas claras para las reservas

Un modelo de lenguaje no debería poder reservar una mesa por su cuenta. Cada reserva, cambio o cancelación primero solo se propone. Se ejecuta cuando el cliente toca Confirmar o responde que sí, lo que además limita lo que puede lograr una prompt injection. A eso se suman entradas validadas (nada de reservas en el pasado, tamaños de grupo razonables), timeouts, un límite diario de costo por cliente, reintentos con una dead-letter queue y un mensaje de respaldo fijo si algo falla.

Hecho para producción

Los mensajes llegan por el webhook de la WhatsApp Cloud API, se verifican, se descartan duplicados y pasan por una cola en Postgres. Un bloqueo por conversación mantiene el orden de las respuestas, y los mensajes enviados seguidos se responden juntos. El tracing corre con Langfuse y el seguimiento de errores con Sentry, sin datos personales. Unos 880 tests automatizados, incluidas conversaciones end-to-end con los modelos reales, corren en CI.

Resultado

El asistente está en vivo. Los restaurantes tienen un canal de reservas que funciona cuando nadie puede atender el teléfono, y los clientes reciben respuesta a cualquier hora, en su propio idioma.

Para el mismo proveedor también construí la app de reservas y un generador de apps white-label.

Siguiente proyecto Plataforma de reservas online para una gran franquicia de cristales para autos

Cuénteme
qué necesita construir.

Reservar llamada

O escriba a hello@asisto.io

¿Prefiere escribir antes que hablar? Sin problema: todo funciona también por escrito, desde el primer mensaje hasta la entrega.

Qué sigue

  1. Esta semana
    Primer contacto, por llamada o por escrito
  2. En 48 horas
    Propuesta por escrito
  3. Normalmente en 2 semanas
    Inicio del proyecto
  4. Al final
    Entrega y 30 días de soporte