Intenciones, acciones y router MCP

Cómo decide tu bot qué hacer en cada mensaje: intenciones, enrutador, rondas y reglas de orquestación.

Volver al índice

Qué son las intenciones

Una intención es la unidad con la que tu bot decide qué capacidad ejecutar ante el mensaje del visitante. Cada intención enlaza:

  • Una acción (búsqueda en tu conocimiento, calendario, API Connect, envío de correo, etc.).
  • Una descripción de detección que el enrutador lee para saber cuándo activarla.
  • Opcionalmente parámetros, memoria, activación condicional y configuración propia de esa acción.

Con el flujo de intenciones activo, el chat no “adivina” una acción fija: un enrutador MCP compara el mensaje y el historial con las descripciones de tus intenciones y elige cero, una o varias tools en cada ronda de routing.

Si ninguna intención encaja, el bot puede responder con su conocimiento general (instrucciones del sistema y contexto), según cómo tengas configurado «Responder en el turno MCP si no hay tools».

Intenciones vs acciones

ConceptoQué esDónde lo configuras
Acción Capacidad del motor (misma para todos los bots de la plataforma). Catálogo en documentación de acciones; en el dashboard eliges la acción al crear la intención.
Intención Tu instancia: nombre de tool, cuándo activarla y parámetros para tu negocio. Mis chatbots → Configurar bot → Intenciones

Puedes tener varias intenciones con la misma acción (por ejemplo dos API Connect distintos: consultar stock vs crear pedido). Lo que las diferencia es la descripción de detección y la configuración de cada una.

Ejemplo de diseño

Bot de restaurante:

  • Intención buscar_menu → acción Búsqueda en base de conocimiento (horarios, carta, alérgenos).
  • Intención reservar_mesa → acción Calendario (agendar cita).

El enrutador elige una o ambas según lo que escriba el visitante y tus reglas de orquestación.

Flujo de un turno

Un turno es un mensaje del visitante hasta que ve la respuesta del bot. Por dentro suele seguir este orden:

sequenceDiagram
    participant V as Visitante
    participant O as Orquestador
    participant R as Enrutador_MCP
    participant A as Acciones_MCP
    participant L as Respuesta_final
    V->>O: Mensaje
    O->>R: Ronda_1_decide_tools
    R->>A: Ejecuta_intenciones_elegidas
    A->>O: Resultados_y_memoria
    O->>R: Ronda_2_si_quedan_rondas
    O->>L: Redacta_respuesta_al_visitante
    L->>V: Texto_en_el_chat

Antes del enrutador, el orquestador puede aportar base de conocimiento (búsqueda semántica), instrucciones del bot y contexto de la página. Las intenciones que el router active pueden añadir más contexto (RAG, importar contexto, búsqueda web, etc.) en el mismo turno.

Para profundizar en memoria y variables entre turnos, consulta Variables MCP. Para un primer bot mínimo, Tu primer bot sencillo.

Opciones en Configurar bot → Intenciones

En el acordeón Intenciones del dashboard controlas el comportamiento global:

OpciónPara qué sirve
Activar flujo de intenciones Enciende el orquestador MCP. Si lo apagas, el chat usa el modo legacy sin routing por intenciones.
Mostrar panel de intenciones en pruebas En Probar chatbot, muestra el panel lateral con tools, rondas y trazas al enviar un mensaje.
Mostrar estado de intenciones en el chat Frases cortas bajo el indicador de escritura mientras el bot decide o ejecuta acciones (complemento del typing).
Orquestación multi-tool por turno Permite activar varias intenciones en una misma ronda y, tras escribir memoria, una segunda ronda si otra intención queda desbloqueada (p. ej. por activation_when).
Responder en el turno MCP si no hay tools Si ninguna intención aplica, el router puede redactar la respuesta en la misma llamada (menos latencia). Si está desactivado, suele haber un segundo paso de generación.
Enrutador JEV (pre-routing) Opcional: puntúa intenciones marcadas para JEV antes del LLM y reduce el catálogo visible. Umbrales por intención en el modal de cada una.
Verificador Jev (post-routing) Opcional: tras elegir tools, valida que encajen con el mensaje; si hay duda, el bot puede pedir aclaración en lugar de ejecutar.

