Les 25 outils de Sentral¶
En bref
Sentral expose 25 outils à un agent IA. Ils sont organisés en étages : on demande d'abord où est l'information, puis on lit juste ce qu'il faut. Cette page les liste par domaine, avec ce dont chacun a besoin pour répondre — certains suffisent d'un simple clone du dépôt, d'autres exigent la base de données.
Comment lire ce tableau¶
La colonne « Besoin » dit ce qu'il faut avoir sous la main :
- fichier : l'outil lit un fichier versionné. Il répond dès le clone du dépôt — pas de base, pas de clé, pas de réseau ;
- fichier (dépôt voisin) : même chose, mais le fichier vit dans le dépôt de l'agent Sage de l'entreprise, que Sentral lit sans jamais y écrire. Sans ce dépôt à côté, l'outil ne répond pas ;
- PostgreSQL : l'outil interroge la base de Sentral, donc il faut l'avoir installée et avoir lancé l'ingestion.
La règle des étages
Ne lisez jamais avant d'avoir cherché. Un enchaînement type coûte environ 800 jetons :
chercher (search_docs), demander le plan (document_outline), lire une section
(read_document). Côté Sage, sage_find_table puis sage_describe_table puis
sage_columns filtré : environ 850 jetons pour aller d'un besoin métier aux trois
colonnes qui y répondent.
Recherche documentaire¶
| Outil | Rôle | Besoin |
|---|---|---|
list_projects |
inventaire des sources indexées : projets, types de documents, volumes, fraîcheur. À appeler une seule fois en début de tâche | PostgreSQL |
search_docs |
recherche hybride (plein texte et sémantique) dans toute la documentation interne ; renvoie des extraits cités avec l'identifiant du document. Filtres : projet, type de document, source, étiquette | PostgreSQL |
find_document |
retrouve des documents par leur titre, en recherche approximative | PostgreSQL |
document_outline |
plan d'un document : ses sections avec leur taille estimée. L'étape à privilégier avant de lire quoi que ce soit | PostgreSQL |
read_document |
lit un document, ou seulement une de ses sections. Sans section précisée, la réponse est tronquée au budget | PostgreSQL |
sentral_stats |
état du serveur : volumes indexés, recherche sémantique active ou non | PostgreSQL |
L'étiquette est un filtre multivalué porté par le document (un fonds Sage, un module, un
niveau de pertinence) : list_projects liste les étiquettes disponibles par source.
Plan comptable général¶
| Outil | Rôle | Besoin |
|---|---|---|
find_account |
trouve un compte par son numéro ou par ce qu'il enregistre (« TVA récupérable sur achats », « emprunt bancaire »). Réponse issue du registre des comptes, pas de la prose qui les illustre | PostgreSQL |
C'est l'outil à utiliser pour toute question « quel compte pour… ? ». Sa limite connue est documentée sur Sentral : il se trompe sur le vocabulaire courant, parce que le plan comptable nomme des catégories là où l'utilisateur nomme une chose.
Schéma Sage 100¶
| Outil | Rôle | Besoin |
|---|---|---|
sage_tables |
liste les tables du catalogue validé (périmètre restreint), avec domaine et rôle | fichier (dépôt voisin) |
sage_find_table |
trouve les tables correspondant à un besoin métier (« immobilisations », « écritures », « dépôts ») dans le schéma complet, pas seulement dans le catalogue validé. Réponse déterministe | fichier |
sage_describe_table |
fiche d'une table : rôle, colonnes clés, types, énumérations, clés, jointures possibles et règles associées. Hors catalogue validé, renvoie la structure brute, signalée comme telle | fichier |
sage_columns |
colonnes d'une table, filtrées par un mot (nom ou signification française) : type, signification, valeurs énumérées, domaine de validité | fichier |
sage_joins |
jointures documentées d'une table, éventuellement vers une table cible précise, avec leur cardinalité | fichier (dépôt voisin) |
Deux étages qu'il ne faut jamais confondre
Le catalogue validé couvre un petit nombre de tables avec leur métier : rôle, règles de filtrage, jointures validées, exemples SQL éprouvés. Le schéma complet couvre les 402 tables, mais seulement leur structure : aucune sémantique métier validée. Un outil qui répond depuis le second le dit dans sa réponse.
Sans filtre, sage_columns ne rend que les premières colonnes : une table Sage peut en porter
145.
Règles métier et contrat d'API¶
| Outil | Rôle | Besoin |
|---|---|---|
sage_rules |
règles métier Sage 100 correspondant à une recherche : pièges de filtrage, jointures composites, conventions. Les règles de terrain mesurées sont rendues en premier | fichier |
sage_sql_examples |
exemples SQL validés sur base réelle, correspondant à une intention (« chiffre d'affaires annuel », « factures impayées »). Point de départ à adapter, jamais à inventer | fichier (dépôt voisin) |
sage_metrics |
métriques canoniques (chiffre d'affaires, marges, encours…) : définition métier, expression de calcul et filtres obligatoires | fichier (dépôt voisin) |
find_endpoint |
catalogue des points d'entrée HTTP : le contrat publié de l'API SenSaaS et les routes extraites du code. Les deux origines sont distinguées | PostgreSQL |
Sur find_endpoint, la distinction est volontaire : le contrat dit ce que l'API promet, le
code ce qu'il expose, et un écart entre les deux est une information, pas un bug d'affichage.
Rapports comptables Sage¶
| Outil | Rôle | Besoin |
|---|---|---|
find_report |
quel état comptable Sage répond à une question métier : nom exact, chemin de menu, tables, et ce qu'il faut savoir avant de s'en servir. Réponses issues d'états réellement produits et confrontés | fichier |
read_report |
une section précise de la fiche d'un état : requête SQL, paramètres, pièges, résultat, colonnes, comportement, divergences, correspondance avec l'API | fichier |
Colonnage des listes Sage¶
| Outil | Rôle | Besoin |
|---|---|---|
colonnage_find |
où Sage enregistre le droit d'affichage d'une colonne de liste (Obligatoire / Disponible / Masquée) : table SQL, colonne du droit, colonne et valeur de l'identifiant, et la requête à écrire. Chercher par libellé tel qu'il apparaît à l'écran | fichier |
colonnage_liste |
les colonnes d'une liste et leurs droits, filtrables par libellé et par type de document | fichier |
L'API et Sage peuvent diverger
La dernière mesure du laboratoire colonnage a relevé 196 créneaux où l'API SenSaaS et le serveur Sage ne disent pas la même chose, uniquement entre « Disponible » et « Masquée ». Comme le nombre de colonnes obligatoires est identique de part et d'autre, aucun contrôle de longueur ne trahit l'écart. La conséquence est écrite dans la réponse des deux outils : l'affichage doit lire l'instance que Sage sert.
Sans filtre, colonnage_liste ne rend que les premières colonnes : une liste peut en porter
133.
Base d'assistance Sage France¶
| Outil | Rôle | Besoin |
|---|---|---|
sage_kb_find |
quel(s) article(s) répondent à une question sur Sage 100, la Paie, Génération Experts, les États Comptables et Fiscaux. Filtres : pertinence (développeur / fonctionnel / interface) et fonds | fichier |
sage_kb_read |
le contenu d'un article, par identifiant ou par titre ; une seule section si on la précise. Le texte est tronqué à 12 000 caractères, et la réponse le dit quand elle tronque | fichier |
Ces 6 220 articles sont servis par un registre, pas par la recherche en prose : c'est un choix assumé, parce que la moitié « prose » du serveur n'a pas de banc de mesure. Droits d'usage : voir Les corpus.
Code source¶
| Outil | Rôle | Besoin |
|---|---|---|
list_repos |
inventaire des dépôts de code indexés : langages, nombre de symboles et de routes. À appeler avant de chercher du code | PostgreSQL |
find_symbol |
trouve une classe, fonction, méthode ou type dans tous les dépôts indexés. Renvoie l'emplacement exact (fichier et ligne) et la signature — sans lire les fichiers. Filtres : dépôt, nature, langage | PostgreSQL |
read_symbol |
lit le code source d'un symbole à sa position actuelle dans le dépôt | PostgreSQL |
Pourquoi des symboles plutôt que des numéros de ligne
Un pointeur « fichier, ligne 86 » périme au premier remaniement du code ; un nom qualifié
survit. Ces deux outils résolvent le symbole vers sa ligne courante à chaque appel —
c'est ce qui permet à la documentation de citer du code sans pourrir. Revers de la médaille :
si l'index n'est pas rafraîchi après un git pull, la citation est juste et le code renvoyé
est faux. Voir le cycle de mise à jour.
Questions fréquentes¶
Quels outils marchent sans installer PostgreSQL ?
Tous ceux marqués « fichier » : le schéma Sage, la base d'assistance Sage, le colonnage, les rapports comptables et les règles. C'est-à-dire la totalité des registres déterministes. Il manquera la recherche documentaire, la recherche de code, le catalogue des points d'entrée et le plan comptable.
Un agent peut-il n'avoir accès qu'à certains outils ?
Pas côté serveur : Sentral sert ses 25 outils à qui l'appelle. Le périmètre d'un agent tient entièrement dans le programme qui le pilote — liste blanche, arguments imposés, lecture bornée aux identifiants déjà vus. Voir Règles pour les agents.
Où sont les descriptions exactes lues par l'agent ?
Dans le code du serveur MCP. Elles sont librement éditables et c'est probablement le meilleur rapport effort / gain du dépôt : une description ambiguë coûte un appel inutile à chaque conversation.