Aller au contenu

Ce que Glamin m’a appris sur la conception d’un langage pensé pour l’IA

Contexte : Ce n’est pas que Glamin ne fonctionne pas comme langage de programmation. Si, ça marche. C’est juste que le déploiement sera super maladroit, même pour des scénarios d’entraînement. Ce n’est pas tant un échec qu’une information précieuse.

Je pense que la solution est de s’y prendre un peu différemment. Au lieu d’embeddings style FAISS, le meilleur coup, ce sont les embeddings entraînés, ce qui me donne concrètement un modèle figé que je peux utiliser pour l’exécution réelle du code.

On récupère donc tous les avantages des embeddings, mais aucune de la flexibilité des embeddings style FAISS, ce qui est précisément ce qu’on veut. Au début, je pensais que les embeddings devaient être flexibles et le code fluide.

Mais la leçon que j’en ai tirée, enfin l’une d’entre elles, c’est que le code ne doit pas être fluide. Il doit être durable. Plus ou moins. J’ai peut-être placé la fluidité sur la mauvaise couche. C’est intéressant. On garde ça sous le coude.

La syntaxe n’a pas besoin de refléter le backend

Autre réflexion : l’autre chose que j’ai apprise, surtout en bossant sur le projet Ruby, c’est que la syntaxe du langage lui-même n’a pas forcément besoin de refléter le backend qui le traite de manière directe.

Les compilateurs sont flexibles.
Aussi intéressant.

Ça laisse une certaine liberté pour se concentrer sur ce qui compte. La facilité d’utilisation et de bons a priori. Idéalement, un peu de fluidité.

Ça y est, ce mot encore.

Mais quand je pense fluidité, si c’est l’objectif — et ça devrait l’être — et qu’on la place sur la bonne couche... mon esprit va vers les langages dynamiques. Des trucs qui existent déjà, ou qui existaient. Ruby, c’est correct, mais honnêtement, Ruby c’est chiant. Perl est fluide, très fluide, mais ce n’est pas le meilleur candidat pour de la métaprogrammation compilée en espace vectoriel.

Et ça nous laisse un seul candidat viable.

Une vieille version de PHP.
Peut-être la v4, avant que la mailing list ne devienne toute complexée à force de vouloir être Java ?

C’est logique, si fluide veut dire métaprogrammable.

Il faudrait faire un peu de ménage.
Mais ça pourrait marcher.

Quelle drôle de bestiole ce serait.
Comme un petit éléphant violet avec un lance-flammes et un contexte d’agent.

Si je pouvais lui faire faire ce que Glamin faisait, ce serait une manière vraiment intéressante d’écrire des workflows et d’utiliser des outils, un truc que personne d’autre ne prend encore au sérieux.

Faut que je creuse ça.