Comment S&P Global Energy a utilisé les agents Genie de Databricks et FastMCP pour transformer des données structurées complexes en points de terminaison d'AI conversationnelle
• Les experts du domaine gèrent des agents Genie ciblés par groupe de jeux de données sans écrire de code d'agent, établissant ainsi une couche sémantique gouvernée.
• Les agents Genie agissent comme des serveurs MCP gérés qui sont assemblés via un proxy FastMCP en points de terminaison composites pour les requêtes inter-domaines.
• Cette architecture a considérablement réduit le délai de mise sur le marché pour les produits de données conversationnels tout en préservant la gouvernance de Unity Catalog.
L'objectif de S&P Global était d'améliorer fondamentalement la façon dont les clients découvrent et consomment les insights à travers nos produits de données et de recherche. Bien que la recherche et la synthèse basées sur l'AI soient importantes, la valeur commerciale la plus importante provient de la prise de décision plus rapide grâce à un accès en langage naturel à des données fiables, à des analyses multi-produits plus riches et à la capacité de connecter des insights qui existent traditionnellement dans des secteurs d'activité distincts. Les agents AI aident les clients à découvrir des relations, à générer des recherches mais aussi à tirer des informations exploitables d'un ensemble d'informations plus large qu'auparavant. —Priyanka John, Vice-présidente, S&P Global Energy
Si vous avez déjà essayé de mettre un patrimoine de données structurées vaste et complexe à la disposition d'agents et d'assistants AI, vous vous êtes probablement heurté au même mur que nous : les agents ne valent que par le contexte auquel ils ont accès, et les données d'entreprise vivent rarement dans un seul endroit propre et bien documenté.
Chez S&P Global Energy, nos données couvrent la chimie, le pétrole brut, les produits raffinés, le gaz et l'électricité, le gaz naturel liquéfié (LNG) et plus encore — et chaque matière première est elle-même une riche famille d'ensembles de données. Le LNG seul comprend les spécifications des installations, les cargaisons, les pannes, les fondamentaux de l'offre et de la demande, les netbacks, les prix historiques et prévisionnels, ainsi que les contrats. La chimie englobe la capacité, la production, l'utilisation, le commerce, la demande par utilisation finale et par dérivé, la variation des stocks et les bilans offre-demande au niveau des pays et des régions. Nos autres matières premières suivent des schémas similaires. Ces données résident sur Databricks et plusieurs sources non-Databricks.
Notre objectif était ambitieux mais simple à énoncer : rendre l'ensemble de notre patrimoine de données structurées disponible pour une consommation externe par des agents AI via le Model Context Protocol (MCP) — afin que les agents et assistants de nos clients, ainsi que les nôtres, puissent poser des questions en langage naturel et obtenir des réponses fiables et gouvernées.
Nous avons évalué plusieurs approches. Ce qui a le mieux fonctionné pour nous, et de loin, ce sont les Databricks Genie Agents, exposés sous forme de serveurs MCP managés, assemblés en bundles spécifiques à un domaine avec une couche proxy MCP.
Dans cet article, vous découvrirez :
Les agents Genie permettent à nos experts métier de valoriser directement leur connaissance des données sous forme de produit. Ce qui nécessitait auparavant un cycle de développement complet ne prend désormais que quelques jours, et chaque réponse reste dans nos limites de gouvernance. —Priyanka John, Vice-présidente, S&P Global Energy
Les grands modèles de langage sont remarquablement doués pour la conversation et le raisonnement, mais ils ne peuvent pas répondre aux questions sur vos données à moins que vous ne construisiez un pont vers celles-ci. Pour les données d'entreprise structurées, ce pont a historiquement pris l'une des formes suivantes :
Chacune de ces approches partage le même problème : les personnes qui comprennent le mieux les données — nos SME et nos analystes — ne sont pas celles qui construisent la couche d'accès. Chaque insight devait passer par un backlog d'ingénierie. Notre délai de mise sur le marché pour une nouvelle expérience de données conversationnelle se mesurait en mois.
Nous avions besoin d'une approche où les experts métier pouvaient concevoir et publier directement un accès conversationnel aux données, où l'ingénierie pouvait standardiser la connexion des agents, et où la gouvernance restait centralisée. C'est exactement ce que les agents Genie associés au MCP nous ont apporté.

