Connaissances
Data Product Builder : construire des produits de données avec votre agent de codage
Décrivez ce que vous voulez sous forme de Data Contract, puis demandez à votre agent de codage de le construire. Une implémentation en quelques minutes, parfaitement conforme à vos conventions et entièrement intégrée à Entropy Data.
Implémenter des produits de données à l’ère des agents de codage
Soyons honnêtes : aujourd’hui, les Data Engineers construisent leurs produits de données avec des agents de codage comme Claude Code, OpenAI Codex ou GitHub Copilot. L’agent écrit les modèles dbt, les tests, le workflow de CI. Il lui faut trois entrées, et toutes les trois peuvent être gérées depuis Entropy Data :
- Le Data Contract définit le quoi : le jeu de données que le produit de données doit livrer, spécifié du point de vue du Data Consumer.
- Le dépôt de skills définit le comment : les conventions, les templates et les règles de votre organisation pour construire des produits de données sur votre stack.
- La marketplace de données fournit les données de départ : les produits de données amont, les applications sources et les données externes que le nouveau produit de données consomme.
L’agent de codage combine ces trois éléments et implémente le produit de données en quelques minutes : un jeu de données, un projet dbt, un Databricks Asset Bundle, tout ce que votre stack exige, avec les tests, le workflow de déploiement, le data lineage et les métadonnées.
Cette page présente les trois briques de base (contrat, skills, marketplace) et la façon dont elles s’articulent dans le workflow de développement.
Le Data Contract définit le quoi
Un Data Contract décrit le produit de données attendu du point de vue du Data Consumer : le schéma avec ses types et sa sémantique, les règles de qualité, les garanties de fraîcheur, les SLA et les conditions d’utilisation. Il énonce ce que le produit de données doit livrer, ce qui en fait la spécification idéale pour un agent de codage.
Le workflow commence donc par le contrat, pas par le code ni par les données. Rédigez ou étendez d’abord le contrat ODCS, dans l’éditeur Entropy Data, avec notre template Excel ODCS, ou directement en YAML. Confiez-le ensuite à l’agent : il génère le pipeline de données, les tests, le workflow de CI et le câblage du data lineage qui le satisfont.
Pour finir, lancez datacontract test sur le résultat afin de vérifier que les données réelles correspondent bien à la spécification.
Nous utilisons le produit de données Shelf Warmers comme fil rouge sur cette page : la liste des articles en stock n’ayant enregistré aucune vente depuis six mois, sous la responsabilité de l’équipe fulfillment. Son contrat spécifie le SKU, le nom de l’article et l’horodatage de la dernière vente, avec un rafraîchissement quotidien.
Le dépôt de skills définit le comment
Un même contrat peut être implémenté de manières très différentes : conventions de nommage, couches de modèles, orchestration, déploiement, exigences de sécurité. Ce savoir est propre à chaque organisation et il vit dans un dépôt de skills : un dépôt Git contenant des skills (des instructions Markdown que l’agent charge pour une tâche précise), des templates de fichiers et des hooks de validation.
entropy-data/dataproduct-builder-dbt est la référence open source pour dbt. Forkez-le et encodez-y vos propres conventions : changez le nommage des couches de modèles, remplacez GitHub Actions par Airflow, ajoutez vos règles de lint internes, intégrez votre taxonomie PII, insérez des points de contrôle de gouvernance.
Le dépôt se branche sur l’agent de codage via son mécanisme de plugins, par exemple sous forme de plugin Claude Code, de plugin Codex, ou par le routage AGENTS.md. Une fois installé, l’agent sélectionne la skill adaptée à la tâche en cours et implémente le produit de données en quelques minutes, en parfait accord avec les règles et les conventions de votre entreprise.
Entropy Data fournit des dépôts de skills open source pour chaque stack :
- dataproduct-builder-dbt. dbt sur n’importe quel adaptateur : Snowflake, BigQuery, Databricks, Redshift, Postgres, DuckDB. GitHub Actions pour la CI. Intégration complète avec Entropy Data : ODPS, ODCS, data lineage OpenLineage et détection de dérive.
- dataproduct-builder-databricks. Databricks Asset Bundles avec les Lakeflow Spark Declarative Pipelines. Partage via Unity Catalog. Intégration complète avec Entropy Data.
- Snowflake Native Apps Framework. Bientôt disponible.
- AWS Glue. Bientôt disponible.
Les dépôts communautaires et sur mesure sont les bienvenus. Ouvrez une pull request sur le registre dataproduct-builders pour y référencer le vôtre.
La marketplace de données fournit les données de départ
Un produit de données part rarement de rien. Il consomme des données amont, et l’agent de codage trouve ces données dans la marketplace Entropy Data. Via la CLI Entropy Data, l’agent effectue sa recherche sur tout ce que la marketplace connaît :
- Les produits de données amont, avec leurs contrats, leur sémantique et leur historique de qualité.
- Les applications sources, les systèmes opérationnels derrière les produits de données alignés sur la source.
- Les données externes disponibles, issues de fournisseurs commerciaux ou de l’open data référencés dans la marketplace.
Shelf Warmers a besoin du catalogue d’articles à jour et des mouvements de stock ; l’agent lance donc
entropy-data search query "articles stock" -o json
L’agent lit les contrats et la sémantique des candidats et évalue leur pertinence pour le produit de données qu’il construit : les champs, les clés de jointure, les garanties de qualité et les conditions d’utilisation répondent-ils aux besoins ? Pour Shelf Warmers, il retient deux produits de données amont : Articles latest, de l’équipe produits, pour le catalogue d’articles, et Stock Update Events, de l’équipe fulfillment, pour les mouvements de stock. Tous deux deviennent des Input Ports du nouveau produit de données (models/input_ports/*.odcs.yaml dans la structure de référence dbt), si bien que le data lineage est câblé dès le premier commit.
Lorsque l’accès à une source est restreint, l’agent va plus loin : il demande l’accès au nom du nouveau produit de données consommateur, justification métier à l’appui. Pour Shelf Warmers, il s’agit d’une demande d’accès à l’Output Port Articles latest, avec pour finalité « identifier les articles en stock sans aucune vente depuis six mois ». Le Data Product Owner voit la demande dans Entropy Data et l’approuve, ou bien une règle de gouvernance l’approuve automatiquement selon les paramètres du produit de données et son profil de classification.
Sous le capot
CLI Entropy Data
La CLI Entropy Data fait le pont entre votre dépôt local et la plateforme Entropy Data. Elle se connecte à Entropy Data pour découvrir les produits de données amont dans la marketplace, récupérer leurs contrats et leur sémantique afin de comprendre les clés de jointure et la définition des champs, mettre à jour les métadonnées et le data lineage de votre produit de données, et publier les résultats des tests de contrat. Installez-la une fois par dépôt, autorisez-la avec une clé d’API, et les skills de synchronisation et de publication l’utiliseront automatiquement.
Nous avons préféré la CLI à MCP : elle consomme moins de tokens et se met en place plus simplement.
Le cadrage dans Entropy Data
Un dépôt Data Product Builder est enregistré comme builder dans Entropy Data, sous Governance → Data Product Builders. C’est dans le builder que les Data Engineers définissent l’expérience proposée aux équipes qui l’utiliseront :
- Des instructions d’installation pour les agents de codage pris en charge par le template (Claude Code, OpenAI Codex, GitHub Copilot CLI). Les commandes d’installation sont générées à partir de l’URL du dépôt.
- Des prompts d’utilisation, déclinés selon l’étape du cycle de vie. Un produit de données en
draftreçoit un prompt d’amorçage ; un produitactivereçoit des prompts d’évolution et de test.
Entropy Data pilote aussi la visibilité : selon l’archétype du produit de données, l’équipe propriétaire, les tags et le statut, les équipes voient des plugins Data Product Builder différents. Une équipe qui construit un produit aligné sur le consommateur sur Databricks voit un builder optimisé pour Databricks. Une autre, qui construit un produit aligné sur la source sur Snowflake, voit un builder Snowflake. Chaque équipe travaille avec le builder qui correspond à sa stack et à ses conventions.
Exemples de skills
Une skill est un fichier Markdown que l’agent charge quand la tâche correspondante se présente. Les sept skills ci-dessous sont celles livrées par le dépôt de skills dbt de référence (entropy-data/dataproduct-builder-dbt) ; votre fork peut en ajouter, en retirer ou en remplacer.
- datacontract-edit modifie le contrat d’un Output Port à partir d’une instruction en langage naturel. Le contrat reste le point d’entrée.
- dataproduct-bootstrap génère le squelette d’un nouveau projet dbt :
dbt_project.yml, la structure de modèles à quatre couches, le README,profiles.yml.example. - dataproduct-implement lit les contrats d’entrée et de sortie et écrit les modèles dbt qui les satisfont.
- datacontract-test exécute
datacontract testsur les données réelles et remonte les résultats de schéma et de qualité. - dataproduct-exampledata extrait des lignes d’exemple, supprime les colonnes signalées comme PII dans le contrat et envoie l’échantillon nettoyé vers Entropy Data.
- entropy-data-sync reprend un projet dbt existant, l’aligne sur la structure de référence, met en place le workflow de déploiement et synchronise les métadonnées ODPS, ODCS et de data lineage.
- entropy-data-teams liste les équipes configurées dans votre tenant pour que l’agent puisse demander à l’utilisateur de choisir un owner.
Pour la structure du projet dbt obtenu et le rôle de chaque composant, voir Construire des produits de données avec dbt.
Agents de codage pris en charge
- Claude Code
- OpenAI Codex
- GitHub Copilot CLI
- Cursor, Aider et tout autre agent qui lit
AGENTS.md(ou qui exploite directement le dossierskills/)
Les commandes d’installation exactes pour votre produit de données, avec l’URL de votre dépôt préremplie, sont affichées dans l’onglet Builder.
Mise en place
Deux étapes à faire une seule fois par dépôt : installer le plugin et connecter la CLI.
claude plugin marketplace add https://github.com/entropy-data/dataproduct-builder-dbt
claude plugin install dataproduct-builder-dbt@dataproduct-builder-dbt -s project
uv tool install --upgrade entropy-data
entropy-data connection add default --api-key <your-api-key> --host <your-entropy-data-host>
Générez la clé d’API sous Organization Settings → API Keys. Pour la CI, utilisez une clé à portée équipe ou organisation, stockée comme secret du dépôt. L’onglet Builder fournit les deux commandes avec le host et la clé préremplis.
Entropy Data
Entropy Data est une marketplace de produits de données gouvernés par des Data Contracts. Le Data Product Builder boucle la boucle entre le contrat et son implémentation : modifiez le contrat dans la marketplace, passez le prompt à votre agent, et le produit de données est livré avec ses Output Ports, ses tests, son data lineage et ses métadonnées déjà câblés.
Le produit de données que l’agent construit ne se limite pas à du code dans un dépôt. Il apparaît entièrement câblé dans Entropy Data :
- Référencement dans la marketplace : Shelf Warmers est découvrable avec sa finalité, son équipe propriétaire, ses Output Ports et ses conditions d’utilisation, par les humains comme par les agents IA.
- Data lineage : d’Articles latest et Stock Update Events jusqu’à l’Output Port en passant par les modèles dbt, publié via OpenLineage à chaque exécution.
- Résultats des tests de contrat : chaque exécution de
datacontract testest remontée, de sorte que les consommateurs voient d’un coup d’œil que le produit tient ses promesses. - Détection de dérive : Entropy Data signale les écarts entre l’implémentation réelle et le contrat.
- Gestion des accès : les consommateurs demandent l’accès à l’Output Port, et les approbations peuvent provisionner les rôles sur la plateforme de données.
- Données d’exemple : des lignes d’échantillon expurgées des PII permettent aux consommateurs d’évaluer le produit avant de demander l’accès.
Commencez gratuitement, parcourez la démo, ou lisez la documentation du Data Product Builder.