- Métriques de qualité IA, telles que l’exactitude, la fiabilité factuelle (groundedness), la pertinence, la qualité du contexte, 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
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 à laquelle ni l’évaluation ni l’observabilité ne répondent. Par exemple, un juge LLM peut évaluer le prompt système réécrit d’un agent de support client comme plus fiable factuellement que sa version actuelle. Une expérience Kameleoon répond aux questions dont votre équipe est responsable : si cette même configuration résout davantage de tickets sans escalade vers un humain, et ce qu’elle coûte en latence et en consommation de tokens pour y parvenir. Kameleoon ne remplace pas votre pile d’observabilité ou d’évaluation LLM. Transmettez les scores de vos évaluateurs, qu’ils proviennent de RAGAS, d’un juge LLM ou d’un processus de révision humaine, à Kameleoon sous forme d’objectif personnalisé, et suivez ces scores aux côtés des objectifs comportementaux et business que votre expérience mesure déjà. Vos signaux de qualité au niveau du modèle se connectent alors à 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
Une expérience sur une application basée sur un LLM ou un agent IA passe par cinq étapes dans Kameleoon :- Un feature flag contient la configuration. Chaque élément de la configuration, comme un prompt ou un nom de modèle, devient une variable de feature du flag.
- Chaque variation définit ses propres valeurs. Une variation est une configuration candidate complète, avec une valeur pour chaque variable.
- Le SDK affecte une variation à chaque visiteur. Lorsqu’un visiteur accède à votre application, votre code interroge le flag et reçoit les valeurs de la variation affectée, puis les utilise pour appeler le LLM ou configurer l’agent.
- Les objectifs enregistrent ce qui s’est passé. Votre application suit une conversion pour chaque objectif attaché au flag, y compris une conversion de garde-fou qui se déclenche uniquement lorsqu’une réponse dépasse un seuil acceptable de qualité ou de latence.
- La page de résultats compare les variations. Une fois que vous avez collecté suffisamment de trafic, comparez les variations sur chaque objectif attaché pour décider quelle configuration déployer.
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.
- Une application côté serveur dans laquelle vous pouvez installer un SDK Kameleoon, par exemple une application Python.
Configurer votre expérience d’agent IA dans Kameleoon
Les étapes suivantes construisent une expérience concrète : un prompt système réécrit, combiné à un modèle plus puissant et à un niveau d’effort de raisonnement plus élevé, aide-t-il un agent IA de support client à résoudre davantage de tickets par lui-même, tout en maintenant la latence dans une plage acceptable ? Configurez le feature flag, les variations et les objectifs de suivi dans la plateforme Kameleoon avant de toucher à votre code applicatif.Créer le feature flag
Créez un feature flag pour contenir la configuration de votre agent et contrôler le déploiement de votre expérience.- Dans l’application Kameleoon, cliquez sur Features > Flags & Experiments > New feature flag.
- Saisissez un nom, par exemple
AI support agent config, et sélectionnez le projet pour le flag. - Dans le champ Description, notez ce que contrôle le flag, par exemple « Contrôle le prompt système, le modèle, l’effort de raisonnement et les paramètres de récupération du chatbot de support », afin que les autres membres de votre équipe comprennent son objectif.
- Cliquez sur Validate.
- Kameleoon génère une clé de feature à partir du nom du flag. Notez la clé générée, ou modifiez-la pour
ai_support_agent. Votre code applicatif identifie le flag par cette clé, et non par son nom, les deux doivent donc correspondre.
Stocker la configuration de l’agent dans des variables de feature
Ajoutez une variable de feature pour chaque élément de la configuration de l’agent que vous voulez tester, afin de pouvoir en modifier chacune depuis la plateforme Kameleoon sans éditer votre code applicatif. Cet exemple teste quatre variables :- Sur la page du flag, dans la barre latérale gauche, cliquez sur Set Up > Variables > Add Variable.
- Définissez le Type de la variable pour qu’il corresponde au tableau, soit String, soit Number.
- Saisissez la Variable Key indiquée dans le tableau, par exemple
system_prompt. - Définissez la Default Value sur la valeur utilisée aujourd’hui par votre application en production. Chaque variation que vous créerez par la suite démarre pré-remplie avec ces valeurs : des valeurs par défaut précises vous font donc gagner du temps et vous offrent une configuration de secours fiable.
- Cliquez sur Save.
- Répétez ces étapes pour chaque variable restante du tableau.

