← Derniers articles
💻 computer science

Jas: AI-Paired Engineering as a Revival of N-Version Programming

Cet article présente une étude de cas démontrant que l'ingénierie couplée à l'IA, lorsqu'elle est ancrée par une spécification exécutable précise et validée par des implémentations parallèles en N-versions, permet à un développateur unique de produire cinq ports logiciels distincts en environ 120 heures, réactivant ainsi la méthodologie de programmation en N-versions des années 1980 qui était devenue trop coûteuse.

Auteurs originaux : Jason Hickey

Publié 2026-06-09
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Jason Hickey

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous vouliez construire cinq versions différentes d'une application de dessin complexe et haut de gamme (comme un mini-Adobe Illustrator). Dans l'ancien temps, cela reviendrait à embaucher cinq architectes de génie différents, parlant chacun une langue différente, pour concevoir la même maison. Cela prendrait des années et coûterait une fortune.

Jason Hickey, un développeur solitaire, a fait quelque chose de différent. Il a construit cinq versions fonctionnelles de cette application (pour Rust, Swift, OCaml, Python et un navigateur web) en seulement sept semaines, en travaillant uniquement le soir. Il n'a pas embauché une équipe ; il a utilisé l'IA comme partenaire.

Voici comment il a procédé, expliqué simplement :

1. Le « Plan Directeur » (La Spécification Exécutable)

Habituellement, lorsque vous construisez un logiciel pour différentes plateformes, vous devez écrire les règles de l'application de zéro, cinq fois de suite. Si vous voulez modifier le fonctionnement d'un sélecteur de couleurs, vous devez mettre à jour cinq bases de code différentes.

Hickey a fait l'inverse. Il a écrit un seul « Plan Directeur » (un document de 23 000 lignes écrit dans un langage appelé YAML).

  • L'analogie : Considérez ce plan non pas comme un PDF statique, mais comme une recette vivante. Il ne dit pas seulement « faites un bouton rouge » ; il dit : « Voici exactement comment le bouton apparaît, comment il réagit quand on clique dessus, et ce qui se passe ensuite. »
  • La magie : Ce plan est « exécutable ». L'ordinateur lit cette recette unique et construit automatiquement l'interface utilisateur pour les cinq applications différentes. Si Hickey veut changer une règle, il la modifie à un seul endroit, et cela met instantanément à jour les cinq applications.

2. Le « Dragon à Cinq Têtes » (La Programmation N-Version)

Dans les années 1980, les ingénieurs ont tenté une méthode appelée « Programmation N-Version ». L'idée était : « Si nous construisons cinq versions différentes d'un système de manière indépendante, et qu'elles sont toutes d'accord, alors c'est correct. Si elles ne sont pas d'accord, nous savons qu'il y a un problème. »

  • Le problème : C'était trop coûteux. Construire cinq équipes différentes pour écrire cinq versions différentes du même code était un gaspillage d'argent.
  • Le tour de magie de l'IA : Hickey a relancé cette idée en utilisant l'IA. Comme l'IA peut faire le gros du travail de rédaction du code pour les différents langages, il a pu se permettre de construire cinq versions en étant une seule personne.
  • Le filet de sécurité : Ces cinq versions agissent comme un jury de cinq personnes. Si la version « Rust » de l'application fait passer une couleur au rouge, mais que la version « Python » la fait passer au bleu, le système signale immédiatement un problème. Elles effectuent un « test différentiel » entre elles. Si elles ne sont pas d'accord, cela signifie que le Plan Directeur était imprécis ou qu'une des versions a commis une erreur.

3. La « Trappe de Secours » (L'Échappatoire)

Le Plan Directeur couvre environ 90 % du travail. Mais parfois, une plateforme spécifique (comme un iPhone ou un navigateur web) nécessite une astuce particulière que le plan général ne peut pas décrire.

  • L'analogie : Imaginez que le plan soit un plan de maison standard. Mais la maison « Rust » a besoin d'un sous-sol renforcé spécial parce que le sol est rocheux. Le plan gère les murs et le toit pour tout le monde, mais l'équipe « Rust » doit construire son propre sous-sol spécial.
  • Hickey appelle cela la Trappe de Secours. Il s'agit de la petite quantité de code personnalisé nécessaire pour chaque plateforme spécifique, tandis que le reste est partagé.

4. Comment le processus a fonctionné (La Boucle)

Hickey n'a pas simplement tapé du code en espérant que cela fonctionne. Il a utilisé une boucle spécifique :

  1. Conception : Il a écrit un plan en langage clair.
  2. Révision par l'IA : Il a demandé à l'IA de trouver les failles dans le plan (« Qu'est-ce qui manque ? Qu'est-ce qui est confus ? »).
  3. Mise à jour du Plan Directeur : Il a mis à jour le Plan Directeur en fonction des conseils de l'IA.
  4. Construction et Test : L'IA a généré le code pour les cinq applications.
  5. Vérification par l'« Œil Humain » : C'était la partie la plus lente. Hickey a examiné manuellement les cinq applications côte à côte. Si l'une d'elles paraissait étrange, il savait que le Plan Directeur devait être corrigé.

Le Résultat

  • Temps : Environ 120 heures de travail en soirée (soit environ 7 semaines).
  • Résultat : Cinq applications pleinement fonctionnelles partageant une logique centrale.
  • Coût : Au lieu de « plusieurs années-développeurs », cela a pris à une seule personne quelques mois.

Le Bémol (Limites)

L'article est honnête sur ce qu'il ne fait pas :

  • Ce n'est pas un produit fini : Les applications sont dépourvues de certaines fonctionnalités avancées présentes dans les outils professionnels (comme les maillages 3D complexes ou les fonctions d'impression professionnelles). C'est un « sous-ensemble substantiel », pas un clone parfait.
  • Cela dépend de l'IA : Si l'IA s'embrouille ou « hallucine » (invente du faux code), le système le détecte car les cinq versions seront en désaccord. Mais si l'IA est mauvaise sur une tâche spécifique, tout le processus ralentit.
  • Cela nécessite un humain : L'IA a fait la saisie, mais un humain a dû vérifier les résultats, corriger la logique et gérer la « mémoire » du projet pour que l'IA ne perde pas de vue ce qu'elle avait décidé la veille.

La Grande Leçon

Cet article soutient que l'IA a changé l'économie de l'ingénierie logicielle.
Auparavant, construire plusieurs versions d'un logiciel pour garantir la qualité était trop coûteux. Désormais, avec l'IA qui gère la partie répétitive du codage, un développateur seul peut construire un « jury » de cinq applications pour vérifier leur travail respectif. Cela transforme une méthode qui avait été abandonnée dans les années 1980 en raison du coût en un outil pratique pour une seule personne aujourd'hui.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →