Snowflake Cortex Analyst — NL-to-SQL
À jour au 2026-10-05
Qu'est-ce que Snowflake Cortex Analyst ?
Cortex Analyst échange un effort de configuration contre du déterminisme — un modèle sémantique YAML formel garantit que chaque question mappée à la même mesure produit toujours le même SQL, propriété de conformité en reporting réglementé.
De quoi il s'agit
Cortex Analyst est la capacité native de texte-vers-SQL de Snowflake (la documentation de Snowflake recommande désormais de passer à Cortex Agents, qui, selon elle, prend en charge toutes les capacités de Cortex Analyst avec une meilleure qualité de réponse), conçue pour que chaque question en langage naturel posée par un utilisateur métier se traduise en SQL via un modèle sémantique formellement rédigé plutôt que par une inférence libre du modèle de langage sous-jacent. Ce choix architectural unique — un modèle sémantique déclaré plutôt que des indices approximatifs — constitue à la fois la principale force de Cortex Analyst et la principale source de l'effort nécessaire pour le déployer correctement.
Pourquoi c'est important
- Contrairement aux hints libres de Genie, Cortex Analyst oblige l'auteur du modèle sémantique à déclarer à l'avance les formules d'agrégation et les chemins de jointure exacts.
- Ce déterminisme compte surtout pour le reporting finance/conformité réglementé, où la même question formulée différemment doit toujours retourner la même réponse.
- Le modèle sémantique lui-même est le goulot d'étranglement du déploiement — déclarer avec précision la formule de chaque mesure pour un jeu de données GL SAP répliqué est la partie difficile.
Points clés
- Cortex Analyst est le text-to-SQL natif de Snowflake : chaque question est traduite en SQL via un modèle sémantique formellement rédigé, pas par inférence libre du modèle.
- Le modèle sémantique (un fichier YAML ou un objet hébergé dans Snowflake) déclare les tables, les dimensions avec leurs libellés métier, les mesures et leurs règles d'agrégation.
- Il échange un effort de mise en place contre du déterminisme — la même question sur la même mesure produit toujours le même SQL, ce qui est une propriété de conformité en reporting réglementé.
- Budgéter la rédaction du modèle sémantique comme le coût principal du projet ; l'interface de requête elle-même est la partie bon marché.
- La spécification YAML du modèle sémantique est plafonnée à 1 Mo avec un plafond recommandé de 50 à 100 colonnes — prévoir des modèles cadrés par domaine plutôt qu'un fichier unique à l'échelle de l'entreprise.
- Snowflake déploie les « semantic views » comme objet de schéma natif, faisant évoluer le modèle sémantique vers un objet de base de données de première classe et versionnable plutôt qu'un téléversement YAML externe.
- Contrairement à la requête NL de Joule dans Datasphere, où le modèle d'entités et le modèle sémantique sont un seul et même artefact, le modèle sémantique de Cortex Analyst est un effort de construction séparé — le compromis est un modèle qui fonctionne sur n'importe quelle table Snowflake, d'origine SAP ou non.
- Exécuter SNOWFLAKE.CORTEX.VALIDATE_SEMANTIC_MODEL sur chaque modèle avant déploiement et soumettre toute modification à la même revue CI qu'une migration de schéma.
Termes employés sur cette page
- Modèle sémantique (Cortex Analyst)
- Un fichier YAML, plafonné à 1 Mo, déclarant tables, dimensions, mesures, formules d'agrégation et chemins de jointure — l'artefact contre lequel Cortex Analyst mappe chaque question en langage naturel.
- Semantic view
- La forme plus récente et native, en objet de schéma, du modèle sémantique de Snowflake, le faisant évoluer vers un objet de base de données versionnable et gouverné plutôt qu'un fichier YAML téléversé de l'extérieur.
- VALIDATE_SEMANTIC_MODEL
- Une fonction Snowflake Cortex qui vérifie un modèle sémantique YAML à la recherche de jointures cassées, de SQL invalide et d'erreurs structurelles avant déploiement — la porte recommandée avant lancement et en CI.
- Règle d'intelligence temporelle
- Une déclaration explicite dans le modèle sémantique associant les périodes fiscales (par ex. « T1 ») aux bonnes bornes de période comptable, plutôt que de recourir par défaut à une logique de mois calendaire pouvant diverger silencieusement d'un calendrier fiscal SAP.
- Déterminisme (NL-to-SQL)
- La propriété selon laquelle la même question métier, formulée différemment, produit toujours le même SQL et la même réponse — garantie par un modèle sémantique formellement déclaré plutôt que par une inférence libre du LLM.
- Filtre SCD au niveau ligne
- Un filtre déclaré (par ex. valid_to = '9999-12-31') qui indique au modèle sémantique quelles lignes d'une table à dimension à évolution lente comptent comme « courantes », évitant le double comptage sur des données maîtresses SAP répliquées.
Sources
- Snowflake — Cortex Analyst docs
- Snowflake Docs — Cortex Analyst semantic model specification
- Snowflake Quickstarts — Semantic file generation for Cortex Analyst
- Snowflake Developers — Getting Started with Cortex Analyst
- Snowflake Docs — YAML specification for semantic views
- Snowflake Docs — Snowflake AI (Cortex) pricing
- Snowflake docs — Semantic views overview (native schema object; usable with Cortex Analyst REST API and Cortex Agents)
- Snowflake release note 30 Sep 2026 — Semantic Studio (General availability)
- Snowflake docs — Cortex Analyst REST API (how semantic views/models are referenced in requests)
- Snowflake docs — Cortex Analyst routing mode (selecting among semantic models/views at query time)
- Snowflake docs — Semantic view verified query repository (verified queries to improve accuracy)
- Snowflake docs — Semantic View Autopilot (assisted semantic view generation)
- Snowflake docs — About SAP and Snowflake (zero-copy SAP connector; relevance to SAP-sourced semantic models)
- Snowflake release note 16 Sep 2026 — Cortex Agents object enhancements (GA)
Fiche complète réservée aux abonnés. Ce que la fiche complète ajoute : le cadre de décision complet · la comparaison SAP · Snowflake · Databricks · Fabric · les pièges courants et leur correctif · l'aide-mémoire · les schémas d'architecture · les blocs de code · les chiffres à citer.