1 points par GN⁺ 2024-02-02 | 1 commentaires | Partager sur WhatsApp
  • Il s’agit d’une page web simple qui assemble un prompt ChatGPT en remplissant des champs vides
  • Le modèle invite à saisir successivement le rôle, le livrable attendu, la manière d’exécuter la tâche, les conditions, les demandes, puis le format de sortie final
  • La zone d’exemple reprend la même structure pour montrer la forme du prompt final une fois complété
  • Pour l’instant, les exemples réels sont vides et seul le message « utiliser le builder pour créer un prompt » s’affiche
  • La fonctionnalité vérifiable ressemble moins à une configuration complexe qu’à un gabarit de phrases pour un prompt builder

Construction de prompt à base de champs à remplir

  • La page, sous le titre LLM Prompting, permet à l’utilisateur de créer un prompt en enchaînant des fragments de phrases
  • Le flux de saisie est composé des fragments suivants
    • Act like a ,
    • I need a ,
    • you will ,
    • in the process, you should ,
    • please ,
    • input the final result in a ,
    • here is an example:

État actuel de l’affichage

  • La même structure de prompt est répétée dans la zone d’exemple
  • Le contenu réel des exemples n’est pas encore renseigné
  • À la fin, le message [Empty prompt, use the builder to create a prompt] s’affiche
  • D’après le contenu fourni, la fonction centrale est un modèle de génération de prompts à champs vides

