> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Expérimenter sur les prompts LLM et les configurations d'agents IA

> Utilisez les feature flags Kameleoon pour mener des expériences contrôlées sur les prompts, les modèles et les configurations qui sous-tendent une application basée sur un LLM ou un agent IA, et mesurez leur impact à l'aide de métriques de qualité IA, opérationnelles et business.

Les applications basées sur un LLM et les agents IA sont non déterministes. Modifier un prompt, un modèle, une stratégie de récupération, une configuration d'outil ou un workflow d'agent peut affecter la qualité des réponses, le coût d'exploitation, la latence et le comportement des utilisateurs de façons différentes et difficiles à prévoir. Les frameworks d'évaluation comme RAGAS évaluent si une réponse individuelle atteint un niveau de qualité donné, mais ce score ne vous indique pas si le changement aide les utilisateurs à accomplir ce pour quoi ils sont venus sur votre produit.

Vous pouvez utiliser les fonctionnalités de Feature Experimentation de Kameleoon pour personnaliser, tester et déployer la configuration qui sous-tend une application d'IA générative ou un agent IA. Une variable de feature contient un élément de cette configuration (un prompt, un paramètre de modèle, une stratégie de récupération, une définition d'outil), afin que votre équipe puisse la gérer en dehors de votre code applicatif. Chaque variation représente une configuration candidate, ce qui vous permet d'itérer, d'expérimenter et de déployer des changements plus sûrement, sans redéployer.

Répartissez le trafic entre les variations et comparez leur impact à l'aide de plusieurs types de métriques :

* **Métriques de qualité IA**, telles que l'exactitude, la fiabilité factuelle (groundedness), la pertinence, la sécurité ou la conformité
* **Métriques de performance des agents**, telles que la réussite de l'utilisation des outils ou l'achèvement des tâches
* **Métriques opérationnelles**, telles que la latence, la consommation de tokens, les erreurs et le coût
* **Métriques utilisateur et business**, telles que la satisfaction, l'escalade, la conversion, la rétention et le revenu

Comme la configuration vit dans un feature flag plutôt que dans votre code source, vous pouvez ajouter, modifier ou annuler une variation directement depuis la plateforme Kameleoon, à tout moment.

## L'évaluation et l'expérimentation résolvent des problèmes différents

L'évaluation détermine si une sortie individuelle d'un modèle ou d'un agent atteint un standard de qualité défini. Les outils d'observabilité permettent d'inspecter les prompts, les réponses, les traces, les étapes de récupération et les appels d'outils à l'origine de cette sortie. L'expérimentation détermine si un changement apporté à la configuration sous-jacente entraîne une amélioration mesurable pour les utilisateurs ou pour l'entreprise, une question distincte des deux précédentes.

Par exemple, un juge LLM peut évaluer un prompt comme plus fiable factuellement qu'un autre. Une expérience Kameleoon vous indique si ce même prompt améliore également l'achèvement des tâches, réduit l'escalade, augmente la satisfaction, ou affecte la latence et le coût, les résultats dont votre équipe est responsable.

Kameleoon ne remplace pas votre pile d'observabilité ou d'évaluation LLM. Transmettez les scores de vos évaluateurs (RAGAS, juge LLM ou processus de révision humaine) à Kameleoon sous forme d'[objectif personnalisé](/fr/user-manual/assets/goals/create-a-goal#objectif-personnalisé) avec une valeur numérique, et suivez-les aux côtés des objectifs comportementaux et business déjà mesurés par votre expérience, ce qui relie les signaux de qualité au niveau du modèle à une mesure statistiquement fiable de l'impact réel sur les utilisateurs.

Pour la plupart des expériences liées à l'IA, combinez plusieurs types de métriques plutôt que de vous fier à une seule :

