Prompt Engineering

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Prompt Engineering ist ein Konzept der künstlichen Intelligenz (KI), insbesondere der Verarbeitung natürlicher Sprache (englisch: natural language processing, NLP) (Computerlinguistik). Beim Prompt Engineering wird die Beschreibung der Aufgabe, die von der KI erledigt werden soll, in das Eingabe-Feld geschrieben, z. B. als Frage, statt implizit vorgegeben. Prompt Engineering funktioniert typischerweise, indem es eine oder mehrere Aufgaben in einen prompt-basierten Datensatz umwandelt und ein Sprachmodell mit dem sogenannten „prompt-basierten Lernen“ trainiert.

Die Sprachmodelle GPT-2 und GPT-3 waren wichtige Schritte im Prompt Engineering. Im Jahr 2021 zeigte das Multitask Prompt Engineering unter Verwendung mehrerer NLP-Datensätze eine gute Leistung bei neuen Aufgaben.[1]

Die breite Zugänglichkeit dieser Tools wurde durch die Veröffentlichung mehrerer Open-Source-Projekt-Notizen und von der Community geführter Projekte zur Bildsynthese vorangetrieben.[2]

Im Jahr 2022 wurden Modelle für maschinelles Lernen (ML) wie DALL-E 2, Stable Diffusion und Midjourney für die Öffentlichkeit freigegeben. Diese Modelle verwenden Anweisungen in Text-Form (englisch: text prompts) als Eingabe und verwenden diese, um Bilder zu erzeugen, was eine neue Kategorie des Gestaltens mittels Texten (englisch: prompt engineering) im Zusammenhang mit der Text-zu-Bild-Anregung (englisch: text-to-image prompting) erschuf.[3]

Arten von Prompts

[Bearbeiten | Quelltext bearbeiten]

Abhängig vom System unterscheidet man zwischen unterschiedlichen Arten von Prompts:

  • Ein Systemprompt (englisch: system prompt) behinhaltet Instruktionen für einen bestimmten KI-Agenten. Der Systemprompt wird dem Benutzer nicht angzeigt.
  • Der Benutzerprompt (englisch: user prompt) beinhaltet die Instruktionen eines Benutzers an das System.
  • Als Agentenprompt (englisch: agent prompt) bezeichnet man die Ausgabe eines KI-Agenten.

Eine Serie von Prompts wird zu einer Konversation (englisch: chat) zusammengeführt. Je nach System besteht die Möglichkeit, dass an einer Konversation mehrere Benutzer und KI-Agenten beteiligt sind, wobei jedem Benutzer bzw. Agenten unterschiedliche Aufgaben zukommen.

Beispielsweise kann eine Unterhaltung in einem System für Reisebuchungen die folgenden Stakeholder beinhalten:

  • Ein oder mehrere Personen einer Reisegruppe, welche eine bestimmte Reise buchen möchte(n)
  • Ein Berater des Reisebüro-Unternehmens, welcher die Unterhaltung leitet
  • Spezialisierte KI-Assistenten, welche zusätzliche Informationen bereitstellen:
    • Informationen zu Hotels (Standord, Kosten etc.)
    • Informationen zu Reiseverbindungen (Flugzeug, Zug etc.)
    • Wettervorhersage
    • Informationen zu Sehenswürdigkeiten und kulturellen Veranstaltungen am Reiseziel

Zudem unterscheidet man Prompts nach ihrer Modalität (Text, Bild, Audio, Video), wobei ein Prompt auch mehrere Modalitäten beinhalten kann.

Nutzerschnittstelle

[Bearbeiten | Quelltext bearbeiten]

Die Nutzung von Prompts zur Steuerung von KI ändert nach Jakob Nielsen zum dritten Mal in der Computergeschichte die Denkweise von Dateneingaben: Auf die Batch-Verarbeitung und die befehlsbasierte Interaktion folge nun die absichtsbasierte Ergebnisspezifikation, bei der Benutzer dem Computer sagen, was sie wollen, und nicht, wie er es tun soll.[4]

Bestandteile eines Text-Prompt

[Bearbeiten | Quelltext bearbeiten]

Typische Bestandteile eines Text-Prompt umfassen Rolle, Tonalität, Kontext, Aufgabenstellung und Ausgabeformat. Es gibt Anleitungen für die Formulierung von Text-Prompts.[5]

Zero-Shot-Prompting

[Bearbeiten | Quelltext bearbeiten]

Als Zero-Shot-Prompt bezeichnet man es, wenn auf eine Anfrage des Benutzers eine Antwort durch einen Agent erzeugt wird. Im Idealfall kann der Agent die Anfrage des Benutzers direkt beantworten bzw. ausführen.

