Partager via


Adopter un processus itératif pour améliorer votre agent de données

L’optimisation d’un agent de données n’est pas une configuration ponctuelle : il s’agit d’un processus itératif continu qui implique l’expérimentation, l’observation et l’affinement.

Cet article décrit les meilleures pratiques pour vous aider à commencer à améliorer votre agent de données, mais il est important de reconnaître que chaque environnement de données et chaque cas d’usage est unique. Vous pouvez constater que certains types d’instructions, d’exemples ou de mise en forme fonctionnent mieux pour vos jeux de données spécifiques, ou que le contexte supplémentaire est nécessaire pour aider l’agent à interpréter les questions utilisateur plus précisément. Lorsque vous évaluez les réponses, attendez-vous à passer par des cycles d’essai et d’erreur : révision des instructions de l’agent, développement de votre jeu de benchmarks ou ajustement d’exemples de requêtes pour résoudre la confusion ou améliorer la précision. Au fil du temps, ce processus permet de découvrir les lacunes dans la logique, l’alignement du schéma ou la formulation des requêtes qui peuvent ne pas être immédiatement évidentes. La clé consiste à traiter l’agent de données comme un système en évolution qui s’améliore par le biais de tests, de commentaires et d’itération réguliers, et non un ensemble de configuration statique une fois et oublié.

Étape 1 : Démarrer avec un jeu de benchmarks

Commencez par un benchmark initial d’exemples pour guider la configuration de votre agent et évaluer les performances. Utilisez le format suivant :

Question Requête attendue Réponse attendue
Combien d’employés travaillent dans l’équipe RH ? SELECT COUNT(*) FROM EmployeeDim WHERE DepartmentName = 'Ressources humaines' 25
Quel est le salaire moyen dans Marketing ? SELECT AVG(Salaire) FROM EmployeeCompensation WHERE Département = 'Marketing' 85 000 $
Quels produits ont été vendus le mois dernier ? SELECT ProductName FROM Sales WHERE SaleDate >= '2024-05-01' [Produit A, Produit B]

Vous pouvez en savoir plus sur l’évaluation de votre agent dans l’article : Comment évaluer votre agent de données

Vous pouvez continuer à développer votre jeu de références au fil du temps pour augmenter la couverture des types de questions utilisateur que vous attendez de l’agent à gérer.

Étape 2 : Diagnostiquer les réponses incorrectes

Lorsque votre agent de données retourne un résultat incorrect ou non optimal, prenez du temps pour analyser la cause. L’identification du bon point de défaillance vous aidera à apporter des améliorations ciblées aux instructions, exemples ou logique de requête.

Posez les questions suivantes dans le cadre de votre révision :

  • Une explication ou une instruction nécessaire est-elle manquante ?
  • Les instructions sont-elles trop vagues, peu claires ou trompeuses ?
  • L’exemple de requête est-il incorrect ou non représentatif de la question de l’utilisateur ?
  • La question de l’utilisateur est-elle ambiguë d'après la structure ou le nommage dans le schéma ?
  • Les valeurs sont-elles mises en forme de manière incohérente (par exemple, "ca" vs. vs "CA" . "Ca"), ce qui rend plus difficile l’application correcte des filtres à l’agent ?

Chacun de ces problèmes peut avoir un impact sur la capacité de l’agent à interpréter l’intention et à générer des requêtes précises. L’identification précoce aide à guider les affinements plus efficaces dans les étapes ultérieures.

Étape 3 : Guidez un meilleur raisonnement avec des instructions d’agent plus claires

Si l’agent choisit constamment les sources de données incorrectes, interprète mal l’intention de l’utilisateur ou retourne des réponses mal mises en forme, il s’agit d’un signe indiquant que vos instructions au niveau de l’agent ont besoin d’affinement. Utilisez ces instructions pour guider la façon dont l’agent a des raisons à travers des questions, sélectionne des sources de données et met en forme ses réponses.

Lors de l’itération sur les instructions de l’agent :

  • Clarifier l’utilisation de la source de données : Spécifiez les sources de données à utiliser pour des types particuliers de questions et dans quel ordre de priorité. Si certaines sources ne doivent être utilisées que dans des contextes spécifiques, faites cela clairement.
  • Définissez le comportement de réponse attendu : Définissez les attentes en matière de tonalité, de structure et de niveau de détail. Indiquez si les réponses doivent être concises, inclure une sortie tabulaire ou fournir des détails au niveau des lignes.
  • Guidez les étapes de raisonnement de l'agent : Fournissez un cadre logique que l'agent doit suivre dans le cadre de l'interprétation d'une question, comme la reformulation, l'identification des termes pertinents ou la sélection d'outils basés sur le sujet.
  • Expliquer la terminologie : Incluez des définitions ou des mappages pour des termes ambigus, spécifiques à l’entreprise ou couramment mal compris afin que l’agent puisse interpréter plus précisément les questions utilisateur.

