Bonjour, je suis développeur front-end depuis 8 ans.
J’ai mis par écrit mon expérience, avec l’aide de l’IA, de la conception d’un compilateur DSL jusqu’à la publication d’un article sur arXiv.
- Tout est parti de l’intuition, acquise en créant plusieurs SaaS, que « la même structure se répète d’un domaine à l’autre »
- J’ai utilisé l’IA non pas comme simple assistant de code, mais comme un outil permettant d’emprunter la façon de penser d’experts de chaque domaine
- Comme le coût de l’échec avait structurellement baissé, j’ai pu refaire entièrement l’architecture quatre fois et continuer malgré tout à pousser le projet
- En même temps, j’ai aussi ressenti l’importance des 20 % restants que l’IA ne peut pas combler — l’intuition qui dit : « en ce moment, tu poses la mauvaise question »
C’est un retour d’expérience sincère sur les possibilités et les limites de l’usage de l’IA.
11 commentaires
Je ne sais pas vraiment ce qu’est un langage formel, mais
stateetcomputedme semblent être des variables, etactionune fonction ; quelle est donc la différence ? En lisant le texte, on a parfois l’impression qu’il s’agit d’un diagramme d’état, mais je ne vois pas non plus le rapport avec l’idée que le domaine se répète. Les mots qui apparaissent dans l’article ne me sont pas inconnus, mais malgré ça, il est difficile à lire.Par exemple, imaginons que nous créions un formulaire d’inscription.
Disons que, dans ce formulaire, on demande quatre éléments : le nom, le sexe, l’âge et si la personne a effectué son service militaire.
Supposons qu’on ajoute une règle supplémentaire disant :
"si le sexe est masculin, on affiche une liste déroulante pour demander si le service militaire a été effectué"
Et s’il y a un bouton de soumission, on peut dire que cela correspond à ce qu’on appelle habituellement le modèle de domaine de l’inscription.
À ce moment-là, le nom, le sexe, l’âge et le service militaire sont les
statedu domaine,la visibilité de la liste déroulante qui demande le service militaire est un
computeddérivé du sexe,et le bouton d’inscription est l’endroit où l’
actionest mappée.Comme je n’écris sans doute pas très bien, je n’ai peut-être pas réussi à formuler cela de manière très lisible.
Considérez simplement que le concept lui-même est à peu près similaire à ce que j’ai expliqué plus haut.
Je ne le comprends pas exactement, mais j’ai l’impression de voir à peu près ce que ça veut dire.
Merci.
Je vous ai bien lu. Ainsi que ce que vous avez écrit sur votre blog. Je ne sais pas si l’analogie est vraiment appropriée, mais cela me fait penser à la raison pour laquelle le tout premier tutoriel de nombreux langages est
Hello World!, et au fait que, par le passé, lorsqu’on apprenait le développement web en construisant des forums ou des boutiques en ligne, le processus relevait au fond de la même logique que celle que vous évoquez. À l’époque, je pensais ceci : si l’on maîtrise suffisamment les techniques pour créer un forum et une boutique en ligne, alors on peut implémenter la plupart des sites web. Et au fond, la programmation, en fin de compte, ce n’est jamais qu’une affaire d’input et d’output.La métaphore me semble pertinente. Mon projet aussi est en pratique constitué uniquement de deux éléments : l’intention de la personne et le snapshot.
Au final, je pensais justement que la voie à suivre pour mon projet consistait à déterminer comment calculer l’intention humaine (par ex. les frappes au clavier, les clics de souris) et comment lui donner un sens.
En résumé, cela veut dire qu’ils ont créé un mini-langage qui dessine des diagrammes d’état ?
Non, le
state diagramque je vous ai montré n’est que l’une des méthodes permettant de visualiser les transitions d’état à l’intérieur de Manifesto.Nous avons conçu une machine à états déterministe sous forme de framework.
Les calculs à l’intérieur de Manifesto Core ont été conçus pour produire systématiquement le même résultat à partir d’un même état et d’une même commande.
Je comprends que vous avez créé un DSL, mais je ne vois pas très bien ce que recouvre la machine à états déterministe. Je me demande même s'il existe aussi des machines à états non déterministes... Quoi qu'il en soit, c'était une lecture intéressante. J'espère que vous continuerez à bien le développer.
Ah, vous avez raison de le souligner, professeur. La machine à états elle-même est bien déterministe. Ce que j’ai introduit dans le manifesto repose sur une base non Turing-complète, et il n’existe pas de boucle à l’intérieur du DSL. Grâce à cela, il est possible de calculer à l’avance comment le programme va fonctionner avant même de l’exécuter, et d’expliquer pourquoi un tel résultat a été obtenu.
Merci pour cette remarque !
J’ai trouvé cela passionnant à lire. Il y a beaucoup de points auxquels je m’identifie. C’est à la fois enthousiasmant et inquiétant.
Merci de l’avoir lu avec intérêt.
En ce moment, je réfléchis beaucoup à la manière dont il faut vivre dans le cours d’une époque qui change rapidement.
Ce sont des temps qui suscitent bien des interrogations.