Few-Shot-Prompting

[Bearbeiten | Quelltext bearbeiten]

Als Few-Shot-Prompting bezeichnet man es, wenn die Antwort des Agenten die Anfrage des Benutzers nicht vollständig beantworten kann. Der Benutzer stellt daher zusätzliche Informationen und Instruktionen bereit, um die Antwort des Agenten in eine bestimmte Richtung zu führen.[6][7][8][9]

Chain-of-Thought (Gedankenkette)

[Bearbeiten | Quelltext bearbeiten]

Chain-of-Thought (CoT) prompting ist eine Prompt-Engineering-Technik, die darauf abzielt, die Argumentationsfähigkeit großer Sprachmodelle (Large Language Models, LLMs) zu verbessern, indem sie sie dazu veranlasst, eine Reihe von Zwischenschritten zu generieren, die zur endgültigen Antwort eines mehrstufigen Problems führen.[10] Bei Nutzung bestehender LLMs kann die schrittweise Verfeinerung der Fragestellung zu verbesserten Antworten führen.

Während LLMs bei verschiedenen Aufgaben zur Verarbeitung natürlicher Sprache eine beeindruckende Leistung zeigen, haben sie immer noch Schwierigkeiten bei einigen Denkaufgaben, die logisches Denken und mehrere Lösungsschritte erfordern, wie etwa arithmetische Fragen oder Fragen zum gesunden Menschenverstand.[11][12][13]

Dafür werden Modelle verwendet, die eine Gedankenkette erzeugen, um logische Textaufgaben zu lösen, die sonst falsch gelöst würden. Die Gedankenkette ähnelt einer Lösung und kann auch als solche interpretiert werden. Sie ahmt einen schrittweisen Denkprozess nach, um zu einer Antwort zu gelangen. Die Lösungen und Erklärungen werden normalerweise nach der endgültigen Antwort ausgegeben.

Das Chain-of-thought prompting hat als Methode zur Erleichterung des Denkens in Sprachmodellen mehrere vorteilhafte Eigenschaften:[14]

  • Es ermöglicht, mehrstufige Probleme in Zwischenschritte zu zerlegen, was bedeutet, dass zusätzliche Berechnungen Problemen zugewiesen werden können, die mehr Denkschritte erfordern.
  • Es bietet ein interpretierbares Fenster zum Verhalten des Modells, das Hinweise darauf gibt, wie es zu einer bestimmten Antwort gekommen sein könnte, und Möglichkeiten, Fehler zu beheben, wenn der Denkpfad falsch war.
  • Es kann für Aufgaben wie mathematische Textaufgaben, logisches Denken und Symbolverarbeitung verwendet werden und ist prinzipiell auf jede Aufgabe anwendbar, die Menschen mithilfe von Sprache lösen können.
  • Es kann in ausreichend großen Sprachmodellen hervorgerufen werden, indem Beispiele von Gedankenketten in die Muster von Few-Shot-Prompting aufgenommen werden.

Tree-of-Thought (Gedankenbaum)

[Bearbeiten | Quelltext bearbeiten]

Tree-of-Thought (ToT) bezeichnet eine Strategie, bei der mehrere Antworten mittels Chain-of-Thought generiert werden und anschließend die Antworten – gewichtet und gefiltert – zusammgengeführt werden.[15][16][17]

Self-Consistency-Prompting

[Bearbeiten | Quelltext bearbeiten]

Sprachmodelle besitzen kein vollständiges Wissen der Welt und interpolieren bzw. konfabulieren fehlendes Wissen.[18] Diese Eigenschaft von Sprachmodellen ermöglicht es, Anfragen an das Modell auf eine kreative Weise zu beantworten, anstatt ausschließlich auf vorhandenes Wissen zurückgreifen zu können. Allerdings führt dies auch dazu, dass eine Anfrage des Benutzers, auf die eine objektiv richtige Antwort existiert, dem Modell aber unbekannt ist, auf eine Weise beantwortet wird, die richtig erscheinen kann, jedoch nicht den Tatsachen entspricht. Man spricht in diesem Zusammenhang von einer Halluzination.

Als Self-Consistency-Prompting bezeichnet man es, wenn dieselbe Anfrage des Benutzers mehrfach an einen KI-Agenten gestellt wird. Bei einer Information, welche das Modell als Fakt erlernt hat, liefert das Modell eine konsistente Antwort. Konfabulierte Antworten fallen jedoch jedes Mal unterschiedlich aus.[19]

Reflexion-Prompting

[Bearbeiten | Quelltext bearbeiten]

