J’ai passé l’essentiel de ma carrière d’ingénieur logiciel à faire tourner la machine, en déployant et en exploitant des logiciels, ou à créer des logiciels pour le faire à ma place.

À mon arrivée chez OpenAI, je travaillais dans l’équipe d’infrastructure cloud, où je mettais en place de nouveaux clusters Kubernetes pour les équipes applicatives. Je passais une semaine à préparer un lot de clusters, en résolvant des problèmes de liaisons privées, de quotas et de Terraform. Dès que ces clusters étaient prêts, je passais au lot suivant.
J’ai ensuite rejoint l’équipe API pour exécuter des évaluations sur nos derniers modèles. Je résolvais des problèmes liés aux évaluateurs, aux quotas, à la configuration et à PyTorch. Une fois les évaluations exécutées avec succès et le modèle lancé, je recommençais avec le suivant.
Aujourd’hui, j’utilise Codex pour m’aider dans ce travail répétitif. Je crée toujours des logiciels, ou plus exactement, Codex m’aide à les créer. Mais au lieu de concevoir une automatisation distincte pour chaque tâche, je développe Runme pour :
- Rassembler et organiser les éléments de contexte d’un workflow.
- Maintenir les contrôles de révision et d’approbation appropriés.
- Améliorer les prochaines exécutions de Codex grâce aux enseignements des précédentes.
Exécuter des évaluations avec Codex
Chez OpenAI, nous exécutons des évaluations lors du lancement de nouveaux modèles et de nouvelles fonctionnalités pour vérifier qu’ils fonctionnent comme prévu. Pour lancer une évaluation, je crée un notebook Runme et j’y décris brièvement l’objectif :
# Goal: Run the evaluation against the current model
- Review a previous run to understand the workflow.
- Write a detailed plan in this notebook.
- Wait for me to review and approve the plan before beginning.
- Document the commands you run, their output, and how you interpret the results.
Je demande ensuite à Codex de prendre cette cellule du notebook comme objectif :
Read the goal cell in the Runme notebook open in the browser. Treat it as the
goal, write your plan in the notebook, and wait for my approval before starting.
Codex lit le notebook et le met à jour au fil du travail. Quand le plan est prêt, je l’examine et le modifie si nécessaire. Souvent, mon intervention est surtout utile pour aider Codex à choisir entre plusieurs options : quel système d’évaluation utiliser, faut-il provisionner une nouvelle infrastructure ou les ressources existantes suffiront-elles ?
Pendant que Codex travaille, je suis sa progression, parfois depuis mon téléphone, et je lui donne de temps en temps un coup de pouce lorsqu’il bloque. Par exemple, si un environnement de développement ne peut pas être provisionné parce qu’un quota est épuisé, je peux lui suggérer de réutiliser un environnement existant ou de chercher une autre option approuvée.
J’obtiens ainsi un notebook qui documente les étapes nécessaires à la réalisation de la tâche, ainsi que les impasses rencontrées. Avant de terminer, je travaille avec Codex pour consigner les décisions qui, autrement, se perdraient dans la conversation : pourquoi telle option a été retenue, quelle approche privilégier désormais et ce qu’il faudrait faire différemment la prochaine fois.

Collaborer avec Codex sur des notebooks
Le projet Runme est une application web open source permettant de créer des notebooks avec Codex. Comme Jupyter et Colab, il prend en charge Markdown, les cellules de code et HTML. On peut ainsi créer des documents qui réunissent instructions, commandes, résultats, tableaux et graphiques.
Les notebooks peuvent être enregistrés directement dans Google Drive. Les personnes avec qui je travaille disposent ainsi d’un moyen familier de retrouver et de partager les documents produits, sans ajouter un nouvel espace de stockage documentaire.
Pour chaque notebook, Runme crée aussi un fichier d’index Markdown associé, nommé *.index.md. Google Drive peut indexer ce fichier, ce qui permet à un agent de retrouver plus facilement les notebooks précédents lorsqu’il a besoin d’exemples, de contexte opérationnel ou du résultat d’une exécution antérieure.
Les agents interagissent avec Runme via WebMCP. Au chargement, l’application enregistre des outils côté navigateur qu’un agent peut utiliser pour :
- Lire les instructions d’utilisation de Runme et de ses notebooks.
- Exécuter des programmes JavaScript au périmètre limité pour lire ou mettre à jour le contenu des notebooks.
- Lire la documentation de l’application.
Cette architecture a son importance, car Runme est une application côté client servie sous forme de site web statique. Ajouter un serveur uniquement pour exposer un point de terminaison MCP classique nécessiterait une infrastructure supplémentaire, compliquerait l’exploitation et changerait le lieu de traitement des données des notebooks. WebMCP permet à l’application d’exposer ses capacités directement depuis le navigateur.
Rassembler et organiser le contexte utile
Chaque évaluation est l’occasion de documenter la manière dont le travail a été réalisé et de faciliter l’exécution suivante. À mesure que le workflow s’améliore, il produit un contexte plus utile. Ce contexte aide à son tour Codex à traiter plus efficacement la prochaine version de la tâche.
Une grande partie des informations qui pourraient aider un agent existe déjà dans le travail quotidien, mais elle est dispersée entre l’historique du terminal, Slack, les procédures d’exploitation, les documents et les tableaux de bord. Le plus difficile n’est pas de prouver l’utilité de la documentation, mais de réduire suffisamment l’effort nécessaire pour pouvoir la rédiger au fil du travail.
Runme réunit l’intention, les actions, les décisions et les résultats dans un même document. Un objectif persistant permet à Codex de rester concentré sur la tâche, tandis que la révision automatique des demandes d’approbation peut examiner les actions admissibles sans modifier les limites des permissions existantes.
C’est toujours moi qui décide quand un plan est prêt et quand un choix important nécessite un jugement humain. Codex se charge de l’exécution répétitive et consigne ce qui s’est passé avec plus de détails que je ne l’aurais fait moi-même. Comme le notebook obtenu est facile à partager, ces connaissances pratiques n’ont plus à rester enfermées dans l’historique de conversation d’une seule personne.
Retrouver du temps pour vivre
J’ai passé une grande partie de ma carrière à chercher les formules magiques qui font obéir des machines capricieuses. L’infrastructure cloud et Kubernetes étaient censés faciliter le déploiement et l’exploitation des logiciels. Mais nous avons aussi hérité d’un écosystème d’outils tentaculaire, que le panorama de la CNCF illustre bien. Résoudre un problème en crée souvent un autre : choisir, apprendre à utiliser et exploiter les outils nécessaires pour le résoudre.
Ce qui m’attire dans Codex, c’est qu’il peut m’aider dans ce travail d’exploitation répétitif tout en me laissant prendre part aux décisions qui comptent.
J’espère récupérer un peu de ce temps de vie et le passer à jouer avec mes chiens.