

# Gérer un A/B test
<a name="ab-testing-manage"></a>

Mettez à jour un A/B test pour le démarrer, le suspendre ou l'arrêter. Vous utilisez cette `UpdateABTest` opération pour modifier le statut d'exécution.

**Note**  
Les commandes du cycle de vie de la AgentCore CLI (`view``pause``resume``stop`,`promote`,,,,`archive`) identifient un test par son **ID de tâche** réussi`-i, --id`, et non par son nom. Obtenez l'ID depuis `agentcore run ab-test --json` (`id`sur le terrain) ou en listant les tests avec`agentcore view ab-test`. L'ID de tâche utilise le format`name-suffix`. Par exemple : `customerSupportTargetTest-Ab1Cd2Ef3G`. Les enregistrements de Job sont stockés localement au format JSON `.cli/jobs/ab-tests/` dans votre projet.

## Exemples de code
<a name="manage-ab-test-examples"></a>

### Afficher, suspendre, reprendre et arrêter
<a name="manage-ab-test-start-stop"></a>

**Example**  
 A/B Répertoriez toutes les tâches de test ou visualisez-en une en détail (affiche également l'URL d'appel et les résultats) :  

```
agentcore view ab-test
agentcore view ab-test <ab-test-id>
```
Reprendre un test suspendu :  

```
agentcore resume ab-test -i <ab-test-id>
```
Suspendez un test en cours. Le trafic cesse de se diviser et toutes les demandes sont acheminées vers la variante de contrôle. Peut être repris.  

```
agentcore pause ab-test -i <ab-test-id>
```
Arrêtez définitivement un test. Tout le trafic revient à la variante de contrôle. Cela ne peut pas être annulé.  

```
agentcore stop ab-test -i <ab-test-id>
```
Lancez un test (définissez le statut d'exécution sur`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']}")
```
Interrompez un test en cours :  

```
response = client.update_ab_test(
    abTestId="customerSupportPromptTest-Ab1Cd2Ef3G",
    executionStatus="PAUSED",
    clientToken=str(uuid.uuid4()),
)
print(f"Execution status: {response['executionStatus']}")
```
Arrêtez définitivement un test en cours :  

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

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

Lorsque les résultats sont statistiquement significatifs, promouvez la variante du traitement. `promote`arrête le test et y inscrit le variant de traitement `agentcore.json` ; exécutez-le `agentcore deploy` ensuite pour le déployer.

**Example**  

```
agentcore promote ab-test -i <ab-test-id>
agentcore deploy
```
Le SDK ne comporte aucune opération de « promotion » unique. Arrêtez le test, puis appliquez vous-même la variante gagnante à vos ressources (par exemple, en mettant à jour le bundle de configuration de contrôle ou la cible de la passerelle pour qu'il corresponde au traitement).

### Supprimer un A/B test
<a name="manage-ab-test-remove"></a>

Supprimez un A/B test et ses métadonnées associées. Le test doit être en `STOPPED` cours d'exécution avant de pouvoir être supprimé. La suppression d'un test n'affecte pas les ensembles de configuration, la AgentCore passerelle ou la configuration d'évaluation en ligne auxquels le test a fait référence.

**Example**  

```
agentcore archive ab-test -i <ab-test-id>
```
Arrêtez puis supprimez :  

```
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']}")
```

## Transitions d'état d'exécution
<a name="manage-ab-test-execution-states"></a>


| De | À | Description | 
| --- | --- | --- | 
|  `NOT_STARTED`  |  `RUNNING`  | Lancez le test. La AgentCore passerelle commence à diviser le trafic. | 
|  `RUNNING`  |  `PAUSED`  | Mettez le test en pause. Le trafic cesse de se diviser ; toutes les voies de circulation doivent être contrôlées. | 
|  `PAUSED`  |  `RUNNING`  | Reprenez un test suspendu. | 
|  `RUNNING`  |  `STOPPED`  | Arrêtez définitivement le test. Le routage du trafic prend fin immédiatement. | 
|  `PAUSED`  |  `STOPPED`  | Arrêtez définitivement un test suspendu. | 