#Derivar una conversación de tu agente de IA a una persona

Derivar a una persona es la forma en que un agente de IA le pasa una conversación a alguien de tu equipo cuando no debe, o no puede, resolverla solo. Con Vatio lo declaras en tu vatio.yml: handoff.when lista los casos con tus propias palabras, after_turns pone un piso, y el horario de atención, que quien lleva el negocio configura en la página Negocio del inbox, dice cuándo hay alguien de turno. La conversación aparece en espera en el inbox, quien responde la toma, y el agente la retoma cuando se la devuelven, en WhatsApp, Instagram y la web por igual.

#Qué es derivar y por qué importa

Algunas conversaciones necesitan una persona: un despacho que llegó dañado, un cobro en disputa, un cliente molesto, cualquier cosa que el negocio quiera que juzgue alguien de su equipo. Un agente que sigue adelante en esos momentos empeora las cosas; uno que deriva todo es un formulario de contacto con pasos extra.

En Vatio, derivar se arma con dos mitades. El criterio del modelo sigue las condiciones que escribes. Los gatillos determinísticos atrapan lo que el criterio podría dejar pasar: un visitante que pide un humano, o una conversación que se alargó demasiado. Y el agente es honesto de principio a fin. Dice de frente que es un asistente, y cuando deriva algo le dice al visitante que lo está consultando con un colega y que va a volver con una respuesta, sin inventar un trámite para cubrirlo. Varias jurisdicciones exigen revelar que una persona está hablando con una máquina; revisa lo que exige la tuya.

#Cómo funciona

  1. Declarar handoff le da al agente la tool para derivar. Sin el bloque, no tiene cómo escalar.
  2. El agente la llama cuando aplica una condición de handoff.when y no puede resolver el caso él mismo. Dos cosas la disparan de todas formas: un visitante que pide un humano con todas sus letras, y llegar a after_turns mensajes del visitante.
  3. La conversación queda marcada como en espera de una persona en el inbox. Vatio todavía no le avisa a nadie.
  4. El horario de atención decide qué hace el agente después:
Dentro del horarioFuera del horario
El agenteSe queda en silencio, porque hay alguien para tomarlaSigue respondiendo: ya prometió una persona, y quedarse callado encima es peor que ayudar
  1. Quien responde toma la conversación, desde el inbox o desde la app de WhatsApp Business en tu propio número. El agente no se mete en ese chat.
  2. Vuelve al agente cuando alguien se la devuelve, o cuando vence el traspaso.

Sin horario configurado, se asume que siempre hay alguien, así que cada derivación deja al agente en silencio, también a las 3 de la mañana. Una derivación que nadie toma en una hora vuelve al agente, en vez de dejar al visitante con una promesa y silencio.

#Paso a paso

#1. Escribe handoff.when con tus palabras

Cada condición es una frase corta que va al prompt. Escribe los casos que nombró el negocio, tan específicos como los nombró:

handoff:
  when:
    - un mueble llegó dañado o incompleto
    - el cliente pide una devolución o reclama un cobro
    - una cotización de más de diez muebles, o para una empresa

«Un reclamo por un cobro» es una condición que un modelo puede reconocer. «Situaciones difíciles» no lo es.

#2. Pon after_turns como piso

handoff:
  after_turns: 10

Pasados esos mensajes del visitante, la derivación ocurre aunque el modelo no la haya pedido. Cuenta los mensajes del visitante, no el intercambio. Elige un número mayor que el largo de una conversación normal que termina bien, para que solo lleguen ahí las que se trabaron.

#3. Pon el horario en que de verdad hay alguien

El horario no va en vatio.yml: lo configura quien lleva el negocio en la página Negocio del inbox, con una zona horaria y uno o más turnos por día, o con la opción de que siempre hay alguien disponible. Por ejemplo, America/Santiago, el lunes de 9:00 a 13:00 y de 14:00 a 18:00 (dos turnos, por la hora de almuerzo), el martes de 9:00 a 18:00 y el sábado de 10:00 a 14:00. Se aplica a todos los entornos apenas se guarda, y un bloque hours: que quede en un vatio.yml se ignora con una advertencia.

Un día sin turnos es un día en que no hay nadie de turno. El horario no decide cuándo responde el agente, que responde a toda hora. Decide si una derivación lo deja en silencio. El agente también recibe la semana completa, así que puede decirle a un cliente cuándo atienden. El detalle está en Horario de atención.

#4. Dile al agente qué reunir antes

Quien toma la conversación no debería tener que empezar de cero. Basta una línea en las instrucciones: «Antes de derivar una conversación sobre un pedido, pide el número de pedido».

#5. Haz push y pruébalo

vatio push
vatio chat "La mesa me llegó con una pata quebrada"
vatio chat --new "Quiero hablar con una persona"
vatio chat show

La primera debería terminar en una llamada a handoff, que chat show lista junto a las demás llamadas a tools del agente; la segunda la deriva el gatillo, piense lo que piense el modelo. En el inbox, con el entorno preview seleccionado, las dos deberían aparecer en espera.

#Tomar la conversación y devolverla

Los supervisores se invitan desde Equipo en el inbox. En el inbox ven cada conversación y las llamadas a tools del agente, y responder es tomar la conversación: el agente deja de responder en ese chat. En WhatsApp, una respuesta desde la app de WhatsApp Business en tu número conectado cuenta igual, así que el equipo puede seguir usando el teléfono.

