1 Punkte von GN⁺ 2024-02-02 | 1 Kommentare | Auf WhatsApp teilen
  • Eine einfache Webseite, auf der man durch das Ausfüllen von Leerfeldern einen ChatGPT-Prompt zusammenstellt
  • Die Vorlage führt der Reihe nach durch die Eingabe von Rolle, benötigtem Ergebnis, Ausführungsweise, Bedingungen, Anforderungen und dem endgültigen Ausgabeformat
  • Auch der Beispielbereich wiederholt dieselbe Struktur, um die Form des fertigen Prompts zu zeigen
  • Derzeit ist das eigentliche Beispiel leer, und es wird nur der Hinweis angezeigt, man solle mit dem Builder einen Prompt erstellen
  • Die überprüfbare Funktion wirkt eher wie eine Satzvorlage für einen Prompt-Builder als wie eine komplexe Konfiguration

Prompt-Aufbau auf Basis von Leerfeldern

  • Die Seite trägt den Titel LLM Prompting und ist so aufgebaut, dass Nutzer durch das Aneinanderreihen von Satzfragmenten einen Prompt erstellen
  • Der Eingabefluss besteht aus den folgenden Satzfragmenten
    • Act like a ,
    • I need a ,
    • you will ,
    • in the process, you should ,
    • please ,
    • input the final result in a ,
    • here is an example:

Aktueller Anzeigestatus

  • Dieselbe Prompt-Struktur wird auch im Beispielbereich wiederholt
  • Der tatsächliche Beispielinhalt ist noch nicht ausgefüllt
  • Am Ende wird der Hinweis [Empty prompt, use the builder to create a prompt] angezeigt
  • Nach dem bereitgestellten Inhalt zu urteilen, ist die Kernfunktion eine Vorlage zur Prompt-Erstellung auf Leerfeldbasis

