Saltar al contenido
nvíame
Capítulo 4 de 510 min25 sep 2026

Diseño de conversaciones que no frustran

Principios de redacción y de flujo para bots que respetan el tiempo del usuario.

La mayoría de los bots frustran por las mismas razones: no dicen qué saben hacer, piden datos que ya tienen y no reconocen cuando fallan.

Principios

  • Declara el alcance en el primer mensaje.
  • Un mensaje, una pregunta: nunca pidas dos datos a la vez.
  • Confirma lo entendido antes de acciones irreversibles.
  • Recupera con ejemplos: «No entendí. Puedes escribir, por ejemplo, ‘martes 10:00’».
  • No reinicies sin aviso: si la sesión expiró, dilo.
Recuperación de errores
−return reply("No entendí.");
+session.misses += 1;
+return reply(
+ session.misses === 1
+ ? "No reconocí la fecha. Prueba con 'martes 10:00'."
+ : "Parece que no me estoy explicando bien. ¿Te comunico con una persona?"
+);
Mostrando: antes · haz clic para alternar

La frustración en un chat rara vez viene de que el bot no sepa algo. Viene de que no lo admite, de que repite la misma pregunta o de que obliga a empezar de cero. Los principios de este capítulo apuntan a evitar esos tres patrones.

Un buen mensaje de error dice qué entendió el bot, qué esperaba y cómo seguir. «No reconocí el día» es mejor que «Error», y «No reconocí el día; prueba con martes» es mejor aún, porque da un ejemplo concreto.

Pruébalo

// Error recovery: say what was understood and give an example
const DIAS = ["lunes", "martes", "miércoles", "jueves", "viernes"];

mx.bot.onMessage(({ text }) => {
  const t = text.trim().toLowerCase();
  const dia = DIAS.find((d) => t.includes(d));
  if (dia) return mx.bot.reply("Anotado: " + dia + ". ¿Te sirve a las 10:00?");
  if (t.includes("sábado") || t.includes("domingo")) {
    return mx.bot.reply("Los fines de semana no atendemos. ¿Te sirve el lunes?");
  }
  return mx.bot.reply("Entendí «" + text + "», pero necesito un día de la semana. Por ejemplo: martes.");
});

mx.bot.reply("¿Qué día quieres venir?");

Escribe «el sábado», «mañana» o «martes por la tarde» y observa cómo responde. Ninguna respuesta deja al usuario sin saber qué hacer después.

Se completa automáticamente al leer el 80%.

Comentarios (3)

Matías Herrera25 sep 2026

¿Es buena idea darle personalidad al bot?

Equipo nvíameAutor25 sep 2026

Un tono consistente sí; una personalidad que entorpece no. Prioriza claridad y brevedad. Nunca hagas que el bot finja ser humano.

Camila Rojas25 sep 2026

Lo apliqué en el proyecto del trabajo. La sección «Diseño de conversaciones que no frustran» me ahorró una discusión larga con el equipo: ahora tenemos un criterio compartido.

Sofía Castillo25 sep 2026

¿Hay alguna diferencia importante si lo implemento en un servicio con varias instancias detrás de un balanceador?

Equipo nvíameAutor25 sep 2026

Sí: todo estado que hoy vive en memoria (contadores, sesiones, claves vistas) debe moverse a un almacén compartido con TTL, como Redis. Si no, cada instancia ve solo una parte de la historia.

Los comentarios se guardan solo en este navegador.