Als Reflexion-Prompting bezeichnet man es, wenn ein KI-Agent Feedback zu einem Prompt erstellt.[20] Man unterscheidet hierbei zwischen:

  • Umformulieren und Ergänzen einer Benutzeranfrage
  • Das Bewerten einer Antwort des KI-Agenten, welcher der KI-Agent selbst getätigt hat (Selbstreflexion)
  • Das Bewerten einer Antwort eines anderen KI-Agenten (Fremdreflexion)

Prompt Injection

[Bearbeiten | Quelltext bearbeiten]

Das Verwenden spezifischer Texteingaben, um an Hintergrundinformationen oder nicht zur Veröffentlichung bestimmte Ausgaben der Sprachmodelle zu gelangen, wird Prompt Injection genannt. Die Bezeichnung entspringt der SQL-Injection, bei der ebenfalls eine spezifische Eingabe des Benutzers zu einem, vom Betreiber des Systems nicht vorgesehenem, Verhalten führt.

Forscherinnen und Forscher widmen sich deren Vermeidung, verwerfen dies aber auch als nicht gänzlich lösbares Problem.[21][22]

Nicht-Text Prompting

[Bearbeiten | Quelltext bearbeiten]

Die Modelle des maschinellen Lernens (ML) wie DALL-E 2, Stable Diffusion und Midjourney verwenden Texteingabeaufforderungen (Prompts) und generieren daraus Bilder, wodurch eine neue Kategorie der Eingabeaufforderungstechnik im Zusammenhang mit Text-zu-Bild-Eingabeaufforderungen eingeführt wurde.[3]

Ein Text-zu-Bild-Prompt kann die Beschreibung des künstlerischen Motivs (beispielsweise leuchtend orange Mohnblumen), das bevorzugte Medium (etwa digitale Malerei oder Fotografie), den gewählten Stil (zum Beispiel hyperrealistisch oder Pop-Art), die Art der Beleuchtung (wie Randbeleuchtung oder Dämmerungslicht) sowie Farbe und Beschaffenheit enthalten. Dadurch lassen sich präzisere Ergebnisse erzielen.[23]

Kombination von Text-Grafischen Nutzerschnittstelle (GUI)

[Bearbeiten | Quelltext bearbeiten]

Die KI-Forschung von Meta Segment Anything veröffentlichte 2023, ein Modell, das eine Bildsegmentierung durch Eingabeaufforderung durchführen kann. Es unterstützt drei Formen der Eingabeaufforderung: einzuschließende und auszuschließende Punkte, Begrenzungsrahmen und Auswahlen.[24]

Mit der Funktion „Vary (Variieren)“ haben Benutzer von Midjourney die Möglichkeit, bestimmte Teile eines Bildes auszuwählen und diese mithilfe von Texteingabeaufforderungen zu ändern. Benutzer können beispielsweise einen Teil des Bildes auswählen, der ihnen nicht gefällt, und ihn mithilfe einer Eingabeaufforderung umwandeln. Das Tool bietet auch die Möglichkeit, Elemente hinzuzufügen, beispielsweise das Hinzufügen von Accessoires zu einem Porträt. Dieser Vorgang wird in anderen Werkzeugen als „Inpainting“ bezeichnet.[25]

