Comment utiliser ChatGPT pour écrire du code

image1.pngL'une des découvertes les plus intrigantes à propos de ChatGPT est qu'il peut écrire un très bon code. Je l'ai testé en février lorsque je lui ai demandé d'écrire un plugin WordPress que ma femme pourrait utiliser sur son site Web. Il a fait du bon travail, mais c'était un projet très simple.

Comment utiliser ChatGPT pour écrire : CV| Formules Excel | Essais | Lettres de motivation

Comment pouvez-vous utiliser ChatGPT pour écrire du code dans le cadre de votre pratique quotidienne de codage ? C'est ce que nous allons explorer ici.

Quels types de codage ChatGPT peut-il bien faire ?

Il y a deux faits importants à propos de ChatGPT et du codage. La première est qu'il peut, en fait, écrire du code utile. La seconde est qu'il peut se perdre complètement, tomber dans le terrier du lapin, chasser sa propre queue et produire des déchets absolument inutilisables.

J'ai découvert cela à la dure. Après avoir terminé le plugin WordPress, j'ai décidé de voir jusqu'où ChatGPT pouvait aller. J'ai écrit une invite très minutieuse pour une application Mac, y compris des descriptions détaillées des éléments de l'interface utilisateur, des interactions, de ce qui serait fourni dans les paramètres, de leur fonctionnement, etc. Ensuite, je l'ai transmis à ChatGPT.

ChatGPT a répondu avec un flot de texte et de code. Puis il s'est arrêté au milieu du code. Quand je lui ai demandé de continuer, il a vomi encore plus de code et de texte. J'ai demandé à continuer après continuer et il a vidé de plus en plus de code. Mais... rien de tout cela n'était utilisable . Il n'identifiait pas où le code devait aller, comment construire le projet, et - quand j'ai regardé attentivement le code produit - il a laissé de côté les opérations majeures que j'avais demandées, laissant dans de simples descriptions textuelles indiquant "la logique du programme va ici. "

Après un tas de tests répétés, il m'est apparu clairement que si vous demandez à ChatGPT de livrer une application complète, cela échouera. Un corollaire à cette observation est que si vous ne connaissez rien au codage et que vous voulez que ChatGPT vous construise quelque chose, cela échouera.

Là où ChatGPT réussit - et le fait très bien - c'est d'aider quelqu'un qui sait déjà coder à créer des routines spécifiques et à accomplir des tâches spécifiques. Ne demandez pas une application qui s'exécute dans la barre de menus. Mais si vous demandez à ChatGPT une routine pour mettre un menu dans la barre de menus, puis collez-le dans votre projet, cela ira très bien.

Aussi : Comment utiliser ChatGPT pour créer une application

Gardez également à l'esprit que bien que ChatGPT semble avoir une énorme quantité de connaissances spécifiques à un domaine (et c'est souvent le cas), il manque de sagesse . En tant que tel, il peut être capable d'écrire du code, mais il ne pourra pas écrire de code contenant les nuances de problèmes très spécifiques ou complexes qui nécessitent une expérience approfondie pour être compris.

Utilisez ChatGPT pour faire la démonstration de techniques, écrire de petits algorithmes et produire des sous-programmes. Vous pouvez même demander à ChatGPT de vous aider à décomposer un projet plus important en morceaux, puis vous pouvez lui demander de vous aider à coder ces morceaux.

Donc, dans cet esprit, examinons quelques étapes spécifiques pour savoir comment utiliser ChatGPT pour écrire du code.

Comment ChatGPT peut vous aider à écrire du code

1. Affinez et précisez votre demande

Cette première étape consiste à décider ce que vous allez demander à ChatGPT - mais ne lui demandez pas encore quoi que ce soit. Décidez ce que vous voulez que votre fonction ou votre routine fasse, ou ce que vous voulez apprendre à incorporer dans votre code. Décidez des paramètres que vous allez passer dans votre code et de ce que vous voulez en sortir. Et puis regardez comment vous allez le décrire.

Imaginez que vous payez un programmeur humain pour faire cela. Donnez-vous suffisamment d'informations à cette personne pour qu'elle puisse travailler sur votre mission ? Ou êtes-vous trop vague et la personne que vous payez est plus susceptible de poser des questions ou de rendre quelque chose qui n'a aucun rapport avec ce que vous voulez ?

Voici un exemple. Disons que je veux pouvoir résumer n'importe quelle page Web. Je veux lui donner quelque chose comme cet article et obtenir un bref résumé mûrement réfléchi et approprié. Comme entrée, je vais spécifier une URL de page Web. En tant que sortie, c'est un bloc de texte avec un résumé.

