# Pruebas con clientes simulados: revisa tu agente después de cada cambio

> Escribe casos de prueba para tu agente de chat con IA: una IA hace de cliente, tu agente responde con sus ajustes y herramientas reales, y un juez de IA califica cada chat como aprobado o suspendido. Las acciones se simulan, así que las pruebas no tienen efectos reales.

Un cambio en tus instrucciones, tu conocimiento o tus procedimientos puede arreglar una respuesta y estropear otra sin que te des cuenta. Las pruebas con clientes simulados te permiten revisar con un clic las conversaciones que más importan: describes un cliente y cómo es un buen chat, una IA hace de ese cliente y chatea con tu agente, y un juez de IA califica cada chat como **Pass** (aprobado) o **Fail** (suspendido), con un motivo.

Tu agente responde exactamente como lo haría en tu web: con sus instrucciones, guardrails, conocimiento, [procedimientos](/es/docs/procedures) y herramientas guardados. Lo que no puede hacer en una prueba es cambiar nada en el mundo real. Consulta [Qué se simula](#que-se-simula).

> Las pruebas forman parte de los planes Starter, Pro y Enterprise. En el plan Free, la sección **Tests** muestra **Included from Starter**.

## Añadir una prueba

1. Abre la pestaña **Playground** de tu agente y baja hasta **Tests with simulated customers**, debajo del chat.
2. Haz clic en **Add test** y rellena:
   - **Name**: hasta 80 caracteres, por ejemplo «Reembolso de un pedido con retraso».
   - **Customer**: quién es el cliente y cómo se comporta, hasta 1.000 caracteres. Por ejemplo: «Un cliente impaciente cuyo pedido lleva una semana de retraso. Escribe mensajes cortos y no da detalles hasta que se los piden». El cliente escribe en el idioma que se desprende de la descripción, así que «un cliente alemán» chatea en alemán.
   - **Goal**: lo que quiere conseguir con el chat, hasta 1.000 caracteres. Por ejemplo: «Recuperar su dinero por el pedido 1042».
   - **Success criteria**: lo que el agente debe hacer, o no hacer nunca, para que el chat se apruebe, hasta 1.000 caracteres. Por ejemplo: «Pide el número de pedido, inicia el procedimiento de reembolso y no promete un reembolso antes de que esté confirmado».
   - **First message** (opcional): hasta 500 caracteres. Si lo dejas vacío, el cliente simulado escribe el suyo.
   - **Max turns**: cuántas respuestas da el agente como máximo, de 1 a 8 (6 por defecto).
   - **Allow read-only actions**: desactivado por defecto. Consulta [Qué se simula](#que-se-simula).
3. Haz clic en **Add test**.

Un agente puede tener hasta 25 pruebas. **Edit** cambia una prueba, y el botón de la papelera la borra; los resultados anteriores conservan su nombre.

## Ejecutar las pruebas

- **Run all** ejecuta todas las pruebas del agente, una tras otra. **Run**, junto a una prueba, ejecuta solo esa.
- La página muestra cada prueba en cuanto termina. Déjala abierta mientras se ejecutan las pruebas: la página las pide de una en una. Si la cierras o la recargas, la ejecución continúa cuando alguien con permiso de edición vuelve a abrir el Playground; una ejecución a la que nadie vuelve se cancela pasados unos minutos, cuando empieza una nueva.
- **Cancel** detiene la ejecución. La prueba en curso se detiene en su siguiente paso.
- Solo puede haber una ejecución a la vez por agente.

Una prueba termina cuando el cliente simulado da por acabado el chat (porque ha conseguido su objetivo o porque se rinde) o cuando el agente ha respondido **Max turns** veces. Entonces el juez lee el chat entero y decide.

## Resultados

- Arriba: el porcentaje de pruebas aprobadas, por ejemplo **80% passed**, y cuántas se aprobaron del total de la ejecución.
- Cada prueba muestra **Pass**, **Fail** o **Error**. Haz clic en ella para leer el motivo del juez y el chat completo, con las herramientas que usó el agente debajo de cada respuesta (por ejemplo un traspaso, un formulario o una acción) y lo que se mostró bajo una respuesta.
- **Error** significa que no se pudo calificar la prueba, por ejemplo porque el agente tardó demasiado en responder o no se pudo leer la respuesta del juez. Los errores no cuentan para el porcentaje de aprobados. Vuelve a ejecutar la prueba.
- **Recent runs** enumera tus últimas 10 ejecuciones; haz clic en una para ver sus resultados. Las más antiguas se borran.

> El juez también es una IA y puede equivocarse, y el cliente simulado no siempre se comporta como uno real. Lee la transcripción antes de cambiar tu agente por un suspenso, y escribe criterios que se puedan comprobar con el propio chat, como «pide el número de pedido antes de buscar nada».

## Qué se simula

Las pruebas nunca tienen efectos reales. A tu agente se le ofrecen las mismas herramientas que en un chat real, pero:

- Las **acciones API**, que se ejecutan en nuestro servidor, no se llaman. El agente recibe un resultado marcado como datos de prueba simulados, con la indicación de no inventarse detalles a partir de él. Con **Allow read-only actions** activado, las acciones con el método GET se ejecutan de verdad, así que las respuestas pueden usar tus datos reales; todas las demás acciones siguen simuladas.
- Las **acciones del cliente** (JavaScript en el navegador del visitante) se omiten.
- Las peticiones de **traspaso por correo** y de **chat en vivo** se simulan: nadie recibe un correo, un mensaje de Slack, un ticket de helpdesk ni una petición de chat en vivo.
- **Reservas**: no se consultan horas en ningún calendario y no se reserva nada.
- **Pedidos**: no se consulta ningún pedido y no se envía ninguna solicitud de devolución a tu tienda.
- Los **procedimientos** se ejecutan paso a paso como siempre, con su estado guardado solo para la prueba. Sus acciones se simulan como cualquier otra.
- Los **formularios de leads** y los **formularios de chat** pueden aparecer bajo una respuesta, pero no se envía nada. Los datos de contacto que escribe el cliente se reconocen, pero no se guarda ningún lead ni se envía ningún aviso ni webhook.
- La [búsqueda web](/es/docs/web-search), cuando está activada, busca de verdad.

Nada de una prueba aparece en **Conversations**, **Leads**, los temas ni las estadísticas del panel. Los resultados solo se guardan en la sección Tests.

## Mensajes

Cada respuesta que da tu agente en una prueba cuenta como un mensaje de tu plan, igual que un mensaje en el Playground. El cliente simulado y el juez no cuentan. Antes de ejecutar, la sección muestra cuántos mensajes usa como máximo una ejecución: la suma del **Max turns** de cada prueba. Una prueba suele usar menos, porque el cliente termina el chat antes.

Cuando se acaban los mensajes de tu plan, o el [tope mensual de mensajes](/es/docs/limits-and-access) del agente, durante una ejecución, las pruebas se detienen y las restantes muestran **Error**. Consulta [Planes y límites](/es/docs/plans-and-limits).

## Roles del equipo

Los miembros del equipo con el rol **Viewer** ven las pruebas y sus resultados, pero no pueden añadirlas, editarlas, borrarlas ni ejecutarlas. Los editors, los admins y el propietario sí pueden. Consulta [Miembros del equipo y roles](/es/docs/team).

## Consejos

- Empieza por las cinco o diez conversaciones que más importan: tu pregunta más frecuente, un reembolso o una cancelación, una pregunta que tu agente no debe responder, una petición para hablar con una persona.
- Escribe una sola cosa que comprobar por criterio, con palabras sencillas, y di también lo que no debe ocurrir.
- Ejecuta todas las pruebas después de cambiar las instrucciones, los guardrails, el conocimiento o un procedimiento, y compara el porcentaje de aprobados con la última ejecución.
- Si una prueba falla, prueba tú mismo la misma conversación en el Playground de arriba para ver qué hace el agente.