Créer vos variations
Une règle de diffusion ne peut servir que Off ou une variation que vous avez créée vous-même : une comparaison A/B nécessite donc une variation pour votre configuration actuelle en plus d’une variation pour chaque nouvelle configuration que vous voulez tester. Cet exemple crée deux variations :Baseline, qui reproduit ce que votre application sert déjà en production, et Grounded, high reasoning, une challenger qui combine un prompt réécrit et plus explicite avec un modèle plus puissant et davantage d’effort de raisonnement.
- Dans la barre latérale gauche, cliquez sur Set Up > Variations > Add variation.
- Saisissez un Name, par exemple
Baseline, et une Variation Key correspondante, par exemplebaseline. Chaque variable est pré-remplie avec sa valeur par défaut, laissez donc les quatre inchangées. - Cliquez sur Save.
- Répétez ces étapes pour une seconde variation nommée
Grounded, high reasoning(clégrounded_high_reasoning), en modifiant chacune des quatre variables pour qu’elle corresponde à la valeur indiquée dans le tableau pour cette variation. - Cliquez sur Save.

Attacher des objectifs pour l’impact business, la qualité IA et la latence
Attachez plusieurs objectifs au feature flag afin de pouvoir comparer les variations sur l’ensemble des résultats dont votre équipe est responsable, et pas seulement sur la qualité des réponses. Kameleoon étant une plateforme unifiée, vous pouvez attacher n’importe quel objectif déjà existant dans votre organisation, ou créer un objectif spécifique à votre fonctionnalité basée sur un LLM. Cet exemple attache trois objectifs, un pour chacune des catégories de métriques importantes pour un agent IA :
Créez les trois comme des Custom goals déclenchés par votre backend, puisque c’est votre application qui les déclenche, et non le navigateur du visiteur. Lorsque vous créez chaque objectif, sélectionnez Custom goal comme Type, puis choisissez l’option pour un événement backend via le SDK.
- Sur la page du flag, dans le menu Set Up, cliquez sur Goals > Add goal.
- Sélectionnez un objectif existant, ou cliquez sur Create a new goal pour en définir un. Ajoutez d’abord
Ticket resolved without escalation, car Kameleoon définit automatiquement le premier objectif attaché comme Primary goal. - Cliquez sur Save.
- Répétez ces étapes pour
Response groundedness scoreetResponse latency, que Kameleoon attache comme Secondary goals.
Response groundedness score et Response latency ne transportent pas de valeur numérique. Votre application détermine si une réponse donnée dépasse un seuil acceptable, que ce soit parce qu’elle est trop lente ou insuffisamment fiable factuellement, et ne déclenche la conversion de l’objectif que dans ce cas. Kameleoon calcule ensuite le taux de conversion de chaque objectif par variation, ce qui indique quelle proportion des réponses a dépassé ce seuil.

Déployer l’expérience
Ajoutez une règle Experiment qui répartit le trafic entre vos deux variations, puis activez le flag pour commencer à collecter des données. Le menu Add a rule regroupe les règles par finalité. Feature testing contient la règle Experiment, qui répartit le trafic et mesure une comparaison statistiquement significative entre les variations, tandis que Feature delivery contient Progressive delivery et Targeted delivery, qui déploient une seule variation progressivement ou vers un segment spécifique sans comparer de bras. Un test A/B nécessite la règle Experiment.- Dans le Rollout Planner, sélectionnez l’environnement que vous voulez cibler, par exemple Production.
- Cliquez sur Add a rule, puis sous Feature testing, sélectionnez Experiment.
- Sous Variations to serve, définissez
Baselinecomme Control et ajoutezGrounded, high reasoningcomme Treatment. Kameleoon mesure les résultats de chaque treatment par rapport au control, le control doit donc être la configuration que vous exécutez déjà en production. - Définissez la répartition du trafic entre les deux variations, par exemple 50 % chacune.
- Définissez le ciblage de la règle pour inclure les visiteurs que vous voulez tester, par exemple tous les visiteurs qui ouvrent une conversation de support.
- Dans le menu déroulant Then, for everyone else in production, serve, sélectionnez
Baseline. Les visiteurs qui sortent du ciblage de la règle reçoivent alors votre configuration actuelle et validée, et votre application obtient tout de même un jeu complet de variables pour eux. - Activez le toggle ON/OFF du flag sur ON.
- Cliquez sur Save.

