HIRO
|
+ Hablemos
|

Metí un agente de IA en una web de reservas: lo que funcionó y lo que no

Experimento de dos horas: montar page-agent (repo open source de Alibaba) sobre una web de reservas de prueba y dejar que el cliente pida su mesa hablando en lenguaje natural. Rellena el formulario sorprendentemente bien, no inventa datos cuando le prohíbes hacerlo, y falla en lo que no se le contó: no sabe qué día es hoy. Aquí el código mínimo para reproducirlo, los tres casos reales que probé, los límites que ningún vendor cuenta y la lección de fondo sobre por qué la IA sin contexto es media herramienta.

David CabezaCofundador HIRO · 20+ años en hostelería
7 min de lectura
IA

Metí un agente de IA en una web de reservas: lo que funcionó y lo que no

HIRO · Insights

El experimento en una frase

Un cliente escribe "mesa para 4 el viernes a las 21h, a nombre de María, en la terraza" y el formulario de reserva se rellena solo, campo a campo, sin que nadie toque el teclado. No es un concepto: lo grabé funcionando.

La pregunta de fondo que quería responder no es "¿mola?", sino la de siempre en mi trabajo: ¿esto resuelve un problema real de un negocio, hoy?

Probé un repo open source de Alibaba llamado page-agent, monté una web de reservas de prueba, y dejé que un cliente reservara hablando en lenguaje natural. Funciona sorprendentemente bien, hasta que le preguntas qué día es hoy. Te cuento el caso, cómo se monta, y para qué sirve (y para qué todavía no).

Qué es page-agent (y por qué me interesó)

page-agent es una librería open source de Alibaba. La idea: en vez de conectar la IA por detrás (API contra API), incrusta un agente en la propia página y le deja leer el DOM y actuar sobre él, escribir en campos y pulsar botones, como lo haría una persona. Le das una instrucción en lenguaje natural y la ejecuta sobre lo que hay en pantalla.

Para hostelería y para cualquier negocio con formularios (reservas, presupuestos, altas, incidencias), la promesa es enorme: el cliente habla, el sistema rellena.

Cómo lo monté (arquitectura mínima)

Quería una prueba honesta en un par de horas, no un producto. Así que:

  1. Una web de reservas de prueba con un formulario normal (fecha, hora, personas, zona, nombre, teléfono, notas). Reserva ficticia: al confirmar no llama a ningún sistema real, solo muestra los datos que se enviarían. Esto es clave para probar sin riesgo.
  2. page-agent cargado en esa página.
  3. Un modelo LLM detrás. Aquí un detalle importante de seguridad: la clave del modelo no puede ir en el navegador (cualquiera la vería). La puse en el servidor, con un pequeño proxy, de modo que la web llama a su propio backend y este habla con el modelo. El navegador nunca ve la clave.

Modelo usado en la prueba: uno económico y rápido (un Qwen de Alibaba, vía un gateway de IA). Coste por reserva: céntimos.

Cómo se configura (lo esencial)

En la práctica son tres piezas. Cargar la librería:

<script src="https://cdn.jsdelivr.net/npm/page-agent/dist/iife/page-agent.demo.js"></script>

Crear el agente apuntando a tu modelo (endpoint compatible con OpenAI; el baseURL apunta a tu proxy, no directo al modelo, para no exponer la clave):

const agent = new PageAgent({
  model: 'alibaba/qwen3.7-plus',
  baseURL: '/api',        // tu proxy -> el modelo, con la key en el servidor
  apiKey: 'proxy',        // la real vive en el backend
  language: 'es-ES',
});

Y darle la orden. Aquí está el 80% del secreto: la instrucción. La mía mapeaba cada campo y, sobre todo, le prohibía inventar:

const task =
  'Rellena el formulario de reserva con los datos de la petición del cliente. ' +
  'Mapea fecha, hora, personas, zona, nombre y teléfono si los dice, y cualquier ' +
  'preferencia en Notas. MUY IMPORTANTE: no inventes datos que el cliente no haya dado; ' +
  'deja ese campo vacío. Petición del cliente: "' + peticion + '"';

await agent.execute(task);

Ese "no inventes" es lo que separa un juguete de algo usable. Y funcionó.

Qué pasó (con datos, sin humo)

Probé tres situaciones reales de un servicio de reservas.

1) Reserva completa. "Mesa para 4 el viernes a las 21h, a nombre de María, en la terraza". Rellenó los cinco campos correctos. Y dejó teléfono y notas vacíos, porque el cliente no los dijo. Cero invención. Justo el comportamiento que le pides a un buen empleado.

2) Reserva incompleta. "Quiero cenar el sábado". Rellenó solo lo que sabía y dejó el resto vacío. Bien. Pero con un pero grande (abajo).