* Définissez un résultat utilisateur ou business comme objectif principal.
* Suivez les métriques de qualité IA comme objectifs secondaires ou garde-fous.
* Surveillez la latence, le coût, les erreurs et la sécurité comme garde-fous opérationnels.
* Validez les juges automatisés par rapport à un échantillon d'exemples révisés par des humains avant de faire confiance à leurs scores à grande échelle.

## Fonctionnement

Un feature flag stocke chaque configuration (comme un prompt) en tant que valeur d'une variable de feature, avec une variation par option que vous voulez tester. Lorsqu'un visiteur accède à votre application, le SDK Kameleoon affecte le visiteur à une variation et retourne la valeur correspondante, que votre code applicatif utilise pour appeler le LLM ou configurer l'agent. Un objectif rattaché au feature flag enregistre une conversion lorsque le visiteur interagit avec votre fonctionnalité basée sur un LLM ou votre agent IA, par exemple en posant une question de suivi ou en menant à bien une tâche grâce à son aide. Une fois que vous avez collecté suffisamment de trafic, comparez le taux de conversion de chaque variation, ainsi que les éventuelles métriques de qualité IA ou opérationnelles que vous suivez, pour déterminer quelle configuration est la plus performante.

## Prérequis

* Un compte Kameleoon avec un projet configuré pour Feature Experimentation.
* L'ID client et la clé secrète client de votre compte. Pour trouver ces valeurs, consultez [Identifiants API](/fr/user-manual/account-and-team-management/users-and-teams/api-credentials).
* Une application Python dans laquelle vous pouvez installer le SDK Kameleoon.

## Configurer votre expérience de prompt dans Kameleoon

Configurez le feature flag, les variations de prompt et l'objectif de suivi dans la plateforme Kameleoon avant de toucher à votre code applicatif.

### Créer le feature flag

Créez un feature flag pour contenir vos variations de prompt et contrôler le déploiement de votre expérience.

1. Dans l'application Kameleoon, cliquez sur **Features** > **Flags & Experiments** > **New feature flag**.
2. Saisissez un nom, par exemple `LLM prompt test`, et sélectionnez le projet pour le flag.
3. Dans le champ **Description**, notez ce que le flag contrôle, afin que les autres membres de votre équipe comprennent son objectif.
4. Cliquez sur **Validate**.

Pour en savoir plus, consultez [Créer un feature flag](/fr/user-manual/experimentation/feature-experimentation/create-and-manage-flags/create-a-feature-flag).

### Stocker le prompt dans une variable de feature

Ajoutez une variable de feature pour contenir le texte du prompt, afin de pouvoir le modifier depuis la plateforme Kameleoon sans éditer votre code applicatif.

1. Sur la page du flag, dans la barre latérale gauche, cliquez sur **Set Up** > **Variables** > **Add Variable**.
2. Définissez le **Type** de la variable sur **String**.
3. Saisissez une **Variable Key**, par exemple `prompt_template`.
4. Définissez la **Default Value** sur le prompt actuellement utilisé par votre application. Kameleoon délivre cette valeur aux visiteurs qui ne font pas partie de votre expérience.
5. Cliquez sur **Save**.