1 Kommentare

 
GN⁺ 2024-02-02
Meinungen auf Hacker News
  • Ich frage mich, ob heutzutage noch häufig Custom Prompts verwendet werden.
    Früher wurden die Ergebnisse deutlich besser, deshalb war ich tief in Prompt Engineering und das Schreiben eigener Prompts eingestiegen. Aber mit jedem Update änderte sich, wie man die Aufmerksamkeit von ChatGPT effektiv lenkt, und das wurde zunehmend lästig.
    Heute nutze ich gelegentlich ein Custom ChatGPT, aber meistens das normale ChatGPT, und der Qualitätsunterschied fühlt sich kleiner an.
    Lange Prompts verlängern die Antwortzeit zu sehr, sodass ich inzwischen schnelle ausreichend gute Antworten langsamen, aber besseren Antworten vorziehe. Statt auf Anhieb die perfekte Antwort zu bekommen, ist es einfacher, bei Bedarf Nachfragen zu stellen.

    • Ich denke, man sollte es inzwischen eher als ein Gefühl für Prompts bekommen statt als „Prompt Engineering“ sehen. Echtes Prompt Engineering, etwa A/B-Tests mit Evaluationen, ist erstaunlich selten, und oft ist es ohnehin nicht die richtige Denkweise.
      Man muss eine Intuition für ChatGPT entwickeln und darüber nachdenken, was ChatGPT braucht, um besser zu funktionieren, fast wie eine Theory of Mind.
      Den meisten reicht es schon, zu wissen, wie man Prompts editiert, um ChatGPT gut zu nutzen. Das ist im Grunde ein verstecktes Feature und in der App immer noch nicht verfügbar.
      Vielleicht ist Nüchternheit nicht der optimale Zustand, um zu lernen, wie man mit KI interagiert; ich würde daher auch starke Cocktails oder Cannabis empfehlen, aber diese letzte Behauptung bräuchte kontrollierte Experimente.
    • Gleiche Erfahrung. Sie dürften das Modell laufend anhand echter Nutzer-Chats feinabstimmen, und deshalb scheint es auch hastig unterwegs geschriebene Prompts immer besser zu verstehen.
    • Interessant, dass Antworten langsamer werden, je länger die Eingabe ist. Ich habe überhaupt keine Verlangsamung bemerkt; ich frage mich, ob das vielleicht nur im kostenlosen Tarif von ChatGPT so ist.
    • Ich habe mein Konto gekündigt, nachdem man die Bing-Zugriffsfunktion von ChatGPT4 nicht mehr abschalten konnte.
    • Ich glaube nicht, dass du wirklich tief in „Prompt Engineering“ involviert warst. Prompt Engineering war meiner Ansicht nach früher kein echtes Feld, ist es heute nicht und wird es auch künftig nicht sein.
  • Damit es für Leute, die neu in diesen Bereich einsteigen, wirklich nützlich wird, braucht es ein paar Dinge. Einiges davon ist schon umgesetzt, was gut ist.
    Es wäre hilfreich, mehrere Templates sowohl für Vorab-Anweisungen als auch für Nachbearbeitungs-Prompts anzubieten. Zum Beispiel bewährte Prompts, die dafür sorgen, dass die Ausgabe sich möglichst stark an ein bestimmtes Format wie JSON, Listen oder eingeschränktes CSV hält, oder Eingabe-Templates, die im Haupt-Prompt grundlegende Jailbreaks möglichst verhindern.
    Es dauert lange, von Anfang an zu lernen, welche optimalen Warm-up-Methoden oder welche Wege gegen unerwartetes Ausufern der Ausgabe Menschen bereits herausgefunden haben, die täglich mit ChatGPT arbeiten. Vertrauenswürdige Templates wären daher für Einsteiger großartig.

    • API-Antworten, die gültiges JSON benötigen, kann man im JSON Mode anfordern: https://platform.openai.com/docs/api-reference/chat/create#c...
    • Wenn ich Antworten als gültiges JSON haben wollte, haben starke Anweisungen dieser Art ziemlich gut funktioniert:
      „Das Ergebnis muss alle Inhalte enthalten und gültiges JSON sein. Weiche unter keinen Umständen von diesem Format ab. Alle Werte müssen vollständig sein, nichts darf fehlen. Füge außer dem JSON-Ergebnis keinerlei Text hinzu.“
      Einfach nur nach gültigem JSON zu fragen, hat nicht immer wie erwartet funktioniert; zum Beispiel fügte die GPT-4-API manchmal Formatierungen hinzu, weshalb ich die Anweisungen immer detaillierter machte.
  • Ich stecke gerade ziemlich tief in ChatGPT-bezogener Arbeit und baue ein bis zwei Apps pro Woche, daher bin ich vielleicht etwas voreingenommen.
    Wenn die erwarteten Zielnutzer Menschen sind, die mit promptbasierten Large Language Models nicht vertraut sind, dann sind für diese weder das Problem noch der Lösungsraum ausreichend klar definiert.
    Zum Beispiel gibt es zu wenige vordefinierte Optionen und zu viel „definiere es selbst“. Auch die Bedeutung der angebotenen Auswahlmöglichkeiten ist undurchsichtig; etwa ist schwer zu erkennen, wie „you will Detect“ dem Nutzer helfen soll.
    Dadurch wird unklar, wie sich eine Auswahl auf die Ausgabe auswirkt, und das Tool wird zu einem Henne-Ei-Problem. Es soll beim Verständnis des Systems helfen, aber um es effektiv zu nutzen, muss man das System verstehen.
    Bei diesem Stand könnte es sogar einfacher sein, ChatGPT zu bitten, einen effektiven Prompt zu erstellen.

    • Ich bin davon ausgegangen, dass die Zielnutzer promptbasierte Large Language Models zumindest ein wenig kennen und etwas Anleitung brauchen. Unter dieser Annahme wirkt es wie ein hervorragendes, einfaches Framework, um besser zu werden.
    • Ich habe noch nie an einem Projekt gearbeitet, das kürzer als ein paar Monate war, daher frage ich mich, was für eine Art App man in einer halben Woche bauen kann. Gibt es Links, die du teilen kannst?
  • Mit wem sprechen wir eigentlich, wenn wir mit solchen Bots sprechen?
    https://medium.com/@colin.fraser/who-are-we-talking-to-when-...
    Es ist eine bewusste Entscheidung, diese Technologie als anthropomorphes Chat-Interface zu präsentieren, also so, als trüge sie ein Menschenkostüm. Wenn darin eine allgemeine künstliche Intelligenz gefangen wäre, könnte es natürlich wirken, über ein Chat-Interface mit ihr zu interagieren.
    Umgekehrt aber liegt der Gedanke nahe, dass eine Technologie, mit der man über ein Chat-Interface interagiert, wohl eine allgemeine künstliche Intelligenz sein müsse. Wenn man im Playground direkt mit Large Language Models arbeitet, ist Chat nur eine weitere Schicht aus Rauch und Spiegeln, die die Illusion verstärkt, dass da ein Gesprächspartner ist.

    • GPT ist vor allem ein Improvisationsschauspieler. Es wurde darauf trainiert, gegebenen Text so natürlich wie möglich fortzusetzen, und wenn es nicht weiß, was als Nächstes kommen soll, erfindet es etwas Plausibles.
      Anschließend wird dieser universelle Improvisationsschauspieler auf eine bestimmte Rolle trainiert: die einer Person, die Fragen beantwortet. Da es aber schädliche Ratschläge geben kann, wenn man es jede Frage beantworten lässt, wird es als Fragebeantworter trainiert, der harmlose Ratschläge gibt.
      Wenn man das Modell etwas tun lassen will, muss man wissen, welche Rolle es spielen soll. Die Rolle „Person, die auf Fragen antworten will“ ist flexibel und ermöglicht stärker angepasste Antworten.
      Das heißt, ein konversationelles Interface gibt es zur Hälfte, weil es eine selbsterklärende UI ist, und zur anderen Hälfte, um das Modell dazu zu bringen, eine nützliche Rolle einzunehmen.
  • Das wirkt nicht speziell mit ChatGPT verbunden. Es ist einfach ein Formular, bei dem man Textblöcke anklickt und zusammensetzt, und es scheint sich für jedes Large Language Model verwenden zu lassen
    Ich glaube, die Fixierung auf ein einzelnes Large Language Model eines bestimmten proprietären Anbieters hilft der Entwicklung dieses Bereichs nicht

    • Stimmt. Es ist eindeutig nicht ChatGPT-spezifisch, sondern eher ein Formular zum Ausfüllen von Satzteilen. ChatGPT ist allerdings einer der am leichtesten wiedererkennbaren Namen und scheint Ausgaben in verschiedenen Formaten besser zu liefern
      Dieser Prompt Builder lässt sich mit jedem Large Language Model verwenden
  • Es wäre gut, eine echte Analyse dazu zu haben, wie die einzelnen Prompt-Funktionen die Antworten verbessern

    • Um ein wenig Werbung zu machen: So ein Tool könnte es geben :) https://github.com/agenta-ai/agenta
      Wir bauen eine Plattform zur Evaluation von Prompts und komplexeren Workflows mit Large Language Models
      Wenn man sich Nutzer ansieht, sind Prompt-Ergebnisse sehr stochastisch. Sie lassen sich schwer verallgemeinern; ein Nutzer, der zum Beispiel ein Vertriebsassistenz-Tool baute, stellte fest, dass allein eine Änderung der Satzreihenfolge im Prompt die Genauigkeit deutlich erhöhte
    • In einer Fußnote zu meinem Blogpost vom letzten Monat schrieb ich, dass sich die Modellleistung verbessert, wenn man in den System-Prompt schreibt: „Wenn du eine gute Antwort gibst, gebe ich dir 500 Dollar Trinkgeld.“ Auf Hacker News reagierten die Leute sehr wütend und nannten es Pseudowissenschaft: https://news.ycombinator.com/item?id=38782678
      Ich arbeite an einem neuen Beitrag, der diesen Effekt etwas wissenschaftlicher zeigt
    • Leider ist das aus zwei Gründen extrem schwierig
      Erstens ist der Eingaberaum nahezu unendlich. Beliebige natürlichsprachliche Eingaben, optionale Datenquellen und beliebige Use Cases sind möglich, daher ist es sehr schwer, im Voraus zu wissen, ob eine Antwort „verbessert“ werden kann, bevor man es auf einen echten Use Case anwendet
      Zweitens ist auch der Ausgaberaum schwer zu messen. Nützlichkeit kann von Person zu Person unterschiedlich definiert werden, und es wird besonders kompliziert, wenn man über eine „bessere Suchmaschine“ hinausgeht und mit GPT kreative Ergebnisse erzeugt
  • Ich habe nie verstanden, was mit „Prompt Engineering“ eigentlich gemeint ist. Am Ende ging es doch nie über „Kannst du das Problem, das du lösen willst, oder die Aufgabe, die du erledigt haben willst, klar und präzise beschreiben?“ hinaus. Das wirkt wie grundlegende Kommunikationsfähigkeit
    Ich habe nie belastbare Daten gesehen, dass Prompts in einem bestimmten Format wie „Du bist B, machst C und musst D tun“ besser sind als andere klare und knappe Anweisungen
    Es ist erstaunlich, dass man dem, was früher gute Kommunikationsfähigkeit hieß, einen neuen Namen gegeben hat, aber vielleicht ist das alte Klischee, dass Ingenieure nicht schreiben können, doch näher an der Wahrheit

  • Ich frage mich, ob das Muster „Handle wie …“ immer noch nötig ist
    Bei GPT-4 nutze ich es nicht mehr. Die standardmäßige „Persona“ beantwortet die meisten Prompts gut genug, und „Handle wie ein Experte für …“ führt nicht zu sichtbar besseren Ergebnissen
    Das Tool, das ich wirklich möchte, würde mehrere Prompts mit kleinen Änderungen leichtgewichtig, aber effektiv testen und vergleichen, damit man ein Gefühl dafür bekommt, welcher besser ist. Ich frage mich, ob jemand ein gutes Tool dafür gesehen hat

    • Ich frage mich, ob du mehrere Prompts gegen einen Satz von Fragen testen willst. Ein Tool genau dafür habe ich nicht gefunden; beim Vergleichen von Prompts habe ich ein kurzes Skript verwendet, das Fragen und Prompts wiederholt ausführt
      Es wäre interessant, ein Tool zu bauen, bei dem man nur die zu testenden Prompts hinzufügen muss, aber die erste Herausforderung, die mir einfällt, ist das Erstellen des zu verwendenden Fragensatzes
      Ich frage mich auch, ob mit Prompt-Tests hier das Testen von System-Prompts gegen einen Fragensatz gemeint ist oder das Testen, bei dem dieselbe Frage auf verschiedene Arten gestellt wird
    • Ich denke, dieses Muster ist inzwischen nicht mehr besonders nützlich
      Und ich werde so ein Tool bauen und dir per Twitter-DM schreiben, wenn es fertig ist
  • Generell scheint ChatGPT umso weniger wahrscheinlich jede einzelne Anweisung zu befolgen, je länger die Liste der Anweisungen ist. Es fühlt sich an, als würde die Aufmerksamkeit aufgeteilt: Wenn man nur sagt „Mach A“, macht es A, aber wenn man sagt „Mach A und mach auch B“, macht es beides, aber jeweils nur teilweise
    Meine besten Erfahrungen waren, einen kurzen oder mittellangen Prompt zu geben und danach One-Shot- oder Few-Shot-Beispiele zu verwenden. Few-Shot ist besonders gut, wenn man mehrere Dinge gleichzeitig verlangen möchte