Récupérer la configuration dans votre application
Installez le SDK Python de Kameleoon, puis récupérez la configuration affectée au visiteur et suivez une conversion pour chaque objectif à mesure que le ticket du visiteur progresse. Le même principe s’applique à n’importe quel SDK Kameleoon côté serveur, y compris Node.js, Java et Go. Comme Kameleoon fournit uniquement les valeurs de configuration, ce même principe fonctionne aussi avec n’importe quel framework d’agent, comme l’OpenAI Agents SDK, le Claude Agent SDK ou LangChain. La plupart du code d’agent s’exécute en Python ou en TypeScript, choisissez donc celui qui correspond à votre application.-
Installez le SDK comme dépendance :
-
Initialisez le client avec votre site code et vos identifiants. Définissez
environmentsur le même environnement du Rollout Planner que celui qui contient votre règle Experiment, sinon le SDK évalue les règles d’un autre environnement : -
Récupérez la configuration affectée avant d’appeler votre LLM, et suivez une conversion pour chaque objectif à mesure que le ticket du visiteur progresse :
Appelez
get_agent_config_for_visitor()avec levisitor_codedu visiteur avant d’envoyer une requête à votre LLM, et utilisez les valeurs retournées pour construire la requête : le prompt système, le modèle, l’effort de raisonnement et le nombre de documents récupérés. Appeleztrack_ticket_resolved()lorsque l’agent résout le problème du visiteur sans escalade vers un humain. Une fois que l’agent a répondu, appelezscore_response_groundedness()avec les documents qu’il a récupérés et la réponse qu’il a générée, puis transmettez le score retourné àtrack_quality_score(). Appeleztrack_response_latency()avec le temps de réponse en millisecondes après chaque appel au LLM.track_quality_score()ettrack_response_latency()ne suivent une conversion que lorsque la valeur dépasse son seuil : une réponse qui reste dans les deux garde-fous ne déclenche donc aucun des deux objectifs.score_response_groundedness()est un exemple minimal de juge LLM : elle demande à un modèle de comparer les affirmations de la réponse au contexte récupéré et de retourner la fraction qu’il confirme. La métrique Factual Correctness de RAGAS évalue la même idée sous-jacente, et vous pouvez la substituer, ou tout autre framework d’évaluation déjà utilisé par votre équipe, à un prompt de juge écrit à la main. Kameleoon calcule ensuite le taux de conversion de chaque objectif par variation, ce qui indique quelle proportion des réponses a dépassé le garde-fou de qualité ou de latence, plutôt que de suivre le score brut ou la valeur en millisecondes elle-même.
Utilisez
get_visitor_code() pour attribuer un ID unique à chaque visiteur, et 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.Suivre et itérer
Ouvrez la page de résultats du feature flag pour comparerBaseline et Grounded, high reasoning sur les trois objectifs attachés. Kameleoon suit automatiquement les expositions et les conversions dès que votre application appelle get_variation() et track_conversion(), vous n’avez donc besoin d’aucune instrumentation supplémentaire.
Lisez les trois objectifs ensemble plutôt qu’isolément. Le challenger de cet exemple exécute un modèle plus grand avec un effort de raisonnement plus élevé et récupère davantage de documents : il coûte donc plus cher par conversation et risque davantage de dépasser le garde-fou de latence. Un gain sur Ticket resolved without escalation ne justifie ce compromis que si Response latency et Response groundedness score ne convertissent pas plus souvent pour le challenger que pour Baseline. Si l’objectif principal progresse mais que le taux de conversion d’un garde-fou dépasse ce que vous êtes prêt à accepter, continuez à servir Baseline et affinez le challenger.
Lorsqu’un challenger l’emporte, promouvez-le : mettez à jour la Default Value de chaque variable avec la configuration gagnante afin qu’elle devienne la nouvelle configuration de référence fiable, puis retirez la règle d’expérience ou réutilisez la variation pour votre prochaine hypothèse.
Pour en savoir plus, consultez Consulter les résultats globaux de votre feature flag.
Étapes suivantes
- Consultez la référence du SDK Python 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 pour cibler l’expérience sur une audience spécifique, par exemple uniquement les tickets associés à un certain domaine produit.
- Ajoutez un objectif de coût en tokens aux côtés de la latence, en suivant les tokens consommés par conversation comme un objectif personnalisé à valeur numérique, afin de chiffrer directement la différence entre une configuration Sonnet et une configuration Opus. Consultez Créer un objectif.
- Ajoutez un objectif de pertinence du contexte pour vérifier si l’augmentation de
retrieval_top_kaméliore réellement les documents que l’agent récupère, car une réponse fiable factuellement peut malgré tout provenir des mauvais documents. Consultez Créer un objectif. - Ajoutez un objectif de retour utilisateur direct, comme un contrôle pouce levé ou pouce baissé après chaque réponse, pour capturer la satisfaction des visiteurs aux côtés des signaux comportementaux que cet exemple suit déjà. Consultez Créer un objectif.
- Ajoutez d’autres variables pour tester d’autres parties de la configuration de l’agent, comme la température, les définitions d’outils ou un modèle de repli pour les nouvelles tentatives. Consultez Définir des variables de feature.
- Validez votre seuil
Response groundedness scoreen comparant un échantillon de scores automatisés à une révision humaine avant de lui faire confiance à grande échelle. Consultez Créer des objectifs pour les feature flags.