Construire un agent SQL avec un LLM : deux approches possibles
Quand on veut connecter un LLM à une base relationnelle, il y a un choix clé : comment donner le contexte du schéma SQL à l’agent.
1️⃣ Tools on Demand
L’agent ne connaît rien au départ. Il appelle des outils uniquement quand il en a besoin :
- 🔎 Get_Tables_List → récupérer la liste des tables
- 📋 Get_Table_Definition → connaître les colonnes d’une table
- ▶️ Execute_SQL_Query → exécuter la requête finale
⚠️ Attention : si l’agent appelle plusieurs fois
Get_Table_Definitionpour préparer sa requête, le “window context” grossit à chaque étape et peut dépasser celui du “Schema Dump” puisque le “system prompt” est réinjecté à chaque fois → les coûts augmentent.
✅ Avantages
- Toujours à jour (schéma récupéré dynamiquement)
- Scalable pour de très grosses bases
- Peu coûteux si l’agent ne fait que quelques appels
❌ Inconvénients
- Peut devenir plus cher/plus lent si l’agent multiplie les appels
2️⃣ Schema Dump (one-shot)
Au début de la session, on charge toutes les définitions de tables dans la mémoire de l’agent. Il peut ensuite générer ses requêtes directement, sans repasser par les outils.
✅ Avantages
- Plus rapide et parfois moins cher (un seul chargement initial)
- Simple pour les bases petites/moyennes
❌ Inconvénients
- Pas idéal pour les énormes DB (tokens explosent)
- Pas automatiquement à jour si le schéma évolue
📊 Exemples concrets de comparaison
Requête simple (1 table)
Tools on Demand: 3 659 Tokens

Schema Dump: 8 195 Tokens

| Approche | Nombre de tokens |
|---|---|
| Tools on Demand | 3 659 tokens |
| Schema Dump | 8 195 tokens |
→ Tools on Demand gagne de plus de 50% !
Requête complexe (4 tables)
Tools on Demand: 9 485 Tokens

Schema Dump: 8 636 Tokens

| Approche | Nombre de tokens |
|---|---|
| Tools on Demand | 9 485 tokens |
| Schema Dump | 8 636 tokens |
→ Schema Dump devient plus efficace pour les requêtes multi-tables.
👉 En résumé
- Si la requête SQL implique beaucoup de tables → Schema Dump est souvent plus efficace
- Si la requête est simple (peu de tables) → Tools on Demand est plus économique
- Pour les très grosses bases → Tools on Demand reste incontournable
💬 Et vous, quelle approche utilisez-vous ?
Plutôt Tools on Demand ou Schema Dump ?
👇 Partagez votre expérience en commentaire :
- Avez-vous testé les deux approches ?
- Quels écarts de coûts avez-vous observés ?
Besoin d’aide ? N’hésitez pas à me contacter : pymecatech.com


Leave a Reply