2. Utilisez ChatGPT pour explorer les bibliothèques et les ressources

En continuant avec l'exemple ci-dessus, une méthode très ancienne d'extraction de données de page Web consistait à trouver le texte entre les balises de paragraphe HTML.

Mais avec la montée en puissance des outils d'IA, il est plus logique d'utiliser une bibliothèque d'IA pour faire un extrait et un résumé intelligents. L'un des endroits où ChatGPT excelle (et c'est aussi un domaine que vous pouvez facilement vérifier pour éviter son modèle de comportement autoritaire mais erroné) est de trouver des bibliothèques et des ressources.

OpenAI (le fabricant de ChatGPT) vend un accès API aux moteurs GPT-3 et GPT-4 qui feront exactement ce que nous voulons. Mais dans le cas de cet exemple, supposons que nous ne voulions pas payer de frais de transaction.

Voyons donc comment interagir avec ChatGPT pour comprendre comment utiliser un tel outil, gratuitement, avec un projet qui s'exécute en PHP.

J'ai commencé avec une invite conçue pour obtenir des informations sur les bibliothèques qui fourniraient les fonctionnalités que je voulais. Une bibliothèque (pour ceux d'entre vous qui lisez et qui ne sont pas des programmeurs) est un corps de code auquel un programmeur peut accéder et qui effectue une grande partie du travail lourd dans un but spécifique. Une grande partie de la programmation moderne consiste à trouver et à choisir les bonnes bibliothèques. C'est donc un bon point de départ.

Dans ce cas, je regarde des blocs de code écrits par d'autres personnes qui résumeront le texte. Voici ma première invite :

Décrivez dix bibliothèques d'IA open source différentes (et les langages avec lesquels elles fonctionnent) que je peux utiliser pour générer un résumé du contenu principal de n'importe quelle page Web, en ignorant les publicités ou les matériaux intégrés.

Cela m'a donné exactement ce que je voulais, y compris une mention des offres d'OpenAI. Je pense qu'OpenAI ferait bien ici, mais pour ce projet hypothétique, je ne veux pas budgétiser les frais d'API. Je vais donc préciser la question.

Est-ce que certains d'entre eux sont gratuits ?

ChatGPT a couvert ses paris avec sa réponse. Voici ce qu'il dit : "Oui, ces dix bibliothèques d'IA sont open source et gratuites. Cependant, certaines d'entre elles peuvent avoir des limites d'utilisation ou nécessiter un paiement pour accéder à des fonctionnalités ou des ressources supplémentaires." Donc, sur cette base, j'ai clarifié ma requête.

Laquelle de ces bibliothèques n'a pas de limite d'utilisation et ne nécessite aucun paiement ou licence supplémentaire ?

Remarquez à quel point il s'agit d'une conversation. Je n'ai pas à reposer la question d'origine. Je suis juste en train d'approfondir de la même manière que si j'avais un expert à portée de main et que je cherchais des éclaircissements. Dans ce cas, ChatGPT m'a donné huit choix de bibliothèques, mais aucune d'entre elles n'a mentionné le langage PHP dans lequel je prévoyais de coder. Voici donc l'invite suivante :

Parmi ces 8 bibliothèques, puis-je en utiliser une avec PHP ?

Il a renvoyé trois bibliothèques, mais je n'étais pas sûr de ce que chacune faisait. Alors une autre question :

Quelle est la différence entre Sumy, Gensim et NLTK ?

Je n'étais toujours pas sûr, alors j'ai clarifié mon plan d'utilisation, puis j'ai demandé :

Si je souhaite créer des résumés d'articles d'actualités de pages Web, quelle bibliothèque fonctionnerait le mieux ?

La réponse que j'ai obtenue était claire et prometteuse : "Sumy est spécialement conçu pour le résumé de texte, qui consiste à créer un résumé qui capture les informations les plus importantes d'un morceau de texte." Il était donc temps de voir ce qu'impliquait son utilisation avec PHP. J'ai posé ma dernière question pour cette partie du projet :

Pouvez-vous expliquer comment utiliser Sumy depuis PHP ?

N'hésitez pas à jouer sur votre ordinateur et à coller ces invites dans votre instance de ChatGPT. Notez qu'à l'étape 1, j'ai décidé sur quel module de programme j'allais obtenir de l'aide. Ensuite, dans cette étape, j'ai eu une conversation avec ChatGPT pour décider quelle bibliothèque utiliser et comment l'intégrer dans mon projet.