3) Fuera de alcance. "¿Tenéis menú vegano?". No es una reserva. Lo apuntó en Notas y dejó el resto en blanco. Una decisión razonable: lo registra para que el equipo lo vea, aunque no lo responde ni lo deriva.

Los límites (lo que nadie te cuenta en la demo bonita)

Prometí contarlo entero:

  • No sabe qué día es hoy. A "el sábado" le puso una fecha concreta que puede estar equivocada. En una de las pruebas dedujo mal la fecha actual y resolvió el "sábado" a un día que no tocaba. La IA no tiene calendario: si no le pasas la fecha real como contexto, se la inventa. En una reserva, eso es un problema serio.
  • Es no determinista y a veces lento. La misma petición unas veces se resolvió en segundos y otra entró en un bucle de reintentos de casi dos minutos. Para producción necesitas timeouts y una red de seguridad.
  • Fuera de alcance igual a lo archiva, no lo gestiona. No responde preguntas ni escala a un humano por sí solo. Eso lo decides tú al diseñarlo.

¿Para qué sirve HOY, y para qué no?

Sí, hoy, con supervisión:

  • Quitar fricción de formularios: reservar o solicitar hablando, sin pelearse con campos.
  • Accesibilidad: gente mayor o poco digital que "habla" lo que quiere.
  • Prerrellenar borradores que un humano confirma antes de enviar.

Todavía no, sin barandillas:

  • Dejarla sola cerrando reservas reales sin revisión.
  • Cualquier flujo donde una fecha o un dato mal puestos cuesten dinero o una mesa perdida.

La lección (que es siempre la misma)

La magia no es que la IA "entienda". La magia es el contexto y las barandillas que le pones tú: la fecha de hoy, tus reglas de negocio, cuándo tiene que parar y pasar la pelota a una persona. La IA sin tu contexto es media herramienta. Con él, empieza a parecerse a un empleado.

Y esto es exactamente lo que construyo: empleados digitales y agentes de IA para negocios, que hacen una tarea concreta bien, y saben cuándo no saben. Si te interesa entender por dónde va la conversación seria (no la demo bonita) sobre agentes conversacionales en un restaurante, la comparativa entre chatbot y concierge digital en alta gama es la lectura complementaria.

Cierre

Probé el repo yo mismo; te lo dejo por si quieres cacharrear: github.com/alibaba/page-agent.

Si estás pensando en meter un agente así en tu negocio y quieres una opinión honesta de qué sí y qué no, escríbeme.

Preguntas frecuentes

Lo que la gente pregunta sobre este protocolo

¿Qué es page-agent y en qué se diferencia de un chatbot normal?

+
page-agent es una librería open source de Alibaba que incrusta un agente de IA en la propia página web y le deja leer el DOM y actuar sobre él como lo haría una persona: escribir en campos, pulsar botones, navegar la interfaz. La diferencia con un chatbot clásico es esa capa de acción: el chatbot conversa, el agente conversa y ejecuta directamente sobre la interfaz que ya existe, sin necesidad de que el negocio construya integraciones nuevas por detrás.

¿Es seguro poner la clave del modelo (API key) en la página web?

+
No. Si la clave viaja al navegador, cualquiera que abra las herramientas de desarrollo la ve y puede usarla para consumir tu cuota. En la prueba puse un pequeño proxy en el servidor: la web llama a su propio backend, el backend habla con el modelo, y la clave real solo vive en el servidor. Es el mismo patrón que cualquier integración seria con OpenAI, Anthropic o similares. Si un tutorial te dice que pongas la key en el frontend, es un tutorial de juguete.

¿Puedo usar page-agent para automatizar reservas reales en producción hoy?

+
Con supervisión sí, sin supervisión todavía no. El agente rellena el formulario correctamente cuando le das buena instrucción, pero tiene dos límites duros para producción sin barandillas: no sabe qué día es hoy (si no se lo pasas en el contexto, se lo inventa), y es no determinista (la misma petición se puede resolver en segundos una vez y entrar en bucle otra). El patrón razonable hoy es prerrellenar el formulario y que un humano confirme antes de mandar la reserva al PMS. Para dejarlo suelto sin revisión hace falta más contexto y una red de seguridad con timeouts y validación de resultado.

¿Cuánto cuesta hacer funcionar un agente de este tipo?

+
En la prueba usé un modelo económico y rápido (un Qwen de Alibaba, vía un gateway de IA) y el coste por reserva salió en céntimos. La cifra exacta depende del modelo elegido, del número de campos del formulario y de cuántos reintentos haga el agente. Para un negocio con volumen medio de reservas, la partida de modelo LLM no es el problema; los problemas son la ingeniería alrededor (contexto, prompts, integración con el PMS) y la supervisión del equipo humano durante el arranque.

¿Quieres ver cómo lo aplicamos en tu grupo?

Construimos el perfil unificado del cliente y el concierge digital que captura la información desde la primera conversación.