Cuando crea un agente personalizado en Copilot Studio, es posible que el agente quede atrapado en un bucle infinito después de una redirección de tema. En lugar de pasar al siguiente paso lógico, el agente repite la misma ruta de conversación una y otra vez. Esto ocurre porque la redirección no está configurada correctamente o las condiciones de desencadenamiento son demasiado amplias. Este artículo explica por qué se produce el bucle y proporciona los pasos exactos para solucionarlo y que el agente fluya correctamente.
Puntos clave: Detener los bucles de redireccionamiento infinitos en Copilot Studio
- Frases de desencadenamiento del tema: Asegúrese de que cada tema tenga frases de desencadenamiento únicas para evitar que la misma entrada coincida dos veces.
- Acción Redirigir > Selección de tema: Establezca siempre un tema de destino específico; nunca lo deje como “System Fallback” (Reserva del sistema) ni como el mismo tema.
- Nodo Finalizar conversación: Inserte este nodo después de la redirección para romper el bucle cuando no se necesite ninguna otra acción.
Por qué una redirección de tema crea un bucle
Se produce un bucle cuando la redirección de tema del agente envía la conversación de vuelta a un tema que inmediatamente redirige de nuevo al mismo tema o a un conjunto de temas que siguen coincidiendo entre sí. La causa raíz suele ser uno de estos tres escenarios:
Frases de desencadenamiento amplias
Si dos o más temas tienen frases de desencadenamiento superpuestas o idénticas, el agente puede coincidir con el tema incorrecto después de una redirección. Por ejemplo, el Tema A se desencadena con “help” y el Tema B también se desencadena con “help”. Después de que el Tema A finaliza y redirige al Tema B, el agente podría coincidir con el Tema A nuevamente porque la frase de desencadenamiento “help” todavía está presente en el contexto de la conversación.
Redirección al mismo tema
Un desarrollador podría configurar accidentalmente una redirección que apunte al tema actual. Cuando el agente ejecuta la redirección, vuelve a entrar en el mismo tema, ejecuta la misma lógica y redirige de nuevo. Esto crea un bucle infinito que nunca alcanza un nodo final.
Falta el nodo Finalizar conversación
Cada tema debe tener un punto final claro. Si un tema realiza una redirección pero no incluye un nodo “Finalizar conversación” para cuando la redirección no es necesaria, el agente puede volver al inicio del tema. Esto es común cuando la redirección se coloca dentro de una rama condicional que no cubre todos los resultados posibles.
Pasos para solucionar el bucle de redireccionamiento
Siga estos pasos para identificar y resolver el bucle en su agente de Copilot Studio.
- Abra el agente en Copilot Studio
Inicie sesión en Copilot Studio en copilotstudio.microsoft.com. Seleccione el agente que tiene el problema de bucle de la lista de agentes. Si no ve el agente, haga clic en “Agents” (Agentes) en la navegación izquierda y luego haga clic en el nombre del agente. - Vaya a Temas e identifique los temas que se repiten
En la navegación izquierda, haga clic en “Topics” (Temas). Busque temas que tengan un número alto de redirecciones o un icono de advertencia. Es probable que estos sean los temas involucrados en el bucle. Expanda los temas para ver el flujo completo. - Revise las frases de desencadenamiento de cada tema
Haga clic en cada tema del bucle. En el editor de temas, haga clic en el nodo “Trigger” (Desencadenador) en la parte superior. Examine la lista de frases de desencadenamiento. Si dos temas comparten la misma frase, edite las frases de desencadenamiento de uno de los temas para que sean únicas. Por ejemplo, cambie “help” en el Tema A a “assistance with orders” y mantenga “help” solo en el Tema B. - Verifique la configuración de la acción Redirigir
En el flujo del tema, busque la acción “Redirect” (Redirigir). Haga clic en ella para abrir sus propiedades. Verifique que el menú desplegable “Target topic” (Tema de destino) apunte a un tema diferente al actual. Si apunta al mismo tema, cámbielo al tema de destino correcto. Si desea finalizar la conversación, use un nodo “End conversation” (Finalizar conversación) en lugar de una redirección. - Inserte un nodo Finalizar conversación
Después de la acción de redirección, agregue un nodo “End conversation” (Finalizar conversación) haciendo clic en el signo más (+) debajo del nodo de redirección. Elija “End conversation” en el menú. Esto garantiza que, después de la redirección, el agente deje de procesar y no vuelva al inicio del tema. - Pruebe el agente en el panel de prueba
Haga clic en el botón “Test” (Probar) en la esquina superior derecha del editor. Escriba un mensaje que desencadene el tema que corrigió. Observe el flujo de la conversación en el panel de prueba. Si el agente sigue en bucle, repita los pasos 2 a 5 hasta que el bucle se detenga. - Publique el agente actualizado
Una vez resuelto el bucle, haga clic en “Publish” (Publicar) en la esquina superior derecha. Seleccione “Publish” nuevamente en el cuadro de diálogo de confirmación. El agente actualizado estará disponible para los usuarios después de unos minutos.
Si el bucle persiste después de la corrección principal
A veces, el bucle continúa incluso después de corregir la redirección y las frases de desencadenamiento. Los siguientes problemas suelen causarlo.
El contexto de la conversación almacena datos de desencadenamiento antiguos
Copilot Studio recuerda los últimos mensajes del usuario. Si el usuario dice “help” al principio de la conversación, esa palabra permanece en el contexto. Después de una redirección, el agente podría coincidir con el contexto antiguo en lugar del nuevo tema. Para solucionarlo, agregue una acción “Clear context” (Borrar contexto) antes de la redirección. En el flujo del tema, haga clic en el signo más encima del nodo de redirección, seleccione “Manage context” (Administrar contexto) y luego elija “Clear all context” (Borrar todo el contexto). Esto restablece la memoria de la conversación.
La redirección apunta a un tema de reserva
Si el destino de la redirección está establecido en “System Fallback” (Reserva del sistema) o “Escalate” (Escalar), es posible que el agente no encuentre un tema coincidente y vuelva al tema predeterminado. Abra la acción de redirección y seleccione un tema personalizado específico en el menú desplegable. Nunca deje el destino como “System Fallback” a menos que desee que el agente escale a un humano.
Múltiples redirecciones en un tema
Un tema que contiene más de una acción de redirección puede crear un bucle si las condiciones no son mutuamente excluyentes. Por ejemplo, si el Tema A tiene una redirección al Tema B cuando el usuario dice “yes” y otra redirección al Tema C cuando el usuario dice “no”, pero la lógica de la condición es defectuosa, el agente podría ejecutar ambas redirecciones. Revise la condición de cada redirección y asegúrese de que usen ramas “If/Else” (Si/Si no) correctamente. Use el nodo “Condition” (Condición) para separar las rutas.
Bucle de redireccionamiento de tema vs conflicto de desencadenamiento de tema: diferencias clave
| Elemento | Bucle de redireccionamiento de tema | Conflicto de desencadenamiento de tema |
|---|---|---|
| Descripción | El agente redirige a un tema que redirige de vuelta al tema original | Dos temas tienen frases de desencadenamiento que coinciden con la misma entrada del usuario |
| Síntoma principal | Repite la misma ruta de conversación sin entrada del usuario | El agente salta al tema incorrecto cuando el usuario escribe una frase |
| Ubicación de la corrección | Propiedades de la acción de redirección en el flujo del tema | Nodo de desencadenamiento en el editor de temas |
| Causa común | Destino de redirección establecido en el mismo tema o en reserva | Frases de desencadenamiento duplicadas o superpuestas |
| Método de prueba | Ejecute el panel de prueba y observe el flujo en busca de nodos repetidos | Escriba la misma frase y vea qué tema se activa |
| Tiempo de resolución | 5-10 minutos por tema | 2-5 minutos por frase duplicada |
Ahora puede identificar y corregir bucles de redireccionamiento en Copilot Studio. Comience verificando si hay frases de desencadenamiento duplicadas, luego verifique que el destino de la redirección no sea el mismo tema. Agregue un nodo Finalizar conversación después de cada redirección para detener el bucle. Para agentes avanzados, use Borrar contexto antes de las redirecciones para eliminar la entrada antigua del usuario de la memoria.