L'alternative à AtScale où l'agent n'écrit jamais de SQL
SynaLemma répond aux questions sur vos données métier avec des règles prouvées avant exécution, puis compilées en SQL. L'agent n'écrit jamais de SQL, et la même question donne toujours le même SQL.
SynaLemma face à AtScale : principales différences
-
L'agent n'écrit jamais de SQL
L'agent écrit des règles, pas du SQL. Le moteur vérifie chaque règle, puis écrit un SQL qui ne fait que lire vos tables : ni SQL brut ni injection, c'est prouvé formellement.
-
Chaque règle prouvée avant de s'exécuter
Un vérificateur symbolique prouve que chaque règle est bien formée, sûre et qu'elle termine. Une règle invalide est refusée avec la raison, avant toute exécution SQL.
-
Des assertions qui désignent les lignes en défaut
Clés, références, totaux ou transitivité s'écrivent en logique du premier ordre. Le moteur parcourt toute la table et renvoie les lignes qui les mettent en défaut.
-
Des questions de graphe sur vos bases SQL
Hiérarchies, nomenclatures et chaînes d'approvisionnement sont des règles récursives, dont la terminaison est vérifiée, compilées en SQL sur PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB et SQLite. Ni base de graphe, ni migration.
-
Même question, même SQL
La même question compile toujours vers le même SQL, et chaque chiffre cite la règle dont il provient. Votre équipe peut lire, corriger ou verrouiller cette règle.
-
Souverain par construction, pas par contrat
Données, règles et modèle restent sur votre infrastructure. Le moteur compile le SQL : un petit modèle ouvert suffit, sans frais par token. Le moteur Synalog est open source, sous licence Apache-2.0.
Exemple : une requête récursive avec assertions
Une nomenclature à n'importe quelle profondeur, avec deux assertions. Les données contiennent un cycle ; le moteur le signale avant de renvoyer une réponse.
# La nomenclature, lue depuis la base de données.
Component(assembly:, part:, quantity:) :- bom(assembly:, part:, quantity:);
# Une pièce est dans un assemblage directement, ou dans l'une de ses pièces.
@Recursive(Contains, 20);
@Assert(Contains,
transitive: "∀ a b c, Contains a b → Contains b c → Contains a c",
no_cycle: "∀ a, ¬ Contains a a");
Contains(assembly:, part:) distinct :- Component(assembly:, part:);
Contains(assembly:, part:) distinct :-
Contains(assembly:, part: sub),
Component(assembly: sub, part:); SynaLemma face à AtScale en un coup d'œil
| Critère | SynaLemma | AtScale |
|---|---|---|
| Comment un agent répond | Il écrit une règle ; le moteur la prouve et compile le SQL | L'agent écrit un SELECT SQL et l'envoie au serveur MCP |
| Ce qui vérifie les définitions | Chaque règle prouvée bien formée, sûre et terminante avant exécution | Validation de la syntaxe SML et validateur de modèle de Design Center |
| Contrôles sur les données | Des assertions en logique du premier ordre qui renvoient les lignes en défaut | Contrôles intégrés des clés et des hiérarchies ; pas d'assertions écrites par l'utilisateur |
| Hiérarchies et chaînes à plusieurs étapes | Récursion native à toute profondeur, dont la terminaison est vérifiée | Hiérarchies à niveaux ; pas de parent-enfant dans la référence SML |
| Langage des définitions | Synalog, un langage logique open source doté d'un compilateur | SML, un format YAML, ou l'éditeur Design Center |
| Jointures | Toute jointure que la règle énonce, aussi loin que la question l'exige | Des jeux de faits vers les dimensions ; plusieurs-à-plusieurs par une table de liaison |
| Modèle de langage | Celui que vous choisissez : un petit modèle ouvert suffit, sans frais par token | Le modèle du client, comme ChatGPT, Claude ou Gemini |
| Déploiement | Sur site, sur votre infrastructure | Votre infrastructure : Kubernetes avec Helm, ou un installateur Linux |
Pourquoi chercher une alternative à AtScale
-
Du SQL écrit par l'agent
L'outil MCP run_query valide et exécute un SELECT que l'agent écrit à partir de la question (outils MCP).
-
Des hiérarchies à niveaux
Les hiérarchies SML sont des niveaux fixes, chacun subdivisant celui du dessus ; les chaînes parent-enfant récursives ne figurent pas dans la référence (dimensions SML).
-
Une validation, pas une preuve
La CLI SML contrôle la syntaxe et le validateur de modèle contrôle les clés et les hiérarchies ; aucune assertion sur les données écrite par l'utilisateur n'est documentée (SML).
Alternative à AtScale : FAQ
Quelle est la meilleure alternative à AtScale pour les agents IA ?
SynaLemma. L'agent écrit des règles au lieu de SQL, chaque règle est prouvée avant exécution, les assertions désignent les lignes en défaut et la récursion est native. Un petit modèle ouvert sur votre propre matériel suffit.
AtScale prend-il en charge les hiérarchies récursives ?
La référence SML ne décrit que des hiérarchies à niveaux. Dans Synalog, la récursion est native : un organigramme ou une nomenclature se suit à toute profondeur, et la terminaison est vérifiée.
Qui écrit le SQL quand un agent interroge AtScale ?
L'agent. Il écrit un SELECT SQL sur le modèle sémantique et l'envoie à l'outil run_query. Dans SynaLemma, l'agent écrit une règle qui est vérifiée, puis compilée en SQL par le moteur.
SynaLemma peut-il fonctionner avec un modèle local ?
Oui. Un petit modèle ouvert sur votre propre matériel suffit, car le moteur compile le SQL.
Sources
- SML sur GitHub
- Référence SML : dimensions
- Référence SML : modèles
- Documentation AtScale : référence des outils MCP
- Documentation AtScale : applications IA prises en charge
- Documentation AtScale : installation sur Kubernetes
- Synalog sur GitHub (Apache-2.0)
Vérifié dans la documentation publique de chaque produit à la date de revue. Pour signaler une erreur : contact@synalinks.com.
Autres comparaisons
Venez avec une question à laquelle vos outils actuels ne savent pas répondre.
En 30 minutes, nous vous montrons SynaLemma qui y répond, avec la règle derrière le chiffre et les vérifications qu'elle a passées.