Cuando terminan, Devolver al agente en el inbox le devuelve la conversación. Si nadie lo hace, el traspaso vence 8 horas después del último mensaje del visitante, y el agente retoma la próxima vez que escribe. Cada respuesta humana reinicia ese reloj, así que una conversación que alguien está atendiendo nunca vence en sus manos.

Mientras leen, los supervisores también pueden marcar una respuesta que debió ser una derivación y escribir lo que el agente debió hacer. Esa nota se vuelve un caso de eval, y la corrección muchas veces termina en handoff.when; mira Mejorar tu agente.

#Todavía nadie recibe un aviso

Díselo claramente a quien atiende el inbox: Vatio no envía una notificación cuando se deriva una conversación. Aparece en espera en el inbox, y nada más. Por eso:

#Un ejemplo completo

Muebles Quillay vende muebles por internet y atiende por WhatsApp y en su sitio. El equipo trabaja de lunes a viernes con hora de almuerzo y un sábado corto, y eso es lo que pusieron en la página Negocio del inbox: de lunes a jueves de 9:00 a 13:00 y de 14:00 a 18:00, el viernes de 9:00 a 13:00 y de 14:00 a 17:00, y el sábado de 10:00 a 14:00. El vatio.yml lleva el resto:

workspace: muebles-quillay
agent:
  name: Muebles Quillay
  personality: Cercano y breve. Palabras simples.
  instructions: |
    Ayudas a los clientes de Muebles Quillay con productos, plazos de
    despacho y el estado de sus pedidos.

    Pedidos: pide el número de pedido y el correo con que se hizo, y
    llama a estado_pedido. Solo da una fecha de entrega que estado_pedido
    haya devuelto.

    Productos, zonas de despacho, armado y la política de devoluciones:
    busca primero en knowledge_lookup. Si no encuentras la respuesta,
    dilo y ofrece pasarle la pregunta al equipo.

    Antes de derivar una conversación sobre un pedido, pide el número de
    pedido para que quien la tome lo tenga.

    Reglas que nunca rompes:
    - Nunca prometas una devolución de dinero, un descuento ni un cambio.
    - Nunca digas que un despacho se reprogramó si estado_pedido no lo dice.
  tools: [estado_pedido, knowledge_lookup]
  knowledge: [tienda]
  handoff:
    after_turns: 10
    when:
      - un mueble llegó dañado o incompleto
      - el cliente pide una devolución o reclama un cobro
      - una cotización de más de diez muebles, o para una empresa
      - el cliente está molesto por un despacho que no llegó

Un sábado a las 16:00, fuera del horario:

Cliente: la mesa llegó con una pata quebrada [foto]

Agente: Lo siento, eso no debería pasar. ¿Me das tu número de pedido?

Cliente: MQ-20931

Agente: Gracias. Soy el asistente de Muebles Quillay, así que lo estoy consultando con un colega, y el equipo te va a responder por aquí el lunes en la mañana. ¿Te ayudo con algo más mientras tanto?

El agente pidió el número de pedido, como dicen las instrucciones, y después llamó a handoff porque un mueble llegó dañado. Como estaba fuera del horario, siguió respondiendo. El lunes alguien del equipo abre la conversación en el inbox, responde, y la conversación es suya hasta que la devuelve. El mismo mensaje un martes a las 11:00 habría dejado al agente en silencio de inmediato, con alguien de turno para responder.

#Errores comunes

#Qué sigue

Para lo que el agente nunca debe decir, incluso antes de derivar, lee Salvaguardas. Para los detalles de WhatsApp, incluida la app Business, mira Un agente de IA en WhatsApp. La referencia está en la documentación de derivación.

Preguntas frecuentes

¿Cómo deriva un agente de IA una conversación a una persona?

En Vatio declaras un bloque handoff en el agente, en vatio.yml, y eso le da una tool para pedir una persona. Cuando la llama, o cuando se dispara un gatillo determinístico, la conversación aparece en espera en el inbox, y quien responda ahí o desde la app de WhatsApp Business la toma.

¿Vatio le avisa a mi equipo cuando se deriva una conversación?

Todavía no. Una derivación aparece en espera en el inbox y no se envía nada a ninguna parte. Alguien tiene que mirar el inbox durante el horario de atención, así que pon en la página Negocio del inbox las horas en que de verdad hay una persona.

¿Qué hace el agente fuera del horario de atención?

Sigue ayudando. Dentro del horario de atención, una derivación deja al agente en silencio para que una persona tome la conversación. Fuera de él, le dice al visitante que el equipo le va a responder y mientras tanto sigue atendiendo cualquier otra cosa.

¿Un cliente que pide hablar con una persona siempre la consigue?

Sí, desde que el agente tiene un bloque handoff. Un visitante que pide un humano con todas sus letras siempre dispara una derivación, y eso nunca depende del criterio del modelo. after_turns agrega un segundo piso determinístico: pasados esos mensajes del visitante, la derivación ocurre igual.

¿El agente se hace pasar por una persona?

No. Dice de frente que es un asistente, y cuando deriva algo le dice al visitante que lo está consultando con un colega y que va a volver con una respuesta, sin inventar una excusa. Varias jurisdicciones exigen revelarlo; revisa lo que te pide la tuya.

¿Cómo recupera el agente la conversación?

Un supervisor hace clic en Devolver al agente en el inbox. Si nadie lo hace, el traspaso vence 8 horas después del último mensaje del visitante, y el agente retoma la próxima vez que escribe. Una derivación que nadie toma en una hora también vuelve al agente.

Actualizado: