Intenciones y acciones

Cómo decide el bot qué hacer con cada mensaje y cómo se combinan las acciones (RAG, formularios, calendario, etc.).

Intenciones

Las intenciones son “cosas que el usuario puede querer hacer o preguntar”: por ejemplo “agendar una cita”, “buscar en la base de conocimiento” o “dejar mis datos”. Cada bot tiene sus propias intenciones y tú las configuras desde el dashboard.

Una intención puede tener una o varias acciones

Cada intención tiene asociada una o más acciones, que son las que definen qué hace el bot cuando esa intención se detecta. Por ejemplo, una misma intención “Buscar información” puede tener la acción Query Rewriting (para reescribir la pregunta) y la acción RAG Search (para buscar en el contexto). Las acciones se ejecutan en el orden de prioridad que configures.

Qué puedes configurar por bot

  • Título y prioridad (orden en el que se evalúan las intenciones entre sí).
  • Activar o desactivar la intención.
  • Las acciones vinculadas (una o varias): buscar en RAG, reescribir la pregunta, abrir un formulario, gestionar citas, etc., cada una con su propia prioridad de ejecución.

Frases que activan la intención

Son ejemplos de lo que el usuario podría decir. El sistema compara el mensaje con estas frases por similitud semántica (embeddings): no hace falta que coincidan palabra por palabra.

Frases antipatrón

Son ejemplos de lo que no debe contar como esa intención. Si el mensaje se parece mucho a una frase antipatrón, esa intención se descarta aunque haya coincidencia con una frase positiva.

Umbrales

  • Umbral de confianza: mínimo de similitud con una frase “positiva” para considerar que la intención se detectó (p. ej. 0,50).
  • Umbral antipatrón: si la similitud con alguna frase antipatrón supera este valor, la intención no se activa.

Cómo probar las intenciones

En el dashboard puedes escribir una frase y ver los scores por intención y por frase (positivas y antipatrón). Así ajustas umbrales y frases hasta que el comportamiento te convenza.

Qué pasa cuando el bot detecta una intención

En general: el orquestador evalúa el mensaje, detecta la intención (si supera umbral y no hay antipatrón), ejecuta las acciones de esa intención en orden y luego el LLM genera la respuesta (con o sin RAG, según las acciones).

flowchart TB
    subgraph deteccion [Deteccion]
        A[MensajeUsuario]
        B[EvaluarIntenciones]
        C["MatchConFrasesYUmbral?"]
        D["DescartadoPorAntipatron?"]
    end
    subgraph ejecucion [Ejecucion]
        E[EjecutarAcciones]
        F["AccionConCicloPropio?"]
        G["EjRAG_QueryRewrite"]
        H[LLMGeneraRespuesta]
        I["CicloAccionFormulario"]
    end
    A --> B --> C --> D
    C -->|"Si_noDescartado"| E
    D -->|Descartado| B
    E --> F
    F -->|"Si_ej_data_collection"| I
    F -->|No| G --> H

Acciones disponibles

Las acciones definen qué hace el bot cuando una intención se activa. Algunas de las más importantes:

  • RAG Search: fuerza la búsqueda en el contexto RAG usando embeddings y ChromaDB.
  • Query Rewriting: reescribe la consulta del usuario para mejorar la búsqueda y la respuesta.
  • Recolección de datos: abre un formulario multi-paso dentro del chat.
  • Calendario / Citas: permite agendar, cancelar o reprogramar citas.
  • Respuesta con instrucciones: solo inyecta instrucciones al asistente sin RAG ni formularios.

Cada una tiene su propia página con detalle en Acciones del bot.