

# Gestionar una A/B prueba
<a name="ab-testing-manage"></a>

Actualiza una A/B prueba para iniciarla, pausarla o detenerla. La `UpdateABTest` operación se utiliza para cambiar el estado de la ejecución.

**nota**  
Los comandos del ciclo de vida de la AgentCore CLI (`view``pause``resume``stop`,`promote`,,,`archive`) identifican una prueba por el **identificador de trabajo** que se ha aprobado`-i, --id`, no por su nombre. Obtenga el ID de `agentcore run ab-test --json` (el `id` campo) o enumerando las pruebas con`agentcore view ab-test`. El identificador del trabajo usa el formato`name-suffix`. Por ejemplo: `customerSupportTargetTest-Ab1Cd2Ef3G`. Los registros de trabajo se almacenan localmente como JSON `.cli/jobs/ab-tests/` en su proyecto.

## Ejemplos de código
<a name="manage-ab-test-examples"></a>

### Vea, pause, reanude y detenga
<a name="manage-ab-test-start-stop"></a>

**Example**  
Enumere todos los trabajos de A/B prueba o consulte uno en detalle (también muestra la URL de invocación y los resultados):  

```
agentcore view ab-test
agentcore view ab-test <ab-test-id>
```
Reanude una prueba pausada:  

```
agentcore resume ab-test -i <ab-test-id>
```
Pausa una prueba en ejecución. El tráfico deja de dividirse y todas las solicitudes se dirigen a la variante de control. Se puede reanudar.  

```
agentcore pause ab-test -i <ab-test-id>
```
Interrumpa una prueba de forma permanente. Todo el tráfico vuelve a la variante de control. Esto no se puede deshacer.  

```
agentcore stop ab-test -i <ab-test-id>
```
Inicie una prueba (establezca el estado de ejecución en`RUNNING`):  

```
import boto3
import uuid

client = boto3.client("bedrock-agentcore", region_name="us-west-2")

response = client.update_ab_test(
    abTestId="customerSupportPromptTest-Ab1Cd2Ef3G",
    executionStatus="RUNNING",
    clientToken=str(uuid.uuid4()),
)
print(f"Execution status: {response['executionStatus']}")
```
Pausa una prueba en ejecución:  

```
response = client.update_ab_test(
    abTestId="customerSupportPromptTest-Ab1Cd2Ef3G",
    executionStatus="PAUSED",
    clientToken=str(uuid.uuid4()),
)
print(f"Execution status: {response['executionStatus']}")
```
Detenga una prueba en ejecución de forma permanente:  

```
response = client.update_ab_test(
    abTestId="customerSupportPromptTest-Ab1Cd2Ef3G",
    executionStatus="STOPPED",
    clientToken=str(uuid.uuid4()),
)
print(f"Execution status: {response['executionStatus']}")
```

### Promocione la variante de tratamiento
<a name="manage-ab-test-promote"></a>

Cuando los resultados sean estadísticamente significativos, promueva la variante de tratamiento. `promote`detiene la prueba y escribe en ella la variante de tratamiento`agentcore.json`; `agentcore deploy` luego la ejecuta para extenderla.

**Example**  

```
agentcore promote ab-test -i <ab-test-id>
agentcore deploy
```
El SDK no tiene una única operación de «promoción». Detenga la prueba y, a continuación, aplique usted mismo la variante ganadora a sus recursos (por ejemplo, actualizando el paquete de configuración de control o el destino de la puerta de enlace para que coincida con el tratamiento).

### Elimina una A/B prueba
<a name="manage-ab-test-remove"></a>

Eliminar una A/B prueba y sus metadatos asociados. La prueba debe estar en estado de `STOPPED` ejecución para poder eliminarla. La eliminación de una prueba no afecta a los paquetes de configuración, a la AgentCore pasarela ni a la configuración de evaluación en línea a la que hizo referencia la prueba.

**Example**  

```
agentcore archive ab-test -i <ab-test-id>
```
Detenga y, a continuación, elimine:  

```
import boto3
import uuid

client = boto3.client("bedrock-agentcore", region_name="us-west-2")

# First stop the test if it's running
client.update_ab_test(
    abTestId="customerSupportPromptTest-Ab1Cd2Ef3G",
    executionStatus="STOPPED",
    clientToken=str(uuid.uuid4()),
)

# Then delete
response = client.delete_ab_test(
    abTestId="customerSupportPromptTest-Ab1Cd2Ef3G"
)
print(f"Deleted: {response['abTestId']}")
```

## Transiciones del estado de ejecución
<a name="manage-ab-test-execution-states"></a>


| De | Para | Description (Descripción) | 
| --- | --- | --- | 
|  `NOT_STARTED`  |  `RUNNING`  | Comience la prueba. La AgentCore puerta de enlace comienza a dividir el tráfico. | 
|  `RUNNING`  |  `PAUSED`  | Pausa la prueba. El tráfico deja de dividirse; hay que controlar todas las rutas de tráfico. | 
|  `PAUSED`  |  `RUNNING`  | Reanude una prueba pausada. | 
|  `RUNNING`  |  `STOPPED`  | Interrumpa la prueba de forma permanente. El enrutamiento del tráfico finaliza inmediatamente. | 
|  `PAUSED`  |  `STOPPED`  | Detenga permanentemente una prueba pausada. | 