FlexSQL: Flexible Exploration and Execution Make Better Text-to-SQL Agents
FlexSQL introduit un agent de texte vers SQL qui surpasse des modèles plus puissants sur le benchmark Spider2-Snow en adoptant un principe de conception flexible permettant une exploration dynamique du schéma, une inspection des données et des plans d'exécution diversifiés, le tout soutenu par un mécanisme de réparation à deux niveaux tout au long du processus de raisonnement.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous êtes un détective tentant de résoudre une énigme, mais au lieu d'une scène de crime, votre « scène de crime » est une bibliothèque massive et chaotique contenant des millions de livres, de fichiers et de points de données. Votre patron vous donne un indice vague : « Trouvez tous les brevets concernant les sciences des matériaux déposés au début de l'année 2014 et comptez combien de brevets plus anciens ils citent. »
La plupart des programmes informatiques actuels tentant de résoudre ce problème agissent comme un robot rigide. Ils se voient attribuer une carte de la bibliothèque une seule fois au début. Ils choisissent quelques rayons basés sur cette carte, rédigent une liste d'instructions (une requête), puis tentent de l'exécuter. S'ils sont bloqués ou si la réponse est erronée, ils ne peuvent corriger que de petites coquilles dans leurs instructions. Ils ne peuvent pas revenir en arrière pour dire : « Attendez, j'ai choisi les mauvais rayons en entier », ou « Je n'avais pas réalisé que les « sciences des matériaux » étaient cachées sous un code comme « MS-01 » ». Ils sont coincés avec leur erreur initiale.
FlexSQL est un nouveau type d'agent détective qui agit davantage comme un explorateur humain curieux. Au lieu d'être rigide, il est flexible. Voici comment il fonctionne, en utilisant des analogies simples :
1. L'« Explorateur Flexible » (Interaction Flexible)
Au lieu de regarder la carte de la bibliothèque une fois et de s'engager dans un chemin, FlexSQL a le droit de se promener dans la bibliothèque pendant qu'il réfléchit.
- L'Ancienne Méthode : Le robot regarde la carte, devine que les « sciences des matériaux » se trouvent dans la section « Sciences », et commence à rédiger sa liste.
- La Méthode de FlexSQL : L'agent dit : « Je ne suis pas sûr de l'emplacement des « sciences des matériaux ». Laissez-moi me rendre au rayon « Technologie », jeter un coup d'œil dans une boîte et lire les étiquettes. »
- Il utilise des outils spéciaux pour parcourir les rayons (le schéma), lire le contenu réel des boîtes (les valeurs de données) et exécuter de petites recherches de test pour vérifier si ses hypothèses sont logiques. S'il réalise qu'il est dans le mauvais couloir, il peut immédiatement faire demi-tour et se rendre au bon endroit. Il ne reste pas coincé dans une impasse.
2. L'« Équipe de Remue-méninges » (Planification Diversifiée)
L'indice « les brevets antérieurs cités par chacun » est délicat. Cela signifie-t-il uniquement les brevets nationaux ? Les étrangers aussi ? Les demandes en attente ?
- L'Ancienne Méthode : Le robot choisit une interprétation (par exemple, « Uniquement les brevets nationaux ») et s'y tient. Si elle est erronée, toute la réponse est fausse.
- La Méthode de FlexSQL : Il agit comme une équipe de détectives en train de faire un remue-méninges. Il génère plusieurs théories différentes (plans) simultanément.
- Plan A : Compter uniquement les citations nationales.
- Plan B : Compter les citations nationales et étrangères.
- Plan C : Compter tout, y compris les demandes en attente.
Il exécute toutes ces théories, puis laisse le « vote majoritaire » décider quelle réponse a le plus de chances d'être correcte. De cette façon, même si une théorie est erronée, l'équipe peut toujours obtenir la bonne réponse.
3. Le « Traducteur Bilingue » (Exécution Flexible)
Parfois, une tâche est trop complexe pour être écrite comme une seule instruction linéaire (SQL). Elle peut nécessiter une boucle, une décision « si-alors », ou un calcul étape par étape qui est difficile à rédiger dans un langage de base de données.
- L'Ancienne Méthode : Le robot tente de tout forcer dans une seule phrase SQL rigide, la rendant souvent trop complexe et sujette à des erreurs.
- La Méthode de FlexSQL : Il est bilingue. Il peut rédiger les instructions en SQL (la langue parlée par les bases de données) OU en Python (un langage de programmation flexible).
- Si la tâche est une simple liste, il utilise SQL.
- Si la tâche nécessite une boucle complexe ou un calcul étape par étape, il écrit d'abord un script Python car il est plus facile de penser ainsi.
- Une fois que le script Python fonctionne parfaitement, il traduit le résultat final en SQL afin que la base de données le comprenne. C'est comme écrire une recette complexe dans un cahier d'abord, puis la traduire dans le bon de commande officiel de la cuisine.
4. Le Bouton « Refaire » (Retour en Arrière)
Si FlexSQL rédige un plan puis réalise : « Oh non, j'ai mal compris la question en entier », il ne se contente pas d'essayer de corriger le code. Il appuie sur le bouton retour en arrière. Il revient complètement au début, réexamine les rayons de la bibliothèque, change toute sa stratégie et démarre un nouveau plan. Cela l'empêche de perdre du temps à essayer de réparer une fondation brisée.
Les Résultats
L'article a testé ce « détective flexible » sur un benchmark très difficile appelé Spider2, qui simule d'immenses bases de données d'entreprise réelles.
- Le Score : En utilisant un modèle appelé
gpt-oss-120b, FlexSQL a obtenu 65,4 %. - La Comparaison : Ce score était supérieur à celui d'autres systèmes de premier plan utilisant des modèles beaucoup plus grands et plus puissants (comme
DeepSeek-R1ougpt-o3). - La Conclusion : En étant flexible — en se promenant dans la bibliothèque, en brainstormant plusieurs théories, en parlant deux langues et en appuyant sur « annuler » lorsque nécessaire — FlexSQL a résolu les problèmes mieux que les « robots rigides », même avec un cerveau plus petit.
En bref, FlexSQL prouve que dans le monde complexe des mégadonnées, la flexibilité bat la rigidité. Il vaut mieux être un agent capable d'explorer, de s'adapter et de changer d'avis qu'un agent qui suit obstinément une seule carte pré-rédigée.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.