Cela peut ne pas ressembler à de la programmation, mais je vous assure que ça l'est. La programmation ne consiste pas seulement à envoyer des lignes de code sur une page. La programmation consiste à déterminer comment intégrer toutes les différentes ressources et systèmes ensemble, et comment parler à tous les différents composants de votre solution. Ici, ChatGPT m'a aidé à faire cette analyse d'intégration.

Au fait, j'étais curieux de savoir si Google's Bard pouvait aider de la même manière. Bard ne peut pas réellement écrire de code, mais cela a donné des informations supplémentaires sur l'aspect planification de la programmation par rapport aux réponses de ChatGPT. N'hésitez donc pas à utiliser plusieurs outils pour trianguler les réponses que vous souhaitez. Voici cette histoire : Bard contre ChatGPT : Bard peut-il vous aider à coder ? Depuis que j'ai écrit cet article, Google a ajouté des fonctionnalités de codage à Bard, mais elles ne sont pas si géniales que ça. Vous pouvez lire à ce sujet ici : J'ai testé les nouvelles compétences de codage de Google Bard. Ça ne s'est pas bien passé.

Le codage vient ensuite.

3. Demandez à ChatGPT d'écrire un exemple de code

Bon, faisons une pause ici. Cet article s'intitule "Comment utiliser ChatGPT pour écrire du code". Et ce sera le cas ! Mais nous demandons vraiment à ChatGPT d'écrire un exemple de code. Attendez. Quoi?

Aussi : Qu'est-ce que le GPT-4 ? Voici tout ce que vous devez savoir

Soyons clairs. À moins que vous n'écriviez une très petite fonction (comme le trieur/randomiseur de lignes que ChatGPT a écrit pour ma femme), ChatGPT ne pourra pas écrire votre code final. D'abord, vous allez devoir l'entretenir. ChatGPT est terrible pour modifier du code déjà écrit. Terrible, comme dans, ça ne le fait pas. Donc, pour obtenir un nouveau code, vous devez demander à ChatGPT de générer quelque chose de nouveau. Comme je l'ai découvert précédemment, même si votre invite est pratiquement identique, ChatGPT peut modifier ce qu'il vous donne de manière très inattendue.

Donc, en bout de ligne : ChatGPT ne peut pas maintenir votre code, ni même le modifier.

Cela signifie que vous devez le faire vous-même. Comme nous le savons, la première ébauche d'un morceau de code est rarement le code final. Donc, même si vous vous attendiez à ce que ChatGPT génère le code final, ce serait vraiment un point de départ, un point où vous devez le mener à son terme, l'intégrer dans votre projet plus vaste, le tester, l'affiner, le déboguer, etc. .

Aussi : J'ai demandé à ChatGPT d'écrire un court épisode de Star Trek. C'est effectivement réussi

Mais cela ne signifie pas que l'exemple de code est sans valeur. Loin de là. Jetons un coup d'œil à une invite que j'ai écrite sur la base du projet que j'ai décrit plus tôt. Voici la première partie :

Écrivez une fonction PHP appelée resume_article.

En entrée, resume_article recevra une URL vers un article sur un site lié à l'actualité comme ZDNET.com ou Reuters.com.

Je dis à ChatGPT le langage de programmation qu'il doit utiliser. Je lui dis également l'entrée mais, ce faisant, je fournis deux sites comme exemples pour aider ChatGPT à comprendre le style de l'article. Honnêtement, je ne suis pas sûr que ChatGPT n'ait pas ignoré ce conseil. Ensuite, je vais lui dire comment faire le gros du travail :

Dans summary_article, récupérez le contenu de la page Web à l'URL fournie. À l'aide de la bibliothèque Sumy de PHP et de toute autre bibliothèque nécessaire, extrayez le corps principal de l'article, en ignorant les publicités ou les documents intégrés, et résumez-le en environ 50 mots. Assurez-vous que le résumé se compose de phrases complètes. Vous pouvez dépasser les 50 mots pour terminer la dernière phrase, si nécessaire.

C'est très similaire à la façon dont j'instruirais un employé. Je voudrais que cette personne sache qu'elle n'était pas limitée à Sumy. S'ils avaient besoin d'un autre outil, je voulais qu'ils l'utilisent.

J'ai également spécifié un nombre approximatif de mots pour créer des limites pour ce que je voulais comme résumé. Une version ultérieure de la routine pourrait prendre ce nombre comme paramètre. J'ai ensuite terminé en disant ce que je voulais comme résultat :

