Père Bodul, raconte-nous une histoire !

Petit moment de vie personnelle, je suis le daron d’une super petite fille de 5 ans. On lui a offert il y a quelques années une fabrique à histoires qui la suit partout. Vous connaissez le principe ? Vous choisissez un héros, un lieu, un objet, et la boite vous raconte une jolie histoire, bien construite, bien racontée. La boite (l’objet physique) est sympa, facile à utiliser, pour les 3 / 6 ans je conseille vraiment.

Image générée grâce à Dall-E

Et puis en discutant avec un ami, on s’est demandé si ChatGPT ne pourrait pas générer une infinité d’histoires dans une application un peu cadrée (mais pas trop) ! Et puis tant qu’à faire, pourquoi ne pas demander à ChatGPT de coder lui même cette application. C’est donc un petit défi pour me rendre compte à quel point je serais capable d’avoir une application fonctionnelle en en codant le moins possible moi-même. Il fallait que ça marche à la fin de la soirée pour que j’estime cela OK. Petite difficulté en plus, j’ai utilisé uniquement mon iPad, et Gitpod pour un environnement de développement en ligne.

Voici la discussion que j’ai eu avec ChatGPT en lui mettant quelques contraintes, comme le langage, ou le fait de n’utiliser aucune librairie externe :

https://chat.openai.com/share/6aab6814-ccd6-448d-9ae6-8757964e1cd9

Le résultat

Bon déjà, est ce que j’ai réussi mon pari dans la soirée ? Oui. C’est même en ligne.

Mes impressions

Y être arrivé est déjà bluffant. Lisez la discussion, vraiment, qui aurait imaginé ça il y a encore quelques années ? Cependant, de temps en temps le code n’était pas fonctionnel. Il a fallu que j’ouvre la documentation de l’API de ChatGPT pour que j’oriente la discussion. Et l’orienter a suffit à ce que ChatGPT retombe sur ses rails, et s’excuse de son erreur. (ChatGPT ne se connait pas soit même, c’est presque décevant :p)

Cependant, j’ai le biais du développeur expérimenté (je crois pouvoir le dire à mon grand âge). Je savais à l’avance ce que je voulais, et ça change tout. Comment s’en sortirait un néophyte qui ne saurait pas débugger, ou sans aucune idée de l’implémentation attendue ? Mais quand je vois le travail en cours sur l’interprétation de code, notre façon de travailler devrait vraiment évoluer.

On parle de générer du code qui compilera, de sous traiter des traitements contextualisés à une discussion… Les prochaines années vont être intéressantes, et je suis curieux de voir comment nous allons nous approprier ces nouveaux outils.

Complément d’informations

Quid de la qualité de l’histoire ? Elle fait le job, sans plus. L’écriture est toujours un peu bizarre, mais elles font rire ma fille, ce qui étant quand même le but recherché. Je n’ai pas passé beaucoup de temps sur le prompt cela dit, il y a peut-être mieux à faire ? Je n’ai accès qu’à GPT3.5 à travers l’API, je verrai si le modèle GPT4 est plus sympa. Il devrait être généralisé sous peu.

Concernant le son, dans la première version du site, j’ai utilisé le Text to Speech natif au navigateur, et ce n’était franchement pas très convaincant. J’utilise maintenant l’API text to speech AI de Google Cloud qui a un rendu bien plus sympa! Mais il n’y a pas de continuité, pas d’intonation propre à l’histoire. Google devrait généraliser un nouveau modèle plus adapté aux histoires.

Bref, pour l’instant, la Lunii n’a pas trop à s’inquiéter. Rien de tel qu’une histoire bien écrite et bien racontée, et on est encore loin du compte. Faites marcher votre imagination et faites moi mentir !

LB.