Herramienta de migración de Dialogflow a Actions Builder

Actions Builder es la mejor manera de compilar para Asistente de Google, ya que te ayuda a compilar acciones de conversación de forma simplificada y optimizada. Actions Builder es un IDE basado en la Web que está integrado en la Consola de Actions y proporciona las siguientes funciones:

  • Flujo de trabajo visual y forma basada en el estado de controlar las conversaciones de tu Acción.
  • Prototipado más rápido y menor latencia.
  • Una sola interfaz para compilar, analizar y depurar tus acciones de conversación.

Si tienes una acción de conversación que creaste con Dialogflow, puedes elegir migrar tu proyecto a Actions Builder en la Consola de Actions.

Motivos para realizar la migración

Si bien no es necesario migrar tu agente de Dialogflow, y tu acción seguirá funcionando para los dispositivos con Asistente de Google integrado, usar Actions Builder y el SDK de Actions ofrecen beneficios.

  • Herramientas mejoradas con el SDK y la CLI de Actions

    • El SDK y la CLI de Actions te permiten compilar proyectos complejos y colaborar fácilmente con tus equipos. Los diseñadores de conversaciones primero pueden crear el flujo de conversación en Actions Builder. Luego, los desarrolladores pueden descargar el proyecto en una estructura basada en archivos y seguir creando funcionalidades con sus herramientas de desarrollo y sistemas de control de versiones favoritos. Al enviar el proyecto de vuelta a Actions Builder, otros compañeros de equipo pueden continuar compilando, probando e implementando la acción.
  • Mejor integración con prácticas recomendadas de diseño de conversaciones

    • La personalización de los intents de resguardo dentro de cada escena te permite proporcionar respuestas sin entradas ni coincidencias en cualquier momento de la conversación.
    • Fácil colaboración entre diseñadores y desarrolladores debido al método gráfico y basado en el estado de crear una experiencia conversacional.
  • Localización más sencilla

    • Todo el contenido localizable de intents, escenas y tipos (como frases de entrenamiento, instrucciones y sinónimos de tipo) se puede editar en una página.

Mejoras en la implementación conversacional

Actions Builder ofrece muchas mejoras a la Consola de Actions y simplifica los procesos de desarrollo. En esta sección, se describe el modo en que Actions Builder optimiza y simplifica el proceso de desarrollo de tu acción.

Reutilización del intent

En Dialogflow, la lógica de webhook está vinculada a los intents, lo que significa que los intents no se pueden volver a usar con otros webhooks. Si deseas usar las mismas frases de entrenamiento, pero tienes una lógica de webhook diferente, debes crear intents adicionales que hagan referencia a nombres de controladores diferentes para cada caso de lógica de webhook.

En Actions Builder, un intent incluye frases y entidades de entrenamiento, pero el webhook es independiente. Este enfoque significa que puedes usar diferentes controladores de webhook para el mismo intent, lo que te brinda más flexibilidad.

Visualización mejorada del flujo de conversación

En Dialogflow, los contextos indican qué intents tienen más probabilidades de coincidir en un momento determinado de la conversación.

En lugar de contextos, Actions Builder usa escenas para controlar a qué intents se puede acceder en diferentes partes de la conversación

Cuando un usuario entra en una escena, las transiciones definen las rutas de conversación que puede tomar. Las transiciones pueden basarse en una lógica condicional o en coincidencias de intents personalizadas o del sistema.

La IU de Builder facilita la comprensión de cómo las transiciones conectan escenas. En la Figura 1, la escena guess_game pasa a la escena suggested_new_game (1). También puedes ver los dos intents accesibles dentro de la escena: generic_no y generic_yes. Según el intent coincidente, la escena suggested_new_game pasa a la escena show_menu o routing_game (2).

Figura 1. Vista gráfica de una escena, con la transición de la escena (1) y el control de intents (2).

Mensajes personalizables basados en diferentes situaciones

En Dialogflow, puedes enviar una respuesta simple en el webhook o definir una respuesta estática en la consola de Dialogflow.

Actions Builder presenta el concepto de cola de instrucciones. Puedes definir instrucciones en varias secciones de una escena, así como en tu webhook. Todos los mensajes se agregan a la cola de mensajes, se combinan en una respuesta y se entregan al usuario. Este enfoque te permite unir las respuestas en función de lo que los usuarios dijeron o hicieron, y no solo en función del intent con el que coincidieron.

Por ejemplo, si los mensajes se definen en una escena y el webhook, el mensaje del webhook se agrega primero a la cola de mensajes y, luego, el mensaje de la escena se agrega en segundo lugar.

En la siguiente lista, se describe dónde puedes definir instrucciones en Actions Builder y el orden en el que se agregan a la cola de mensajes:

  1. Al entrar
  2. Condiciones
  3. Llenado de ranuras
  4. Escenas

Prácticas recomendadas en el diseño de conversaciones integradas

Cuando se configura un proyecto de Dialogflow, se genera automáticamente un intent de resguardo global, al igual que el intent de bienvenida predeterminado. Se establece una coincidencia con el intent de resguardo predeterminado cuando un usuario dice algo que no se puede hacer coincidir con intents existentes o cuando no hay una entrada del usuario.

Para manejar los errores correctamente, se deben agregar intents de seguimiento al intent de resguardo para cada turno de conversación.

En Actions Builder, se incluyen automáticamente dos intents globales independientes en los proyectos nuevos: NO_MATCH y NO_INPUT.

Cuando la CLN de Asistente coincide con el intent del sistema NO_MATCH o NO_INPUT, se envía al usuario el mensaje predeterminado o personalizado correspondiente. Una vez que NO_MATCH o NO_INPUT coincidan tres veces, el mensaje final correspondiente se enviará al usuario, y Asistente finalizará la conversación con tu Acción.

Puedes agregar tres controladores NO_MATCH y NO_INPUT a cada escena. Esta función permite personalizar mensajes para el manejo de errores específicos, en lugar de un resguardo general causado por la falta de coincidencia o de entrada del usuario.

Figura 2: Tres controladores de intents NO_MATCH asignados a una sola escena.