Commons: Prompt Engineering – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Victor Sanh, Albert Webson, Colin Raffel, et al.: Multitask Prompted Training Enables Zero-Shot Task Generalization. 15. Oktober 2021, arxiv:2110.08207v3 (englisch).
  2. Vivian Liu, Lydia B. Chilton: Design Guidelines for Prompt Engineering Text-to-Image Generative Models. In: ACM Digital Library. Association for Computing Machinery, 29. April 2022, doi:10.1145/3491102.3501825 (englisch).
  3. a b Jim Clyde Monge: Dall-E2 VS Stable Diffusion: Same Prompt, Different Results. In: MLearning.ai. 25. August 2022, abgerufen am 31. August 2022 (englisch).
  4. Jakob Nielsen: AI Is First New UI Paradigm in 60 Years. In: jakobnielsenphd.substack.com. 22. Juni 2023, abgerufen am 29. Juni 2023 (englisch).
  5. Introduction to prompt engineering. Microsoft, 29. März 2024, abgerufen am 2. Juni 2024 (englisch).
  6. Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothee Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, Aurelien Rodriguez, Armand Joulin, Edouard Grave, Guillaume Lample: LLaMA: Open and Efficient Foundation Language Models. Meta AI, 27. Februar 2023, doi:10.48550/arXiv.2302.13971, arxiv:2302.13971v1.
  7. Jared Kaplan, Sam McCandlish, Tom Henighan, Tom B. Brown, Benjamin Chess, Rewon Child, Scott Gray, Alec Radford, Jeffrey Wu, Dario Amodei: Scaling Laws for Neural Language Models. 23. Januar 2022, doi:10.48550/arXiv.2001.08361, arxiv:2001.08361v1 (englisch).
  8. Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel M. Ziegler, Jeffrey Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, Dario Amodei: Language Models are Few-Shot Learners. 23. Januar 2022, doi:10.48550/arXiv.2005.14165, arxiv:2005.14165v4 (englisch).
  9. Sewon Min, Xinxi Lyu, Ari Holtzman, Mikel Artetxe, Mike Lewis, Hannaneh Hajishirzi, Luke Zettlemoyer: Rethinking the Role of Demonstrations: What Makes In-Context Learning Work? 20. August 2022, doi:10.48550/arXiv.2202.12837, arxiv:2202.12837v2 (englisch).
  10. Zachary McAuliffe: Google's Latest AI Model Can Be Taught How to Solve Problems. In: CNET. Abgerufen am 10. März 2023 (englisch).
  11. Ekta Dang: Harnessing the power of GPT-3 in scientific research. In: VentureBeat. 8. Februar 2023, abgerufen am 10. März 2023 (englisch).
  12. Roger Montti: Google's Chain of Thought Prompting Can Boost Today's Best Algorithms. In: Search Engine Journal. 13. Mai 2022, abgerufen am 10. März 2023 (englisch).
  13. Tiernan Ray: Amazon's Alexa scientists demonstrate bigger AI isn't always better. In: ZDNET. Abgerufen am 10. März 2023 (englisch).
  14. Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed H. Chi, Quoc V. Le, Denny Zhou: Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. 10. Januar 2023, doi:10.48550/arXiv.2201.11903, arxiv:2201.11903v6 (englisch).
  15. Shunyu Yao, Dian Yu, Jeffrey Zhao, Izhak Shafran, Thomas L. Griffiths, Yuan Cao, Karthik Narasimhan: Tree of Thoughts: Deliberate Problem Solving with Large Language Models. 3. Dezember 2023, doi:10.48550/arXiv.2305.10601, arxiv:2305.10601v2 (englisch).
  16. Jieyi Long: Large Language Model Guided Tree-of-Thought. 15. März 2023, doi:10.48550/arXiv.2305.08291, arxiv:2305.08291v1.
  17. Tree of Thoughts (ToT). In: Prompt Engineering Guide. Abgerufen am 26. Juli 2024 (englisch).
  18. Beren Millidge: LLMs confabulate not hallucinate. In: Beren's Blog. 19. März 2023, abgerufen am 26. Juli 2024 (englisch).
  19. Xuezhi Wang, Jason Wei, Dale Schuurmans, Quoc Le, Ed Chi, Sharan Narang, Aakanksha Chowdhery, Denny Zhou: Self-Consistency Improves Chain of Thought Reasoning in Language Models. 7. März 2003, doi:10.48550/arXiv.2203.11171, arxiv:2203.11171v4 (englisch).
  20. Noah Shinn, Federico Cassano, Edward Berman, Ashwin Gopinath, Karthik Narasimhan, Shunyu Yao: Reflexion: Language Agents with Verbal Reinforcement Learning. 10. August 2023, doi:10.48550/arXiv.2303.11366, arxiv:2303.11366v4 (englisch).
  21. Yi Liu, Gelei Deng, Yuekang Li, Kailong Wang, Tianwei Zhang, Yepang Liu, Haoyu Wang, Yan Zheng, Yang Liu: Prompt Injection attack against LLM-integrated Applications. 2023, doi:10.48550/ARXIV.2306.05499, arxiv:2306.05499v1.
  22. Daniel Szöke: Prompt Injection: Marvin von Hagen trägt vor, wie er Bing Chat austrickste. In: heise online. 17. Juli 2023, abgerufen am 26. Juli 2023.
  23. Prompt Engineering für Einsteiger: So funktioniert's! In: tolingo. Abgerufen am 23. August 2023.
  24. Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao, Chloe Rolland, Laura Gustafson, Tete Xiao, Spencer Whitehead, Alexander C. Berg, Wan-Yen Lo, Piotr Dollár, Ross Girshick: Segment Anything. 1. April 2023, doi:10.48550/arXiv.2304.02643, arxiv:2304.02643v1 (englisch).
  25. Jose Antonio Lanz: MidJourney Adds Image Inpainting—Game Changer or Catch-Up Play? In: decrypt.co. 23. August 2023, abgerufen am 23. August 2023 (englisch).