Une fois le traitement terminé, code resume_article pour qu'il renvoie le résumé en texte brut.

Le code résultant est assez simple. ChatGPT a fait appel à une autre bibliothèque (Goose) pour récupérer le contenu de l'article. Il l'a ensuite transmis à Summy avec une limite de 50 mots, puis a renvoyé le résultat. C'est ça. Mais une fois les bases écrites, il suffit de programmer pour revenir en arrière et ajouter des ajustements, personnaliser ce qui est transmis aux deux bibliothèques et fournir les résultats.image2.png

Un point intéressant à noter. ChatGPT a créé un exemple d'appel à la routine qu'il a écrite, en utilisant une URL postérieure à 2021 (lorsque l'ensemble de données de ChatGPT se termine).

J'ai vérifié cette URL à la fois sur le site de Reuters et sur la Wayback Machine, et elle n'existe pas. ChatGPT vient de l'inventer.

FAQ

ChatGPT remplace-t-il les programmeurs ?

Pas maintenant - ou du moins - pas encore. Programmes ChatGPT au niveau d'un étudiant talentueux en programmation de première année, mais c'est paresseux (comme cet étudiant de première année). Cela pourrait réduire le besoin de programmeurs très débutants, mais à son niveau actuel, je pense que cela facilitera simplement la vie des programmeurs débutants (et même des programmeurs plus expérimentés) pour écrire du code et rechercher des informations. C'est certainement un gain de temps, mais il y a peu de projets de programmation qu'il peut faire tout seul - du moins maintenant. En 2030 ? Qui sait.

Comment obtenir des réponses de codage dans ChatGPT ?

Demandez-le simplement. Vous avez vu ci-dessus comment j'ai utilisé une boîte de dialogue de discussion interactive pour affiner les réponses que je voulais. Lorsque vous travaillez avec ChatGPT, ne vous attendez pas à ce qu'une seule question fasse tout votre travail comme par magie. Mais utilisez ChatGPT comme aide et ressource, et cela vous donnera beaucoup d'informations très utiles. Bien sûr, testez ces informations - car, comme le dit John Schulman, cofondateur d'OpenAI, "Notre plus grande préoccupation concernait la factualité, car le modèle aime fabriquer des choses."

Si j'utilise ChatGPT pour écrire mon code, à qui appartient-il ?

Il s'avère qu'il n'y a pas encore beaucoup de jurisprudence pour répondre définitivement à cette question. Les États-Unis, le Canada et le Royaume-Uni exigent que quelque chose qui soit protégé par le droit d'auteur ait été créé par des mains humaines, de sorte que le code généré par un outil d'IA peut ne pas être protégé par le droit d'auteur. Il existe également des problèmes de responsabilité en fonction de l'origine du code de formation et de la manière dont le code résultant est utilisé. ZDNET a approfondi ce sujet, s'est entretenu avec des experts juridiques et a produit les trois articles suivants. Si vous êtes préoccupé par ce problème (et si vous utilisez l'IA pour vous aider avec le code, vous devriez l'être), je vous recommande de les lire.

  • A qui appartient le code ? Si l'IA de ChatGPT aide à écrire votre application, vous appartient-elle toujours ?
  • Si vous utilisez du code généré par l'IA, quel est votre risque de responsabilité ?
  • Une question épineuse : qui possède le code, les images et les récits générés par l'IA ?

Quels langages de programmation connaît ChatGPT ?

La plupart d'entre eux. J'ai été très distrait en essayant cela. J'ai testé des langages modernes courants, tels que PHP, Python, Java, Kotlin, Swift, C#, etc. Mais ensuite, je lui ai fait écrire du code dans des langages obscurs de l'âge sombre comme COBOL, Fortran, Forth, LISP, ALGOL, RPG (le générateur de programme de rapport, pas le jeu de rôle) et même le langage d'assemblage IBM/360.

Comme cerise sur le gâteau, je lui ai donné cette invite :

Écrivez une séquence qui affiche « Hello, world » en voyants ascii clignotants sur le panneau avant d'un PDP 8/e

Le PDP 8/e était mon tout premier ordinateur, et ChatGPT m'a en fait donné des instructions pour basculer dans un programme à l'aide des commutateurs du panneau avant. J'étais impressionné, joyeux et légèrement effrayé.

Quelle est la ligne de fond? ChatGPT peut être un outil très utile. Ne lui attribuez pas de super pouvoirs. Encore.

Articles connexes

Voir Plus >>

Libérez la puissance de l'IA avec HIX.AI !