1 commentaires

 
GN⁺ 2024-02-02
Commentaires sur Hacker News
  • Je me demande si les gens utilisent encore souvent des prompts personnalisés
    Avant, les résultats étaient bien meilleurs, donc je m’étais vraiment plongé dans le prompt engineering et la rédaction de prompts sur mesure, mais à chaque mise à jour, la manière d’orienter efficacement l’attention de ChatGPT change, ce qui devient de plus en plus pénible
    Aujourd’hui, j’utilise parfois des ChatGPT personnalisés, mais le plus souvent le ChatGPT de base, et j’ai l’impression que l’écart de qualité s’est réduit
    Les prompts longs augmentent trop le temps de réponse, donc je préfère désormais une réponse suffisamment bonne et rapide à une meilleure réponse mais plus lente. Il est plus simple de poser une question de suivi si le résultat est insuffisant que d’essayer d’obtenir une réponse parfaite du premier coup

    • Je pense qu’il faut désormais voir cela moins comme du « prompt engineering » que comme le fait de prendre le coup de main avec les prompts. Le vrai prompt engineering, par exemple avec des tests A/B accompagnés d’évaluations, est étonnamment rare, et ce n’est souvent pas le bon cadre de pensée au départ
      Il faut développer une intuition de ChatGPT, et réfléchir presque en termes de théorie de l’esprit à ce dont ChatGPT a besoin pour mieux fonctionner
      La plupart des gens peuvent déjà très bien utiliser ChatGPT rien qu’en sachant éditer les prompts. C’est pratiquement une fonctionnalité cachée, et on ne peut toujours pas le faire dans l’app
      Pour apprendre à interagir avec l’IA, il n’est peut-être pas idéal d’être complètement sobre, donc je recommanderais bien aussi des cocktails bien corsés ou du cannabis, mais cette dernière affirmation nécessiterait une expérience contrôlée
    • Même expérience. Ils doivent probablement continuer à affiner le modèle avec les vraies conversations des utilisateurs, donc il semble comprendre de mieux en mieux même les prompts rédigés à la va-vite en déplacement
    • Je trouve intéressant que les réponses ralentissent quand l’entrée s’allonge. Je n’ai jamais remarqué de baisse de vitesse, donc je me demande si c’est seulement le cas avec l’offre gratuite de ChatGPT
    • J’ai résilié mon compte après qu’ils ont rendu impossible la désactivation de la fonction d’accès à Bing dans ChatGPT4
    • Je ne pense pas que tu aies été vraiment très impliqué dans le « prompt engineering ». À mon avis, le prompt engineering n’a jamais été, n’est pas, et ne sera jamais un domaine réellement consistant
  • Il faudrait plusieurs choses pour que ce soit vraiment très utile à quelqu’un qui débute dans ce domaine. Une partie est déjà implémentée, ce qui est bien
    Ce serait bien de proposer plusieurs modèles à la fois pour les instructions préalables et les prompts de post-traitement. Par exemple, des prompts éprouvés qui forcent autant que possible un format de sortie précis comme du JSON, une liste ou un CSV restreint, ou encore des modèles d’entrée qui bloquent au maximum les jailbreaks basiques dès le prompt principal
    Les personnes qui utilisent ChatGPT tous les jours ont déjà découvert les meilleures façons de l’amorcer ou d’éviter des débordements de sortie inattendus, mais cela prend du temps à apprendre depuis zéro, donc des modèles fiables seraient excellents pour les débutants

    • Si vous avez besoin d’une réponse d’API en JSON valide, vous pouvez la demander en mode JSON : https://platform.openai.com/docs/api-reference/chat/create#c...
    • Quand je voulais obtenir une réponse en JSON valide, ce genre d’instruction très ferme a plutôt bien fonctionné
      « Le résultat doit contenir l’intégralité du contenu et être un JSON valide. Ne déviez de ce format en aucun cas. Toutes les valeurs doivent être complètes et aucune ne doit être omise. N’ajoutez aucun texte en dehors du résultat JSON. »
      Le simple fait de demander du JSON valide ne produisait pas toujours le résultat attendu, par exemple l’API GPT-4 ajoutait parfois du formatage, donc j’ai fini par donner des consignes de plus en plus détaillées
  • Je suis en ce moment très plongé dans le travail autour de ChatGPT et je construis 1 à 2 apps par semaine, donc je suis peut-être un peu biaisé
    Si l’utilisateur visé n’est pas familier avec les grands modèles de langage à base de prompts, alors ni le problème ni l’espace des solutions ne sont vraiment définis de manière assez claire pour lui
    Par exemple, il n’y a pas assez de choix prédéfinis et il y a trop de « définissez-le vous-même ». Le sens des sélecteurs proposés reste aussi opaque, si bien qu’il est difficile de voir, par exemple, en quoi « you will Detect » aide l’utilisateur
    Au final, l’impact des choix sur la sortie devient flou, et l’outil se retrouve face à un problème de l’œuf et de la poule. Il est censé aider à comprendre le système, mais pour l’utiliser efficacement, il faut déjà comprendre le système
    À ce niveau-là, il serait peut-être plus simple de demander directement à ChatGPT de créer un prompt efficace

    • Je partais de l’idée que l’utilisateur cible connaît au moins un peu les grands modèles de langage à base de prompts et qu’il a besoin d’un peu d’accompagnement. Dans ce cas, cela ressemble à un framework excellent et simple pour progresser
    • Je n’ai jamais travaillé sur de projet de moins de quelques mois, donc je suis curieux de savoir quel genre d’app qu’on peut construire en une demi-semaine c’est. Je me demande si tu as un lien à partager
  • Quand on parle avec ce genre de bots, à qui parle-t-on exactement ?
    https://medium.com/@colin.fraser/who-are-we-talking-to-when-...
    Le fait de présenter cette technologie sous la forme d’une interface de chat anthropomorphisée, c’est-à-dire avec une apparence de personne, est un choix délibéré. S’il y avait une intelligence artificielle générale enfermée là-dedans, il semblerait naturel d’interagir avec elle via une interface de chat
    Mais inversement, cela pousse facilement à croire qu’une technologie avec laquelle on interagit via une interface de chat est forcément une intelligence artificielle générale. Quand on manipule directement un grand modèle de langage dans le Playground, on voit que le chat n’est qu’une couche supplémentaire de fumée et miroirs qui renforce l’illusion qu’il y a un interlocuteur

    • GPT est avant tout un acteur d’improvisation. Il a été entraîné à poursuivre un texte donné de la manière la plus naturelle possible, donc lorsqu’il ne sait pas ce qui doit venir ensuite, il invente quelque chose de plausible
      Ensuite, cet acteur d’improvisation universel est entraîné à jouer un rôle précis, celui de quelqu’un qui répond à des questions. Mais si on le laisse répondre à n’importe quelle question, il peut aussi donner des conseils nuisibles, donc il est entraîné à être un répondant qui donne des conseils inoffensifs
      Pour faire travailler le modèle, il faut savoir quel rôle lui faire jouer. Le rôle de « personne qui cherche à répondre à des questions » est flexible, et permet de mieux personnaliser les réponses
      En d’autres termes, l’interface conversationnelle existe pour moitié parce que c’est une UI presque auto-explicative, et pour l’autre moitié pour pousser le modèle à jouer un rôle utile
  • Cela ne semble pas spécialement lié à ChatGPT. C’est juste un formulaire où l’on clique sur des blocs de texte pour les assembler, et ça devrait pouvoir servir avec n’importe quel grand modèle de langage.
    Je pense que se focaliser sur un seul grand modèle de langage d’un fournisseur propriétaire particulier n’aide pas au progrès dans ce domaine.

    • Oui. Ce n’est clairement pas spécifique à ChatGPT, c’est plutôt proche d’un formulaire où l’on complète des morceaux de phrase. Cela dit, ChatGPT est l’un des noms les plus faciles à reconnaître, et il semble mieux produire des sorties dans plusieurs formats.
      Ce constructeur de prompts peut être utilisé avec n’importe quel grand modèle de langage.
  • J’aimerais bien voir une vraie analyse de la manière dont chaque fonctionnalité de prompt améliore les réponses.

    • Petite autopromo : il existe peut-être un outil pour ça :) https://github.com/agenta-ai/agenta
      Nous construisons une plateforme pour évaluer les prompts et des workflows de grands modèles de langage plus complexes.
      D’après ce que nous voyons chez les utilisateurs, les résultats des prompts sont très stochastiques. C’est difficile à généraliser et, par exemple, un utilisateur qui créait un outil d’aide à la vente a constaté que le simple fait de changer l’ordre des phrases dans le prompt augmentait fortement la précision.
    • Le mois dernier, dans une note de bas de page d’un billet de blog, j’ai écrit que mettre dans le prompt système « je vous donnerai un pourboire de 500 $ si vous donnez une bonne réponse » améliorait les performances du modèle, et sur Hacker News, les gens se sont mis très en colère en qualifiant cela de pseudo-science : https://news.ycombinator.com/item?id=38782678
      Je prépare un nouvel article pour montrer cet effet de façon plus académique.
    • Malheureusement, c’est extrêmement difficile pour deux raisons.
      D’abord, l’espace d’entrée est presque infini. Des entrées arbitraires en langage naturel, des sources de données optionnelles et des cas d’usage arbitraires sont tous possibles, donc il est très difficile de savoir à l’avance si une réponse peut être « améliorée » avant de l’essayer sur un cas d’usage réel.
      Ensuite, l’espace de sortie est lui aussi difficile à mesurer. L’utilité peut être définie différemment selon les personnes, et cela devient encore plus complexe dès qu’on commence à produire des résultats créatifs avec GPT au-delà du simple « meilleur moteur de recherche ».
  • Je n’ai jamais vraiment compris ce que signifiait « prompt engineering ». Je me demande si cela a un jour dépassé la simple capacité à « décrire clairement et précisément le problème qu’on essaie de résoudre ou la tâche qu’on veut accomplir ». Cela ressemble à une compétence de communication de base.
    Je n’ai jamais vu de données rigoureuses montrant que des prompts d’un format particulier, du type « tu es B, tu fais C et tu dois faire D », sont meilleurs que des consignes simplement claires et concises.
    Il est étonnant qu’on ait donné un nouveau nom à ce qu’on appelait autrefois une bonne capacité de communication, mais il se pourrait bien que le vieux stéréotype selon lequel les ingénieurs écrivent mal soit plus proche de la réalité.

  • Je me demande si le schéma « agis comme si tu étais... » est encore nécessaire.
    Avec GPT-4, j’ai cessé de l’utiliser. La « persona » par défaut répond suffisamment bien à la plupart des prompts, et dire « agis comme un expert de... » ne produit pas de meilleurs résultats de manière perceptible.
    L’outil que je voudrais vraiment, c’est quelque chose qui permette de tester et comparer, de façon légère mais efficace, plusieurs prompts avec de petites variations, afin de se faire une idée de celui qui fonctionne le mieux. Je me demande si quelqu’un a déjà vu un bon outil de ce genre.

    • Je me demande si tu veux tester plusieurs prompts sur un ensemble de questions. Je n’ai pas trouvé d’outil exactement conçu pour cela, et quand je comparais des prompts, je faisais tourner en boucle les questions et les prompts avec un petit script.
      Ce serait amusant de créer un outil où il suffirait d’ajouter les prompts à tester, mais le premier défi qui me vient à l’esprit est de constituer l’ensemble de questions à utiliser.
      Je me demande aussi si, par « test de prompts » ici, tu parles de tester des prompts système sur un ensemble de questions, ou de tester plusieurs formulations pour poser la même question.
    • Je pense que ce schéma n’est plus très utile maintenant.
      Et si je construis un tel outil et qu’il est prêt, je t’enverrai un DM sur Twitter.
  • En général, plus la liste d’instructions est longue, moins ChatGPT semble susceptible de suivre chaque instruction. On a l’impression que son attention se disperse : si on lui dit seulement « fais A », il fait A, mais si on lui dit « fais aussi A et B », il fait les deux, mais seulement partiellement dans chaque cas.
    Les meilleures expériences que j’ai eues consistaient à donner des prompts courts ou de longueur moyenne, puis à utiliser des exemples one-shot ou few-shot. Le few-shot est particulièrement utile quand on veut lui faire faire plusieurs choses à la fois.