Retour d’expérience
Développement en entreprise
à l’ère de l’IA
Ce qui change dans le travail.
Ce qui reste à apprendre.
Slides disponibles sur coyo.dev/#talks
Le contexte
Mon point de départ
Apprendre
Autodidacte et ancien étudiant d’IMT Atlantique.
IEEEXtreme 2011
5ᵉ place mondiale en équipe, en C++ · équipe 142857.
Construire
Pokémon Online, projets open source et SaaS avec Cap Financials.
En entreprise
Freelance, puis un an chez Zenika, puis Hugging Face depuis début 2022.
Le travail en entreprise
Une modification, de la demande à la production
Exemple fictif : « L’export CSV échoue sur un gros compte. »
01 · Cadrer
Slack pour discuter. Une issue pour garder le problème et les critères attendus.
02 · Proposer
Une branche Git, des commits et une pull request pour examiner le changement.
03 · Vérifier
Tests automatiques en CI et revue du code, puis fusion selon les règles du dépôt.
04 · Exploiter
Déploiement, surveillance des erreurs et possibilité de revenir en arrière.
Le travail en entreprise
La pull request est un travail collectif
L’auteur apporte le contexte
Quel problème ? Quel changement ? Quelles vérifications ?
Le reviewer examine le résultat
Comportement, cas limites, cohérence avec le reste du projet.
Exemple de description de PR
L’export chargeait tous les résultats en mémoire.
Il lit désormais les données par lots.
J’ai vérifié l’ordre des lignes et un export volumineux.
Un changement compréhensible réduit le travail demandé aux autres.
Le travail en entreprise
CI/CD : vérifier puis livrer
CI · Intégration continue
À chaque changement : compilation, analyse du code et tests automatisés.
Ce que les tests établissent
Le comportement vérifié par la suite de tests. Sa couverture reste à examiner.
CD · Livraison / déploiement
Préparer une version, la tester dans un environnement adapté, puis la mettre en service.
Après la mise en production
Observer les erreurs et les temps de réponse. Prévoir le retour arrière.
Ce qui change avec les agents
Depuis fin 2025, je construis avec les agents
moon-bot
Une plateforme d’agents pour les usages internes de l’équipe.
moon-ide
L’IDE développé avec les agents, que j’utilise au quotidien.
moon-git
Un service Rust pour soulager l’infrastructure Git du Hub.
L’IA produit le code. Ma manière de piloter dépend du projet.
Ce qui change avec les agents
Un agent peut agir sur le projet
Le modèle
Interprète la demande, propose une action, examine le résultat.
Les outils
Lire et modifier des fichiers, exécuter une commande, lancer les tests.
Le harnais
Le programme qui relie le modèle aux outils, conserve la session et contrôle les accès.
La vision ajoute les captures et les maquettes au contexte disponible.
Ce qui change avec les agents
Les usages qui m’aident le plus
Explorer et apprendre
Comprendre une base de code, découvrir une API, combler un manque de connaissances.
Adapter et migrer
Traductions, interfaces, portages et refactorings sur plusieurs fichiers.
Diagnostiquer et mesurer
Reproduire un bug, écrire un benchmark, comparer des solutions.
Tester
Préparer des tests, chercher les cas limites et vérifier le comportement attendu.
Un cas documenté
Asana : une migration de tests en deux semaines
D’Enzyme à React Testing Library
hors temps ingénieur
Un objectif vérifiable, des conventions et des tests déjà en place.
Ce qui devient réalisable
Davantage d’outils internes
Le coût de démarrage baisse.
Plus d’idées passent le seuil.
Une équipe gagne du temps
Tableau de bord, recherche dans les logs, automatisation d’une opération répétitive.
Un besoin ponctuel
Script de migration, export spécifique, prototype pour valider une idée.
Dès que des collègues en dépendent, il faut un responsable et de la maintenance.
Chez Hugging Face
moon-bot dans le travail de l’équipe
La conversation
Slack
GitHub
Une demande,
des échanges,
une réponse.
moon-bot
Modèle ↔ outils autorisés
Le harnais organise la session :
contexte, skills et droits d’accès.
Code
GitHub · recherche et PR
Logs
Elasticsearch
Données
MongoDB · DuckDB
Après un déploiement« Regarde ce qui s’est passé dans les dix dernières minutes. »
Schéma adapté de Quentin Lhoest · AI Agents at Every Scale · 23 septembre 2026
Cas concret · 9–22 septembre 2026
moon-git : du prompt au service en production
Un service Rust entièrement produit par l’IA.
Je ne maîtrise pas Rust et je ne relis pas ce code.
Une idée, nos besoins et des références techniques.
Un périmètre ciblé : un sidecar pour Gitaly.
Le service répond au trafic réel du Hub.
moon-git · le cadrage
Un sidecar adapté aux lectures du Hub
L’idée initiale
Construire une alternative à Gitaly.
Le périmètre déployé
Ajouter un service d’indexation à côté de Gitaly, qui reste la source Git.
Nos besoins précis
Lister les fichiers, retrouver leur dernier commit, connaître les tailles et les pointeurs LFS.
Pré-calculer les réponses fréquentes pour éviter des parcours Git répétés.
moon-git · le déploiement
Comparer en shadow, puis passer à on
Shadow · phase d’observation
Hub → Gitaly → utilisateur
moon-git reçoit aussi la requête.
On compare les réponses en arrière-plan.
On · mise en service
Hub → moon-git → utilisateur
Gitaly prend le relais si l’index ne peut pas répondre.
Les incidents de mise au point sont apparus pendant la phase shadow.
moon-git · la méthode
Les métriques donnent la prochaine tâche
Observer → demander à l’agent de creuser → corriger → mesurer
Mémoire · 18–19 sept.
OOM, puis fragmentation : mesurer les octets réellement utilisés et borner les allocations.
Travail en attente · 21 sept.
Les tâches s’accumulent : limiter aussi la file d’attente, pas seulement la concurrence.
Instances et déploiements
Corriger le choix du pod, les délais d’attente et l’arrêt propre du service.
Stockage · 21–22 sept.
Découper les transactions redb et réduire la durée des lectures qui retiennent les pages.
moon-git · bilan du 23 septembre
Moins d’appels, beaucoup moins de saturation
Deux fenêtres de 12 h, aux mêmes horaires, à une semaine d’intervalle.
ResourceExhausted
1 553 622 → 99 918
1,98 → 1,50 milliard
821 → 880 millions
Le service soulage l’existant à l’échelle du trafic réel.
moon-git · temps de réponse observés
Les requêtes les plus lentes s’améliorent
p99 : 99 % des requêtes terminent en dessous de ce temps.
| Route du Hub | Semaine précédente | Après bascule | Variation |
|---|---|---|---|
| Page des fichierstree · page web | 3 098 ms | 1 099 ms | −65 % |
| Page du dépôt | 1 008 ms | 324 ms | −68 % |
| API datasets | 1 122 ms | 421 ms | −62 % |
Les médianes changent peu. Les gains varient selon les routes et les quantiles.
moon-git · mon mode de travail
Je pilote le service par son comportement
Je regarde les métriques.
Quand il y a un problème,
je demande à l’agent de creuser.
Le code peut être imparfait
Un expert aurait peut-être mieux optimisé la première version.
L’itération devient facile
L’agent enquête, modifie et teste. Je regarde l’effet et je réoriente.
Une autre organisation du temps
Plusieurs tâches peuvent avancer en parallèle
Entre projets
Je lance une tâche depuis Slack ou GitHub, puis je reprends mon projet principal.
À mon retour
Je relis le résultat et je décide quoi intégrer.
Dans un même dépôt
Chaque tâche dispose de sa branche et de son répertoire de travail Git.
Avec les worktrees
Les modifications restent séparées pendant le travail. L’intégration reste à coordonner.
Le temps de revue et l’attention deviennent des ressources à répartir.
Les contraintes de production
Le cœur du produit reste exigeant
Revue et cohérence
Dans le Hub : relire l’intégration et respecter les conventions de l’équipe.
Sécurité
Limiter les accès des outils et garder une trace des actions.
Livraison
Conserver les tests, les règles de déploiement et la surveillance.
Responsabilité
Quelqu’un doit pouvoir expliquer, corriger et maintenir ce qui entre en production.
Le travail avec les autres
Ne pas slopper les autres
Écrire soi-même le contexte,
le pourquoi et les vérifications.
À éviter
Transmettre un pavé générique que personne n’a vraiment vérifié.
À apporter
Une description précise du problème, du changement et de ses limites.
La PR engage son auteur. Le temps de lecture des collègues compte.
Choisir ses modèles
Ouverture et hébergement : deux choix distincts
| Choix | Ce qu’il faut examiner |
|---|---|
| Modèle propriétaire par API | Service exploité par le fournisseur, conditions d’accès et d’usage. |
| Modèle à poids ouverts | Poids téléchargeables, licence et possibilités d’adaptation. |
| Hébergement interne ou externe | Qui traite les données et qui exploite le service ? |
L’accès aux poids ne suffit pas à rendre tout le système open source.
Choisir ses modèles
Les performances progressent, les mesures comptent
Stanford AI Index 2026 · synthèse
De 60 % à près de 100 %
en un an sur SWE-bench Verified
Ce que cela montre
Une progression rapide sur un ensemble de problèmes de code évalués.
Ce que cela ne mesure pas
L’ensemble du travail d’un développeur dans notre produit.
Choisir ses modèles
Servir un modèle sur son propre cluster
Le moteur d’inférence
Par exemple vLLM ou SGLang pour exposer le modèle comme un service.
Le dimensionnement
Mémoire GPU, taille du modèle, longueur du contexte et requêtes simultanées.
L’exploitation
Contrôle d’accès, supervision, mises à jour et capacité disponible.
Plus de contrôle sur le déploiement, avec une infrastructure à prendre en charge.
Ce que cela implique pour la formation
Les compétences informatiques se transfèrent
Décomposer
Formuler une tâche précise et expliciter ses contraintes.
Vérifier
Comparer des comportements, chercher un contre-exemple et interpréter des mesures.
Concevoir
Comprendre les interfaces, les données et les conséquences d’un choix.
Mon expérience : ces acquis m’aident à diriger l’agent et à reprendre la main.
Ce que cela implique pour la formation
Continuer à apprendre devient un choix explicite
Le risque
Obtenir le résultat en déléguant aussi l’effort qui aurait permis de comprendre.
L’enjeu
Garder des moments pour raisonner, écrire et déboguer sans tout confier à l’IA.
Étude randomisée · 52 développeurs
Apprentissage d’une bibliothèque Python avec ou sans assistance IA.
Scores plus faibles au quiz avec IA.
Pas de gain de temps significatif en moyenne.
Ce que cela implique pour la formation
Construire son propre harnais d’agent
S’inspirer d’OpenCode, de Codex ou de Mistral Vibe.
Suivre la boucle
Appel au modèle, appel d’outil, résultat, puis contexte du tour suivant.
Explorer les capacités
Fichiers, commandes, navigateur intégré, images…
Faire interagir les agents
Déléguer une tâche, échanger du contexte et réunir les résultats.
Utiliser le harnais
Demander à l’IA d’expliquer le code, d’afficher les fichiers et de créer des diagrammes HTML.
Faire générer le harnais, puis l’utiliser pour se familiariser avec son code.
L’IA en recherche · un exemple en mathématiques
Navier–Stokes : une résolution annoncée
Un exemple de recherche assistée : la preuve et sa formalisation Lean publiées le 8 septembre 2026.
Le problème du millénaire
Un fluide incompressible en trois dimensions peut-il développer une singularité ?
Le résultat annoncé
Une singularité en temps fini avec une force extérieure lisse, selon les variantes C et D de l’énoncé Clay.
La méthode
Des agents explorent en parallèle, puis la preuve est formalisée et vérifiée dans Lean.
Au 11 septembre : preuve publiée, problème encore classé « actif » sur le site Clay.
L’IA en recherche · résultats mathématiques
Découvrir, progresser, formaliser
Erdős n° 728 · janvier
Une résolution par GPT-5.2 Pro et Aristotle, avec une preuve Lean et une rédaction mathématique publiée.
Zêta de Riemann · août
Anthropic annonce une borne améliorée de 41,6 % à 67,2 % pour la proportion de zéros sur la droite critique. L’hypothèse reste ouverte.
Fermat · septembre
Anthropic annonce une formalisation complète dans Lean d’un théorème déjà démontré.
L’IA en recherche
Explorer vite, avec un vérificateur
L’IA explore les pistes. Un assistant de preuve contrôle les étapes formalisées.
Proposer
Chercher une démonstration, décomposer le problème, essayer des lemmes.
Vérifier
Soumettre la preuve à un outil formel, comme Lean dans les exemples précédents.
Recommencer
Exploiter les erreurs, corriger et explorer d’autres pistes.
Un retour vérifiable pour « galoper » dans la recherche.
Pour la discussion
Ce que je retiens aujourd’hui
Davantage de travaux deviennent réalisables.
Le résultat reste une responsabilité collective.
Comprendre et apprendre demandent
toujours un effort personnel.
Et dans deux ans ? La pratique continuera d’évoluer.
Eliott Coyac · @coyotte508 · Hugging Face
Slides disponibles sur coyo.dev/#talks