Descripción de cada intención (USO / ACTIVAR / NO ACTIVAR)

Al editar una intención defines cuándo debe considerarla el enrutador. En el modal verás tres bloques (o un texto legacy); el motor los envía como function.description de esa tool:

  • USO — Para qué sirve la intención en tu negocio (contexto para el router).
  • ACTIVAR — Condiciones claras: qué debe decir o pedir el visitante para invocarla.
  • NO ACTIVAR — Casos límite, confusiones frecuentes o intenciones que no deben dispararse por un saludo genérico.

Sé específico. Frases vagas («cuando el usuario pregunte algo») suelen provocar falsos positivos o que el router ignore la tool.

Activación condicional

Activación condicional (activation_when) oculta la intención del catálogo del router hasta que se cumpla una condición sobre memoria o estado de sesión (por ejemplo, tras un paso de API Connect que guarda una bandera). No sustituye una buena descripción USO/ACTIVAR: cuando la intención es visible, el router sigue leyendo esos bloques.

Detalle de memoria, estado de sesión y encadenamiento tras API Connect: Routing tras API Connect.

Texto principal del router MCP

En Configurar bot → Intenciones, despliega Texto principal del router MCP. Es el system prompt general del enrutador en cada ronda, no el texto que ve el visitante.

Qué va aquí y qué en otro sitio

UbicaciónContenido típico
Texto principal del router Reglas globales: preferir cero tools si no hay match; no inventar saludos; no sustituir tools del sistema; priorizar calidad.
Cada intención (USO / ACTIVAR / NO ACTIVAR) Cuándo activar esa tool concreta.
Instrucciones de uso de intenciones Orden entre intenciones («primero menú, luego reserva») y reglas en capturas multi-turno (columna Mensajes).

Comportamiento por defecto de la plataforma

Si no personalizas el texto (o pulsas Restaurar default), el router asume entre otras cosas:

  • La salida debe ser tool_calls o content vacío en modo estándar (sin tools no debe redactar al visitante en esa llamada, salvo que actives «Responder en el turno MCP si no hay tools»).
  • El default es cero tools de negocio; es correcto no invocar ninguna si ninguna descripción se cumple por completo.
  • No debe invocar una tool solo porque sea la única en la lista, ni usar una tool de negocio para sustituir un saludo si no está pensada para ello.
  • El orquestador ya ejecuta tools forzadas (idioma, imports); el router no debe duplicarlas ni cambiarlas por otra.

Personaliza el texto solo si necesitas políticas globales extra (tono del routing, sectores muy regulados). Si activas Orquestación multi-tool, revisa el aviso del dashboard: a veces conviene actualizar el texto base para permitir encadenar contexto + captura en el mismo turno.

Instrucciones de uso de intenciones

Las Instrucciones de uso de intenciones son reglas manuales entre intenciones. Las intenciones se referencian por el nombre de tool (function.name), no por el título visible en el dashboard.

ColumnaSignificado
Router Texto inyectado al enrutador: orden o combinación de intenciones en el mismo turno (misma ronda o rondas siguientes si hay multi-tool).
Mensajes Reglas durante la captura multi-turno de una acción (formulario, API Connect, cita), en el bloque de acción en curso.

Puedes activar Router, Mensajes o ambos. Si los dos están apagados, la regla no se aplica.

Ejemplo — información + acción en la misma frase

Visitante: «¿Qué pizzas tienen y puedo reservar para cuatro el viernes?»

Regla (Router): Cuando pidan carta o precios y reservar, primero invoca la tool de búsqueda en conocimiento y después la tool de calendario con los datos ya dichos.

Este patrón coincide con la orquestación por defecto que sugiere la plataforma al encadenar contexto y captura.