L’amélioration de ces instructions au fil du temps aide l’agent à prendre de meilleures décisions à chaque étape, de l’interprétation des questions à l’exécution de la requête et à la mise en forme finale de la réponse.

Étape 4 : Améliorer la compréhension du schéma par le biais d’une meilleure instruction de source de données

Utilisez des insights de l’analyse des défaillances pour améliorer en continu vos instructions de source de données. Recherchez des modèles sur plusieurs réponses incorrectes pour identifier où l’agent peut mal interpréter l’intention, lutter contre la compréhension du schéma ou ne pas appliquer la logique de requête correcte.

Mettez à jour votre configuration en vous concentrant sur les domaines suivants :

  • Clarifier l’utilisation du filtre : Décrivez explicitement quand et comment les filtres doivent être appliqués dans vos instructions. Par exemple, spécifiez si les filtres doivent utiliser des correspondances exactes, des plages ou des critères correspondants.
  • Ajoutez des exemples de valeurs classiques : Aidez l’agent à comprendre comment filtrer correctement en fournissant des exemples de valeurs et des formats attendus (par exemple, "CA", "MA""NY" pour les abréviations d’état ou "Q1 FY25" pour les trimestres fiscaux).
  • Renforcer la cohérence : Vérifiez que la terminologie, la mise en forme et la formulation sont appliquées de manière cohérente entre les instructions et les exemples. Évitez de mélanger des abréviations, des casses ou des étiquettes alternatives pour le même concept.
  • Mettez à jour en fonction de l’évolution des règles de schéma ou d’entreprise : Si de nouvelles tables, colonnes ou logiques sont introduites dans vos sources de données, ajustez vos instructions et exemples pour refléter ces modifications.

L’itération sur ces détails garantit que l’agent reste aligné sur vos données et contexte métier en constante évolution, et génère des réponses plus précises et fiables au fil du temps.

Étape 5 : Utiliser des exemples ciblés pour guider la génération de requêtes précise

Les exemples de requêtes jouent un rôle essentiel pour aider l’agent à généraliser et générer des réponses précises, en particulier pour les questions impliquant des jointures, un filtrage et une logique complexe. Si l’agent de données retourne des requêtes incorrectes, revisitez et affinez vos exemples pour mieux illustrer la structure et la logique attendues.

Concentrez-vous sur les améliorations suivantes :

  • Clarifier la logique de jointure : Si l’agent génère des jointures incorrectes, incluez des exemples de requêtes qui montrent explicitement comment les tables associées doivent être jointes (par exemple, les clés de jointure, le type de jointure).
  • Modèles de filtre corrects : Indiquez comment les filtres doivent être appliqués pour des colonnes spécifiques, y compris les détails de mise en forme (par exemple, les LIKE '%keyword%'plages de dates ou les exigences de casse).
  • Spécifiez la sortie attendue : Indiquez clairement quelles colonnes l’agent doit retourner pour différents types de questions. Cela permet de guider à la fois la structure et le focus de la requête générée.
  • Affiner des exemples vagues ou surchargés : Séparez les exemples génériques ou trop larges en requêtes plus ciblées qui reflètent des intentions utilisateur spécifiques.
  • Vérifiez l’alignement avec les instructions et le schéma actuels : Conservez des exemples à jour avec les modifications récentes apportées au schéma, aux règles métier ou aux formats d’instructions.

En améliorant et en développant vos exemples de requêtes en fonction des problèmes observés, vous donnez aux agents des points de référence plus forts pour générer des réponses précises et contextuelles.

Étape 6 : Résoudre les problèmes de jointure

La logique de jointure est une source courante d’échec dans la génération de requêtes. Lorsque l’agent de données retourne des résultats incorrects ou incomplets en raison d’erreurs de jointure, vous devez fournir des conseils structurels et des exemples plus clairs pour aider l’agent à comprendre comment vos données sont liées.

Pour améliorer la précision de jointure :

  • Documentez clairement les relations de jointure : spécifiez les tables associées, les clés utilisées pour la jointure (par exemple, EmployeeID, ProductKey), et la direction de la relation (par exemple, un-à-plusieurs). Incluez ces instructions dans les instructions pertinentes de la source de données.
  • Incluez des exemples de jointure dans les requêtes : Ajoutez des exemples de requêtes qui illustrent explicitement le comportement de jointure correct pour les relations les plus courantes ou complexes.
  • Clarifier les colonnes requises entre les tables jointes : Indiquez les champs à récupérer à partir de quelle table, en particulier lorsque des noms de colonnes similaires existent sur plusieurs sources.
  • Simplifiez le cas échéant : Si les jointures requises sont trop complexes ou sujettes à des erreurs, envisagez d’aplatir la structure en une table dénormalisée unique pour réduire l’ambiguïté et améliorer la fiabilité.

La définition correcte de la logique de jointure, à la fois dans les instructions et les exemples, aide l’agent à comprendre comment naviguer dans votre structure de données et retourner des réponses complètes et précises.

Étapes suivantes