<Frame>
  ![L'écran de configuration des Variables affichant une variable de type String nommée prompt\_template avec une valeur par défaut de type texte pour le prompt.](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/developers/images/feature-experimentation/integrations/llm/variables.png)
</Frame>

Pour en savoir plus, consultez [Définir des variables de feature](/fr/user-manual/experimentation/feature-experimentation/configure-your-feature-flags/define-feature-variables).

### Créer une variation par prompt

Créez une variation par prompt que vous voulez tester, et définissez la variable `prompt_template` avec le texte correspondant dans chacune.

1. Dans la barre latérale gauche, cliquez sur **Set Up** > **Variations** > **Add variation**.
2. Saisissez un **Name** pour la variation, par exemple `Detailed summary`.
3. Définissez la variable `prompt_template` avec le texte du prompt pour cette variation.
4. Cliquez sur **Save**.
5. Répétez ces étapes pour chaque prompt supplémentaire que vous voulez tester.

<Frame>
  ![L'écran de configuration des Variations affichant une variation nommée Detailed summary avec la variable prompt\_template définie sur une valeur de prompt.](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/developers/images/feature-experimentation/integrations/llm/fe-variations.png)
</Frame>

Pour en savoir plus, consultez [Définir des variations de feature](/fr/user-manual/experimentation/feature-experimentation/configure-your-feature-flags/define-feature-variations).

### Attacher un objectif pour mesurer l'engagement

Attachez un objectif au feature flag afin que Kameleoon puisse mesurer quelle variation de prompt génère le plus d'engagement. Kameleoon étant une plateforme unifiée, vous pouvez attacher n'importe quel objectif déjà existant dans votre organisation, comme un objectif de transaction défini par une autre équipe, ou créer un objectif spécifique à votre fonctionnalité basée sur un LLM.

1. Sur la page du flag, dans le menu **Set Up**, cliquez sur **Goals** > **Add goal**.
2. Sélectionnez un objectif existant, ou cliquez sur **Create a new goal** pour en définir un, comme un objectif personnalisé déclenché lorsqu'un visiteur interagit avec votre fonctionnalité basée sur un LLM.
3. Cliquez sur **Save**.

<Frame>
  ![L'écran de configuration des Goals affichant un objectif attaché au feature flag, avec la possibilité d'ajouter un objectif existant ou d'en créer un nouveau.](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/developers/images/feature-experimentation/integrations/llm/fe-goals.png)
</Frame>

Pour en savoir plus sur les types d'objectifs, y compris comment déclencher un objectif personnalisé depuis votre backend, consultez [Créer un objectif](/fr/user-manual/assets/goals/create-a-goal#objectif-personnalisé).

### Déployer l'expérience

Créez une règle d'expérience qui répartit le trafic entre vos variations de prompt, puis activez l'environnement pour commencer à collecter des données.

1. Dans le **Rollout Planner**, sélectionnez l'environnement que vous voulez cibler, par exemple **Production**.
2. Cliquez sur **Add a rule** > **Experiment**.
3. Sous **Variations to serve**, ajoutez chaque variation de prompt et définissez son pourcentage d'exposition. Par exemple, répartissez le trafic également entre deux variations à 50 % chacune.
4. Définissez le ciblage de la règle pour inclure les visiteurs que vous voulez tester, par exemple tous les visiteurs qui accèdent à l'application.
5. Activez le toggle **ON/OFF** de l'environnement sur **ON**.
6. Cliquez sur **Save**.

<Frame>
  ![Le Rollout Planner de l'environnement Production affichant une règle d'expérience qui cible tous les visiteurs et répartit le trafic à 50/50 entre deux variations.](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/developers/images/feature-experimentation/integrations/llm/environments.png)
</Frame>

Pour en savoir plus, consultez [Créer des expériences de feature](/fr/user-manual/experimentation/feature-experimentation/using-the-rollout-planner/optimizations-and-scheduling/create-feature-experiments).

Une fois la règle enregistrée, Kameleoon commence à affecter les visiteurs à une variation et à servir le prompt correspondant. Pour modifier un prompt ou ajouter une variation plus tard, éditez-le directement depuis la plateforme Kameleoon. Vous n'avez pas besoin de redéployer votre application pour appliquer ces changements.

## Récupérer le prompt dans votre application

Installez le SDK Python de Kameleoon, puis récupérez le prompt affecté au visiteur et suivez une conversion lorsque le visiteur interagit avec votre fonctionnalité basée sur un LLM. Le même principe s'applique à n'importe quel [SDK Kameleoon côté serveur](/fr/developer-docs/feature-experimentation/get-started/overview#sdk-cote-serveur), y compris Node.js, Java et Go.

1. Installez le SDK comme dépendance :

   ```bash theme={null}
   pip install kameleoon-client-python
   ```

2. Initialisez le client avec votre site code et vos identifiants :

   ```python theme={null}
   from kameleoon import KameleoonClient, KameleoonClientConfig, KameleoonClientFactory

   SITE_CODE = "a8st4f59bj"
   FEATURE_KEY = "llm_prompt_test"
   GOAL_ID = 12345  # Remplacez par l'ID de l'objectif attaché au flag

   configuration = KameleoonClientConfig(
       client_id="your-client-id",
       client_secret="your-client-secret",
   )
   kameleoon_client = KameleoonClientFactory.create(SITE_CODE, configuration)
   await kameleoon_client.wait_init_async()
   ```

3. Récupérez le prompt affecté avant d'appeler votre LLM, et suivez une conversion lorsque le visiteur interagit avec la fonctionnalité basée sur un LLM :

   ```python theme={null}
   def get_prompt_for_visitor(visitor_code: str) -> str:
       variation = kameleoon_client.get_variation(visitor_code, FEATURE_KEY)
       return variation.variables["prompt_template"].value


   def track_llm_interaction(visitor_code: str) -> None:
       kameleoon_client.track_conversion(visitor_code, GOAL_ID)
   ```

   Appelez `get_prompt_for_visitor()` avec le `visitor_code` du visiteur avant d'envoyer une requête à votre LLM, et utilisez la valeur retournée comme prompt. Appelez `track_llm_interaction()` lorsque le visiteur interagit avec la fonctionnalité basée sur un LLM, par exemple en soumettant une question ou en recevant une réponse.

<Note>
  Utilisez [`get_visitor_code()`](/fr/developer-docs/sdks/web-sdks/python-sdk#get_visitor_code) pour attribuer un ID unique à chaque visiteur, et [`set_legal_consent()`](/fr/developer-docs/sdks/web-sdks/python-sdk#set_legal_consent) si votre application nécessite le consentement du visiteur avant tout suivi de données. Pour la référence complète d'initialisation et de configuration du client, consultez le [guide du développeur du SDK Python](/fr/developer-docs/sdks/web-sdks/python-sdk#guide-du-développeur).
</Note>

## Suivre et itérer

Ouvrez la page de résultats du feature flag pour comparer le taux de conversion de chaque variation de prompt par rapport à l'objectif attaché. Kameleoon suit les expositions et les conversions automatiquement dès que votre application appelle `get_variation()` et `track_conversion()`, vous n'avez donc besoin d'aucune instrumentation supplémentaire. Si vous avez également attaché une métrique de qualité IA ou opérationnelle comme objectif, comparez-la au taux de conversion avant de décider quelle variation déployer.

Pour en savoir plus, consultez [Consulter les résultats globaux de votre feature flag](/fr/user-manual/experiment-analytics/analyze-results/feature-flag-results/analyze-a-feature-flags-overall-results).

## Étapes suivantes

* Consultez la [référence du SDK Python](/fr/developer-docs/sdks/web-sdks/python-sdk) pour des options avancées telles que les custom data, l'expérimentation cross-device et les conditions de ciblage.
* Attachez des [critères de segmentation précis](/fr/developer-docs/feature-experimentation/targeting-and-segmentation/native-segmentation) pour cibler l'expérience sur une audience spécifique.
* Explorez les [variables de feature](/fr/user-manual/experimentation/feature-experimentation/configure-your-feature-flags/define-feature-variables) pour variabiliser d'autres parties de votre fonctionnalité basée sur un LLM ou de votre agent IA, comme les paramètres du modèle, les paramètres de récupération ou les définitions d'outils.
* Attachez plusieurs objectifs au même flag, par exemple un score de qualité IA issu de votre pipeline d'évaluation aux côtés d'une métrique business, pour comparer les configurations selon plusieurs dimensions à la fois. Consultez [Créer des objectifs pour les feature flags](/fr/user-manual/experimentation/feature-experimentation/track-your-feature-experiments/create-goals-for-feature-flags).