Ejemplo — tras API Connect

Una cadena API Connect puede escribir una variable en memoria y desbloquear otra intención. El router puede necesitar una segunda ronda (multi-tool + al menos 2 rondas máximas). Guía los nombres de tools en una regla Router; no uses los mensajes de éxito de la API (success_message) como instrucciones de routing: esos textos van al visitante.

Paso a paso técnico-configuración: Routing tras API Connect.

Rondas de routing por turno

Máximo de rondas de routing por turno limita cuántas veces el LLM enrutador puede decidir tools dentro del mismo mensaje del visitante.

  • Ronda = una llamada al enrutador. En una ronda puede elegir varias intenciones compatibles a la vez (multi-tool).
  • Valor 1 (recomendado): una decisión y se pasa a ejecutar acciones y redactar respuesta. Suficiente para la mayoría de bots.
  • Valores mayores (2–10): tras ejecutar intenciones, el router puede volver a decidir con los resultados en memoria. Útil con Orquestación multi-tool y activation_when. Más tokens y latencia.
  • Parada anticipada: si una intención inicia captura multi-turno (API Connect, cita, formulario), el routing se detiene en esa ronda aunque queden rondas disponibles; el bot espera la siguiente respuesta del visitante.
EscenarioRondas sugeridasNotas
Solo RAG o una acción por mensaje 1 Multi-tool puede estar off.
Menú + reserva en la misma frase 1 Multi-tool on; una ronda puede lanzar RAG + calendario juntos.
API Connect escribe bandera y desbloquea otra intención 2+ Multi-tool on; reglas en Instrucciones de uso; ver variables MCP.
Flujos muy encadenados (varios pasos automáticos en un turno) 3–5 Usar con cuidado; revisar consumo en Uso.

Ejemplos con diálogo

1 — Solo consulta de conocimiento

Visitante: «¿Cuál es la política de devoluciones?»

Configuración: Una intención RAG con ACTIVAR centrado en políticas y productos; rondas = 1.

Qué esperar: El router activa la búsqueda en tu base de conocimiento; la respuesta cita tu contenido.

2 — Conocimiento + cita en un mensaje

Visitante: «Tienen mesa para dos hoy a las 20:00 y qué platos veganos hay?»

Configuración: Intención RAG + intención calendario; multi-tool on; regla Router que priorice traer carta antes o junto con la reserva según tu operación; rondas ≥ 1.

3 — Segunda ronda tras memoria

Visitante: «Busca mi pedido con email [email protected]»

Configuración: API Connect en cadena escribe pedido_encontrado=true; segunda intención con activation_when sobre esa variable; multi-tool on; máximo de rondas ≥ 2; regla Router que nombre la tool de seguimiento.

Qué esperar: Primera ronda ejecuta la API; si se desbloquea la segunda tool, el orquestador programa otra ronda de routing.

4 — Honeypot y intenciones estrictas

Problema: El router activa a menudo la intención equivocada por descripciones amplias.

Configuración: Intención Señuelo (honeypot) que absorbe falsos positivos; en las intenciones reales, NO ACTIVAR explícito y ACTIVAR muy acotado («solo si pide agendar cita con fecha»). Ver acción honeypot.

Probar y depurar

  • Probar chatbot con el panel de intenciones activo: ves tools candidatas, elección del router y uso por ronda.
  • Tras cambios en memoria o activation_when, revisa el log de routing por memoria en ese panel (escritura, desbloqueo, segunda ronda).
  • Si el router no activa lo esperado: afina ACTIVAR/NO ACTIVAR, revisa si la intención está oculta por activación condicional y comprueba que el nombre de tool en las reglas de uso coincide con el del modal.
  • Si activa de más: endurece NO ACTIVAR, baja ambigüedad entre intenciones o usa honeypot.

Catálogo de acciones: índice de documentación. Evaluación avanzada sin LLM en el router: Evaluador orquestador.