Comment j'ai utilisé ChatGPT pour scanner 170 000 lignes de code en quelques secondes et m'économiser des heures de travail de détective
Écrire cet article sur le problème que j'ai résolu m'a pris quelques heures. Le processus d’analyse de l’IA proprement dit, du début à la fin, m’a pris moins de 10 minutes. C’est là une productivité sérieuse.
Il s'agit d'un article sur l'utilisation de l'intelligence artificielle (IA) comme outil et sur la manière de l'appliquer à vos besoins uniques et spécialisés. Il propose des leçons intéressantes pour tout le monde.
Vous apprendrez que vous pouvez utiliser un outil comme ChatGPT pour résoudre rapidement des problèmes complexes, à condition que vous disposiez des bonnes invites et d'un soupçon de scepticisme.
Tout d’abord, un bref terrier de lapin d’impression 3D
Notre contexte pour cette leçon est l’impression 3D. Un test spécial en impression 3D appelé 3DBenchy vérifie les performances de l'imprimante. Il aide les utilisateurs d'imprimantes 3D à tester la vitesse et diverses mesures de qualité d'impression. Le Benchy prend à la plupart des imprimantes une heure ou deux pour imprimer.
J'ai récemment testé une nouvelle imprimante censée être plus rapide que beaucoup d'autres. Sur cette imprimante, la Benchy a mis 42 minutes, alors que sur les autres imprimantes 3D du Fab Lab, cela a pris 60 à 70 minutes. Mais voici le problème : la version de test fournie par la société qui fabrique l'imprimante a pris 16 minutes. C'est une sacrée différence.
Les imprimantes 3D sont contrôlées avec G-code, un programme généré sur mesure par un outil appelé slicer qui contrôle la façon dont l'imprimante déplace sa tête d'impression et sa plate-forme d'impression, chauffe, alimente et rétracte le filament fondu.
Le code G prédécoupé fourni par l'usine pour l'imprimante que je testais a donné lieu à une impression de 16 minutes. Le G-code que j'ai généré à l'aide du slicer de l'entreprise a donné lieu à une impression de 42 minutes. Je voulais savoir pourquoi.
Malheureusement, aucun membre de l'équipe d'assistance de l'entreprise n'a pu répondre à ma question. Malgré de nombreux essais, je n'ai pas pu obtenir de réponse sur les paramètres du slicer à modifier pour obtenir le G-code que j'ai produit à l'aide de leur slicer, ainsi que le G-code généré à l'aide de leur slicer.
Après de nombreuses recherches sur le Web et lecture de messages frustrés sur Reddit, il était clair que d'autres clients avaient le même problème. Voici une machine capable de plus du double des performances, mais aucun de nous n'a pu reproduire ces performances avec succès.
L’IA peut-elle aider ?
C’est là que ChatGPT entre en scène. Le G-code se compose de milliers de lignes qui ressemblent à ceci :
G1 X122.473 Y140.422 E4.23368
G1 X122.222 Y140.6 E4.24443
G0 F14400 X122.703 Y140.773
G1 F3600 X122.117 Y141.251 E4.27083
G1 X121.767 Y141.66 E4.28963
G1 X121.415 Y142.139 E4.31039
G1 X121.105 Y142.641 E4.33099Ensemble, les deux fichiers Benchy G-code contenaient plus de 170 000 lignes de code. Je n’avais pas l’intention de passer un samedi après-midi à trier manuellement ces informations. Mais j’ai pensé que l’IA pourrait peut-être aider.
J'avais le G-code que j'avais généré à l'aide du slicer. Je pourrais également exporter et sauvegarder le G-code fourni par l'usine. À l'aide de ChatGPT Plus, j'ai introduit les deux fichiers dans l'IA.
J'ai commencé par confirmer que ChatGPT pouvait lire les fichiers. Après avoir téléchargé chaque fichier, j'ai demandé :
Pouvez-vous lire ceci ?
ChatGPT l'a confirmé en déclarant : "Je peux lire le contenu du fichier. Il semble qu'il s'agisse d'un fichier G-code, généralement utilisé pour contrôler les imprimantes 3D." C'était un bon début.
Pour nous assurer que nous savions clairement quel fichier était lequel, j'ai donné à ChatGPT quelques étiquettes pour les fichiers :
Appelons le premier fichier téléchargé « impression régulière » et le deuxième fichier téléchargé « impression rapide ». D'accord?
L'IA a accepté, alors je lui ai dit :
Décrivez en quoi les fichiers diffèrent.
À part nommer l’un des fichiers « impression rapide », je n’ai donné à ChatGPT aucune indication sur ce que je cherchais. Malgré cela, le robot a identifié qu’une impression avait des vitesses d’impression plus élevées, même si les paramètres de température étaient les mêmes.
J'ai alors demandé à l'IA :
Pourquoi « l'impression rapide » est-elle tellement plus rapide ?
C'est à ce moment-là que ChatGPT a commencé à m'ennuyer. Au lieu de me donner des détails sur le code que j'ai fourni, il a spéculé. L'IA a utilisé des expressions contenant « probable », « peut » et « pourrait » pour décrire pourquoi l'impression était plus rapide.
Mais je lui avais donné des fichiers G-code qui décrivaient exactement ce que faisait l'imprimante, donc je voulais une réponse exacte sur ce que faisait l'imprimante. Comme c'est souvent le cas avec ChatGPT, la conversation ressemblait beaucoup à celle d'un étudiant brillant, quelque peu têtu et peu coopératif.
Pourquoi la bonne invite fait toute la différence
J'ai finalement atterri sur cette invite, qui m'a proposé des réponses réalisables :
Le G-code fourni dans les deux fichiers est la seule chose qui diffère pour ces impressions. En utilisant uniquement le G-code fourni à titre de comparaison, quels paramètres du slicer seraient différents ? Ne spéculez pas sur ce que pourraient être les autres paramètres. Basez votre analyse uniquement sur le code fourni.
ChatGPT a identifié trois facteurs clés :
- Le code G d'impression standard indique des vitesses d'avance généralement comprises entre 2 400 mm/min et 3 400 mm/min. Le code G d'impression rapide affiche des vitesses d'avance beaucoup plus élevées, certaines commandes atteignant jusqu'à 14 400 mm/min. Ce taux représente une augmentation significative de la vitesse, contribuant directement à la réduction du temps d'impression.
- Par rapport à une hauteur de couche de 0,2 mm pour l'impression standard, l'impression rapide fixe la hauteur de couche à 0,25 mm, réduisant ainsi le nombre de couches nécessaires pour terminer l'impression.
- Le G-code d'impression rapide comprend des paramètres d'accélération beaucoup plus agressifs, permettant à l'imprimante d'atteindre plus rapidement des vitesses plus élevées et de les maintenir, contribuant ainsi à une impression plus rapide.
Ce résultat était intéressant. Cependant, je voulais savoir si l'entreprise avait optimisé manuellement le code G ou l'avait généré directement dans le slicer. J'ai donc demandé à ChatGPT :
Pouvez-vous dire si l’impression rapide a été codée à la main ou si elle a été générée par un slicer ? Recherchez peut-être des commandes incohérentes ou des commentaires non standard.
L’IA a répondu avec trois considérations intéressantes :
- Les variations dans les commandes du code G, telles que les changements de vitesse d'avance, la commutation entre différentes commandes de mouvement et les modifications d'autres paramètres, sont typiques du code généré par le slicer. Ces modifications visent à optimiser le processus d'impression et sont cohérentes avec le comportement d'un slicer.
- Si le code G était codé à la main, nous nous attendrions à voir des modèles plus irréguliers et imprévisibles, mais ces transitions suivent une séquence logique, caractéristique du processus d'optimisation d'un slicer.
- Par conséquent, la présence de ces commandes n’indique pas un codage manuel ; cela conforte plutôt la conclusion selon laquelle ce code G a été généré par un slicer.
Ce que ces résultats me disent, c'est qu'il est probablement possible pour les utilisateurs de modifier les paramètres de leur slicer pour obtenir des performances similaires.
Qu'avons-nous appris ?
Nous avons appris que ChatGPT comprend le G-code. Ce n'est pas surprenant car, lors de mes premiers tests, nous avons appris que ChatGPT maîtrisait assez bien même les langages de programmation les plus obscurs.
Nous avons également appris que ChatGPT peut parcourir et comparer plus de 170 000 lignes d’instructions machine et parvenir à des conclusions exploitables en quelques secondes.
Enfin, nous avons appris que nous pouvons utiliser des IA comme ChatGPT pour explorer des problèmes complexes sous plusieurs angles. ChatGPT a non seulement expliqué la grande différence de vitesse entre les deux fichiers, mais il a également pu valider si le fichier fourni en usine avait été modifié manuellement ou non.
En conclusion, n’acceptez pas ce que l’IA vous dit comme une vérité absolue. Ne prenez pas de décisions critiques en fonction de ses réponses. Et rappelez-vous que vous devez parfois négocier avec l’IA avant qu’elle veuille vous donner des réponses utiles.
Ce test est encore un autre cas où j'ai pu me tourner vers l'IA et trouver une réponse à une question très spécifique sans coder en quelques minutes.
Si vous avez une question qui nécessite beaucoup de texte ou d'analyse numérique, envisagez de l'exécuter via ChatGPT ou l'une des autres IA. Vous pourriez obtenir une réponse utile en quelques minutes.
Écrire cet article sur le problème m'a pris quelques heures. Le processus d’analyse proprement dit, du début à la fin, m’a pris moins de 10 minutes. C'est une productivité sérieuse, juste là.
Vous pouvez suivre les mises à jour quotidiennes de mon projet sur les réseaux sociaux. Assurez-vous de vous abonner à ma newsletter hebdomadaire et de me suivre sur Twitter/X à @DavidGewirtz, sur Facebook à Facebook.com/DavidGewirtz, sur Instagram à Instagram.com/DavidGewirtz et sur YouTube à YouTube.com/DavidGewirtzTV.