Notre architecture comporte trois couches, et chaque couche est détenue par les personnes les plus qualifiées pour s'en occuper. Le diagramme ci-dessus montre le flux de bout en bout — y compris ce qui se trouve à l'intérieur du réseau de S&P Global Energy et ce qui se trouve dans l'environnement client externe.
C'est là que la magie opère, et notamment, cela ne nécessite aucun code.
Nos SME commencent par sélectionner les tables pertinentes pour un domaine d'activité :
Ils regroupent ensuite les tables associées et créent un agent Genie par groupe d'ensembles de données — et non un seul agent géant par matière première. Chaque sous-catégorie d'une matière première devient son propre agent Genie ciblé. Au sein du LNG, par exemple :
Toutes les autres matières premières suivent le même schéma avec leurs propres sous-catégories. La chimie, par exemple, dispose d'agents Genie au niveau du groupe pour la capacité, la production, l'utilisation des capacités, le commerce, la demande par utilisation finale et par dérivé, la variation des stocks et les bilans offre-demande au niveau des pays et des régions ; le pétrole brut, les produits raffinés ainsi que le gaz et l'électricité sont organisés de manière similaire. Le résultat est une flotte de petits agents Genie aux contours bien définis, plutôt qu'une poignée d'outils AI déconnectés et tentaculaires.
Au sein de chaque agent, les SME ajoutent le contexte qui permet au text-to-SQL de fonctionner réellement dans le monde réel : des descriptions de tables et de colonnes, des exemples de requêtes, des actifs de confiance pour les métriques à enjeux élevés et des définitions métier (par exemple, « le stockage flottant est défini comme des cargaisons en attente pendant 3 jours ou plus dans des navires naviguant en dessous d'une vitesse seuil »). C'est l'étape que les solutions text-to-SQL génériques ignorent — et c'est l'étape qui détermine si les utilisateurs font confiance aux réponses.
L'enseignement clé au niveau de l'organisation : la curation est devenue une activité métier, et non une activité d'ingénierie. La personne qui sait ce que signifie « stockage flottant » dans le contexte du LNG est celle qui l'enseigne à un Genie.
C'est là que Databricks a fait le plus gros du travail pour nous. Chaque agent Genie est exposé par défaut comme un serveur MCP géré par Databricks, au niveau d'un point de terminaison de la forme :
https://<workspace-hostname>/api/2.0/mcp/genie/{genie_space_id}
Il n'y a rien à déployer ni à héberger. Chaque serveur expose une interface d'outils restreinte et claire — essentiellement deux outils par agent :
Ce modèle à deux outils de type « poser une question puis interroger » s'avère parfaitement adapté aux charges de travail agentiques : les questions s'exécutent de manière asynchrone sur un SQL warehouse, et l'agent interroge l'API avec l'identifiant de conversation et de message renvoyé par l'outil de requête jusqu'à ce que la réponse soit prête.
Tout aussi important, ces serveurs gérés sont gouvernés par Unity Catalog. Un agent Genie — ou l'utilisateur qui l'utilise — ne peut accéder qu'aux agents et aux tables sous-jacentes qu'il est autorisé à voir. L'authentification est gérée par la plateforme. Nous n'avons pas eu à créer de couche de sécurité autour de notre accès à l'IA ; nous avons hérité de celle que nous avions déjà.
Un agent Genie par groupe de jeux de données permet à chaque agent de rester ciblé et précis. Mais les questions métier réelles traversent régulièrement les groupes : « Comment les récentes pannes à Sabine Pass ont-elles affecté les primes de cargaison vers l'Asie ? » touche à la fois les agents Genie Outages et Cargo, et les questions multi-produits comme « Comment les prix du naphta affectent-ils les marges de production de produits chimiques ? » font appel aux agents Genie Refined Products et Chemicals.
Plutôt que de créer un seul agent géant (ce qui dégrade la qualité des réponses) ou de forcer chaque client à configurer une douzaine de serveurs distincts, nous avons utilisé les capacités de proxy et de composition de FastMCP pour créer des points de terminaison MCP composites — généralement un par matière première, en montant les serveurs MCP Genie de niveau groupe de cette matière première derrière un seul serveur avec des outils dotés d'un espace de noms. Les composites de niveau supérieur peuvent regrouper plusieurs matières premières de la même manière :
from fastmcp import FastMCP
# Each group-level Genie Agent is a managed MCP server on Databricks cargo = FastMCP.as_proxy(genie_mcp_config(“lng_cargo_agent_id”), name=“cargo”) outages = FastMCP.as_proxy(genie_mcp_config(“lng_outages_agent_id”), name=“outages”) netbacks = FastMCP.as_proxy(genie_mcp_config(“lng_netbacks_agent_id”), name=“netbacks”)
# Compose the group Genies into one commodity bundle lng = FastMCP(name=“lng-composite”) lng.mount(cargo, prefix=“cargo”)lng.mount(outages, prefix=“outages”)lng.mount(netbacks, prefix=“netbacks”)
# The same pattern repeats for Chemicals, Crude Oil, Refined Products, Coal …
(Extrait illustratif — à adapter à votre version de FastMCP et à votre configuration d'authentification.)
Résultat : un agent se connecte à un seul point de terminaison composite par matière première et voit un ensemble d'outils de groupe sélectionnés — cargo_genie_query_agent, outages_genie_query_agent, netbacks_genie_query_agent, etc., chacun étant associé à son pendant genie_poll_response. L'LLM de l'agent décide vers quel groupe Genie orienter une question, ou distribue une question multi-groupes vers plusieurs d'entre eux, puis synthétise les résultats.
Cela nous a permis de bénéficier du meilleur des deux mondes : des agents Genie de niveau groupe précis et très ciblés à la base, et un accès conversationnel large à l'échelle des matières premières et de l'ensemble du patrimoine de données au sommet.
Pour nos parties prenantes métier, les détails techniques ci-dessus se traduisent par quelques résultats très concrets.
Le time-to-market s'est effondré. Auparavant, la mise en place d'une nouvelle expérience de données conversationnelle impliquait un cycle de développement complet : spécifications, conception de l'API, ingénierie text-to-SQL, tests, déploiement. Avec cette architecture, le lancement d'un nouveau groupe de jeux de données — ou d'une matière première entière — signifie qu'un SME crée et organise les agents Genie correspondants — le point de terminaison MCP existe dès que l'agent est créé.
Les SME sont devenus des éditeurs, et non plus des demandeurs. Les experts du domaine qui comprennent les cargaisons de LNG ou les équilibres offre-demande de produits chimiques ne créent plus de tickets pour exposer leurs données ; ils préparent un agent Genie et celui-ci est opérationnel. L'effort d'ingénierie est passé de la création de couches d'accès sur mesure à la maintenance d'une couche de proxy légère et réutilisable.
La gouvernance est intégrée par défaut. Chaque question posée par un agent passe par les autorisations de Unity Catalog, sur des tables gouvernées (natives ou fédérées), avec une auditabilité totale. Rendre les données disponibles pour l'IA ne signifiait pas les rendre disponibles en dehors de nos contrôles.
Un seul modèle d'intégration, de nombreux consommateurs — à l'intérieur comme à l'extérieur de l'entreprise. Comme MCP est un standard ouvert, les mêmes points de terminaison composites servent nos agents internes, nos expériences d'IA destinées aux clients et, surtout, nos clients externes, qui peuvent connecter leurs propres agents et assistants compatibles MCP directement aux données gouvernées de S&P Global Energy. Nous avons construit le pont une fois ; chaque client MCP, interne ou externe, peut l'emprunter.
La qualité des réponses est mesurable et le reste. Dans un domaine où les données de tarification, d'approvisionnement et de contrats guident des décisions réelles, les utilisateurs doivent pouvoir faire confiance à chaque réponse et calcul. Les benchmarks d'agent Genie offrent à nos SME un moyen intégré de définir des questions de test qui reflètent la façon dont les utilisateurs posent réellement leurs questions (y compris plusieurs formulations d'une même question) et d'évaluer automatiquement la précision de l'agent par rapport à des réponses vérifiées. Tout aussi important, les benchmarks peuvent être réexécutés après toute modification des instructions, des données ou de la logique métier, de sorte que la précision soit maintenue dans le temps. Le résultat est une boucle de qualité continue et efficace : organiser, évaluer, améliorer et réévaluer pour garantir que nos agents restent précis à mesure que nos données et les questions de nos clients évoluent.
Quelques enseignements pratiques de notre parcours, pour les équipes qui envisagent une voie similaire :
Notre objectif était de rendre l'ensemble de notre patrimoine de données structurées — couvrant le LNG, les produits chimiques, le pétrole brut, les produits raffinés, le gaz et l'électricité, etc. — disponible pour les agents d'IA : de manière sécurisée, précise et rapide. Avec les agents Genie de Databricks comme couche sémantique préparée par les SME, les serveurs MCP gérés comme contrat d'intégration sans déploiement, et un proxy FastMCP pour la composition multi-domaines, c'est exactement ce que nous avons accompli :
Le changement le plus profond est cependant d'ordre organisationnel : les personnes qui comprennent les données sont désormais celles qui en publient l'accès. C'est cela, plus que n'importe quelle technologie, qui a transformé nos données structurées d'un élément que les utilisateurs interrogent en un élément avec lequel ils peuvent simplement dialoguer.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.