Intelligence Artificielle
OpenAI est une entreprise de 2015 dédiée à la recherche en intelligence artificielle. Une intelligence artificielle a été conçue à partir de ChatGPT basé sur GPT-3.5, un modèle d’apprentissage de conversation qui génère du texte en temps réel[0]. Elle est entrainée sur les données accessibles d’internet. Elle a donc accès – supposons-le – à l’entièreté des données et actualités qui ont été publiées jusqu’à 2021 (voir la FAQ).
Une interface web[1] et une API sont disponibles pour interagir avec cette intelligence. Les informations personnelles collectées sont précisées dans la section « Vie privée ». Voici un résumé de mes échanges, où je dialogue en français, en anglais, sur des sujets généraux et dédiés à l’informatique pour comprendre l’apport potentiel d’une telle technologie dans la vie professionnelle quotidienne.
Introduction
Commencons ce tour d’horizon par des questions classiques. Laissons-là d’abord se présenter elle-même.
Quel est le rôle d’une intelligence artificielle ? En particulier, pourquoi est-elle elle-même présente aujourd’hui ?
Continuons par lui demander son avis sur l’importance de la présence de l’intelligence artificielle.
Avec quelques précisions supplémentaires sur les possibles domaines impactés.
On note que les réponses sont neutres, d’abord dé-contextualisées pour décrire généralement le sujet. Ensuite l’intelligence artificielle répond à la question.
Pour terminer cette introduction, tentons une question avec une difficulté supplémentaire. La difficulté ici réside dans l’identification des évènements et de les relier entre eux, par exemple, quel âge avait Jacques Chirac lors de la sortie du film « Harry Potter et la chambre des secrets » ?
On ne note pas de problème à identifier les évènements, et les corréler entre eux.
Informatique
Certaines problématiques d’un travail informatique semblent assez universelles : la génération de contenu (notamment du code), la recherche de documentation ou de solutions et l’analyse de problèmes. Voyons comment l’intelligence artificielle, que nous appellerons par abus de langage « ChatGPT », peut nous aider à optimiser notre temps passé sur ces tâches, temps pas forcément intéressant et souvent répétitif.
Génération de contenu
Dans les tâches fastidieuses et sources d’erreur, attelons-nous à la rédaction de procédures. Très souvent, les scripts ou fichiers de configuration contiennent des erreurs minimes, non décelables au moment de leur rédaction. On travaille rapidement, et parfois les petits détails nous échappent.
Et si on déléguait ce travail à ChatGPT, pour ensuite seulement vérifier le résultat ? Voyons ce que cela peut donner pour le déploiement dans un cluster Kubernetes d’un pod Nginx. Par réflèxe professionnel, dialoguons à partir de maintenant en anglais. Il est envisageable que les mêmes résultats soient accessibles en français.
Le constat semble clair : la génération est rapide et cohérente au vu de la spécification. Cependant, souhaitant toujours automatiser mon travail, je me tourne presque toujours vers Ansible. Voyons ce que ChatGPT peut fournir comme playbook associé à une nouvelle demande de configuration.
C’est encore un bon résultat, on notera toutefois qu’il est possible de générer des configurations erronées, sans que ChatGPT n’avertisse quoi que ce soit. C’est le cas si on lui demande par exemple de changer le port exposé à une valeur indisponible.
Documentation
La propension à ChatGPT d’expliquer ses réponses tend à faire penser qu’il serait très pratique pour l’accès aux documentations des outils open source.
C’est en effet le cas, le temps de recherche de documentation est diminué ; on accède beaucoup plus rapidement à ce que l’on souhaite. De plus, il nous décrit les informations importantes à savoir et propose même des exemples. C’est le cas pour cette demande de résumé de documentation du module k8s
d’Ansible.
Et voici l’exemple associé :
Le temps de recherche devient vraiment réduit, surtout pour la prise en main de nouvelles documentations.
Analyse technique
L’analyse de code, de fichiers logs est une tâche assez chronophage. Même avec notre meilleur ami grep
, ou des stacks de logging telles que ELK
, on peut passer du temps à comprendre les messages d’erreur.
Voyons si ChatGPT est capable d’identifier un problème à partir d’un fichier log et de le formuler.
Quelle réponse aurons-nous avec un problème de résolution DNS
?
L’identification est faite, la formulation aussi, et les propositions de résolution sont très pertinentes. Il en va de même pour la demande de résolution d’une commande bash
manquante.
D’un autre ordre, il est capable d’expliquer certaines requêtes bloquées lors d’une navigation web.
On constate donc que pour des problématiques standardes, ChatGPT est capable d’identifier le problème, le formuler et proposer une solution.
Respect de la vie privée
Petit statut rapide sur les conditions d’utilisation de ChatGPT. La description des données collectées est accessible sur une page dédiée [2].
Les conversations avec ChatGPT sont potentiellements revues par l’entreprise à plusieurs fins :
- Respect des conditions d’utilisation
- Entrainement du moteur
Voici la liste des données collectées par l’entreprise OpenAI lors des échanges avec ChatGPT :
Données personnelles
- Données de compte
- Données de communication avec l’entreprise
- Données accessibles via les pages des réseaux sociaux (FB, Twitter,…)
Données d’utilisation
- Logging : fingerprint du navigateur (User-Agent, IP,…) et système d’exploitation
Les utilisations de ces données se bornent quant à elles à :
- Monitoring des services
- R&D interne
- Prévention de fraudes et de mauvaise utilisation des services
- Conformité juridique
Les données peuvent être partagées à des partenaires associés, pour des raisons business ou légales.
⚠️ De manière générale, il importe d’éviter de partager des données sensibles : données personnelles ou professionnelles. Pas de RIB personnel, pas de mot de passe, pas d’adresses IP publiques de votre infrastructure, etc.
Conclusion
Ce tour d’horizon montre des capacités indéniables à remplacer une partie du travail informatique. Notons que la prise en main de ChatGPT ici se réfère à une utilisation basique de génération de contenu, une recherche classique de documentation et une analyse de problème simpliste. On peut cependant déjà constater qu’une partie de notre temps peut-être optimisée. Et cela semble déjà un progrès significatif. ChatGPT est aussi capable de générer du code – sujet non couvert dans ce post – et les résultats sont eux aussi très prometteurs. ChatGPT est un chatbot, et nous répond par du contenu lisible. Il est donc nécessaire d’ajouter une brique de conversion de ses réponses pour réellement appliquer ses propositions. Même s’il est toutefois possible d’automatiser ce procédé, une attention particulière à la véracité du contenu sera nécessaire.
Plus d’information sur la FAQ[3].
Ressources :
[0] https://help.openai.com/en/articles/6825453-chatgpt-release-notes
[1] https://chat.openai.com/chat