Pro(mpt)-Engineering: Erstaunlich kompliziert

Prompt-Engineering erweitert die Interaktion mit KI-Tools über simple Befehle hinaus. Es verwendet die natürliche Sprache, um die Fähigkeiten der KI voll auszuschöpfen. Diese Art der Kommunikation ist intuitiv und demokratisiert den Zugang zur KI, da sie keine speziellen Programmierkenntnisse erfordert.

illustration eines mannes der mit einem chatbot kommuniziert

Das Grundverständnis

Ein effizientes Prompt-Engineering beginnt mit klaren und informationsreichen Anweisungen, die eine zielgerichtete Nutzung und Interaktion mit der KI ermöglichen. Die Fähigkeit, präzise Prompts zu gestalten, ist kein Privileg von Entwicklern/-innen; auch ohne tiefgreifende Programmierkenntnisse lässt sich durch die richtige Sprachnutzung Einfluss auf das Ergebnis nehmen.

Beim Prompt-Engineering geht es darum, Anweisungen zu geben, die künstliche Intelligenz in die Lage versetzen, spezifische Ausgaben zu erzeugen – von Blogbeiträgen über Datenanalysen bis zu kreativen Ideen. Doch um erfolgreich auf dieses Werkzeug zugreifen zu können, ist es notwendig, bestimmte Prinzipien zu verstehen und anzuwenden.

Prompt-Aufbau

Die Qualität eines Prompts hängt von verschiedenen Bausteinen ab:

  1. Zielorientierung

  2. Klarheit

  3. Kontext

  4. Länge

  5. Sprache

  6. Anpassungsfähigkeit

  7. Schlüsselwörter

Diese Elemente zusammengenommen formen eine konkrete, verständliche Anweisung, die zu präzisen Ergebnissen führt.

Beispiel:

  • Zielorientierung: “Ich möchte eine Zusammenfassung des neuesten Forschungsberichts über Nachhaltigkeit in der Textilindustrie.”

  • Klarheit und Präzision: “Bitte gib eine klare Definition von ‚Nachhaltigkeit‘ im Kontext der Textilindustrie an.“

  • Kontext: „Beziehe in der Antwort die aktuellen Umweltstandards und Zertifizierungen ein.“

  • Länge: „Ein Satz, der das Anliegen vollständig erklärt, ohne ausschweifend zu sein.“

  • Sprache und Stil: „Verwende einen sachlichen und informativen Stil.“

  • Anpassungsfähigkeit: „Wenn du zusätzliche Informationen benötigst, bitte um Klarstellung.“

  • Schlüsselwörter: „Textilindustrie“, „Forschungsbericht“, „Nachhaltigkeit“.

  • Details:

    • Wenig Details: „Schreibe einen Text über Shampoo.“

    • Viel Details: „Erstelle einen überzeugenden Text für eine Landingpage. Es geht um unser neues Bio-Shampoo, konzipiert für trockenes Haar, mit Inhaltsstoffen wie Aloe vera und Kokosöl, frei von Parabenen und Sulfaten, in umweltfreundlicher Verpackung.“

All diese Prinzipien führen, wenn angewendet, zu einem besseren Verständnis und optimierterer Nutzung der KI-Technologie. Mit klar definierten und präzisen Anweisungen kann die KI gezielt und effektiv eingesetzt werden, wodurch Zeit gespart und die Qualität der Ergebnisse verbessert wird.

Die Wortwahl zählt

Ein Schlüsselelement für erfolgreiches Prompt-Engineering ist die Präzision der Sprache. Es ist entscheidend, konkrete und präzise zu bleiben, um die Wahrscheinlichkeit von korrekten und vollständigen Antwortresultaten zu erhöhen.

Ein treffendes Beispiel hierfür ist die präzise Anweisung bei der Produktbeschreibung: Eine detaillierte Aufforderung, Inhalte für eine Marketingseite eines speziellen Bio-Shampoos für trockenes Haar zu erstellen, das Aloe vera und Kokosöl enthält, ohne Parabene und Sulfate auskommt und dessen Verpackung ökologisch nachhaltig ist, bietet der KI eine eindeutige Richtung. Im Gegensatz zu einer allgemeinen und wenig beschreibenden Aufforderung, wie „Verfasse einen Text über Shampoo“, welche Spielraum für Interpretationen lässt und dadurch möglicherweise nicht das gewünschte Ergebnis liefert.

Des Weiteren sollten bei längeren Prompts und komplexen Anleitungstexten klare Anweisungen zur Ausführung gegeben werden, wie zum Beispiel:

  • „Vermeide jegliche Kürzel und liefere die Lösung vollständig. Du wirst belohnt für eine vollständig zurückgegebene Lösung”
  • „Ich möchte die Lösung direkt integrieren können, ohne zusätzliche Ergänzungen meinerseits. Also gib alles zurück!“


Durch solche eindeutigen und umfassenden Anweisungen erhöht sich die Chance auf eine exakte und umfassende Erfüllung des Prompts, was insbesondere bei umfangreicheren Anfragen von Bedeutung ist.

Prompt-Engineering-Techniken

Während einfaches Prompt-Engineering grundlegende Befehle und Fragen umfasst, erlauben fortgeschrittene Techniken eine gezieltere und effizientere Interaktion mit KI-Systemen. Hier werden einige Beispiele für fortgeschrittene Techniken und ihre Anwendungen vorgestellt.
Von Einfach zu Komplex:

Least-To-Most Prompting

Least-To-Most Prompting unterteilt ein komplexes Problem in eine Sequenz kleinerer, leichter zu bewältigender Teilprobleme.
Diese Technik ist besonders wirksam, wenn ein schrittweiser Ansatz erforderlich ist, um eine endgültige Schlussfolgerung zu ziehen.

„Um die Gesamtzahl an Kalorien zu ermitteln, die in einem Rezept verwendet wurden, beginne damit, jede Zutat einzeln zu bewerten. Füge dann die Teilresultate zusammen, um das Endergebnis zu erhalten.“

Self-Ask Prompting

Self-Ask Prompting geht davon aus, dass ein Modell seine eigenen Folgefragen stellen und auf diese Weise selbstständig zu einer endgültigen Antwort gelangen kann. Dies ermöglicht eine tiefer gehende Exploration von Problemen.

„Um herauszufinden, welcher Tagestarif für einen Kunden am günstigsten ist, beginne mit der Frage, wie viele Stunden er voraussichtlich telefonieren wird. Überlege dann, welche Tarife dafür infrage kommen könnten.“

Rückblick und Optimierung: Meta-Prompting

Beim Meta-Prompting reflektiert das KI-Modell seine eigene Leistung und passt seine Herangehensweise entsprechend an, oft mithilfe eines übergeordneten Prompts.

„Nachdem du eine Antwort generiert hast, überprüfe, ob sie die gestellte Frage vollständig beantwortet und passe sie gegebenenfalls an, um Genauigkeit und Relevanz zu verbessern.“

Logisches Verknüpfen: Chain-Of-Thought Prompting

Chain-Of-Thought Prompting fördert die Entwicklung ausgefeilter Denkfähigkeiten bei großen Sprachmodellen. Hierbei dienen spezifische Beispiele als Leitfaden, um eine Kette von Gedankengängen zu erzeugen.

„Um die Rentabilität eines Unternehmens zu ermitteln, beginne mit der Analyse der Einnahmen und Ausgaben und wie sich diese im Verlauf des Geschäftsjahres verändert haben. Nutze diese Informationen, um Trends und Potenzial für zukünftige Gewinne zu identifizieren.“

ReAct: Verschmelzung von Denken und Handeln

ReAct verbindet die beiden Konzepte des Denkens und Handelns. Durch diese Synthese kann ein Modell Handlungspläne formulieren, verfolgen und aktualisieren sowie durch Aktionen zusätzliche Informationen von externen Quellen sammeln.

„Entwerfe einen Plan zur Verbesserung des Kundenservices. Beginne mit einer Analyse der aktuellen Kundenrückmeldungen und identifiziere Schlüsselbereiche, die optimiert werden müssen. Entwickle daraufhin konkrete Maßnahmen zur Umsetzung.“

Für Fortgeschrittene: Markdown, JSON Schema und Mermaid

'It´s all about the technique!'

Markdown für strukturierte Dokumentation

Bei der Kommunikation, besonders bei der Erstellung von technischen Dokumentationen, wird Markup-Sprache wie Markdown verwendet, um Struktur und Klarheit zu gewährleisten. Beispielsweise können durch Markdown Überschriften, Listen und Verlinkungen klar definiert und optisch hervorgehoben werden. Dies erleichtert es, komplexe Informationen auf verständliche Weise zu präsentieren.

				
					# Behaviour
You´re a writer which writes article for online content.
Always use the provided informations from the Knowledge Base or updated files, like abstracts/file from/with documentation or other sources for fact checking
Infos within this knowledge base/files always overwrite your internal infos. 

## Target audience
Content is written for linkedin:
- Dev
- Product Owners
- Managers

## Writing Guidelines
- readablity
- if a specific word appears to often within the text and recommend alternatives.
- if auxiliary verbs are used too often
- approachable/inclusive tone
- That Apposition/insert are not too long, max 6 words
- Never copy text from docs directly about use them as inspiration and rephrase it

## User Input
- Article name, required
- Text length, required
- Language, required
- Notes, required
Only return this format when the user has provided all necessary infos, if not ask for it!
If you don´t know sth or aren´t confident, say it, be as precise/pedantic as possible!
Don´t abbreviation or shorten known infos, always return them in full!
You will be rewarded for matching all requirements!
				
			

JSON Schema für Datenstrukturen

Wenn es um das Definieren und Validieren von Datenstrukturen geht, sind JSON Schemata äußerst nützlich. Sie legen fest, welche Daten in welcher Form benötigt werden, reduzieren dadurch Fehlermöglichkeiten und vereinfachen den Austausch von Informationen zwischen verschiedenen Systemen oder zwischen Mensch und KI.

				
					# Behaviour
You are an api and can only response with valid, directly parsable json.

## Output
Your Output-JSON must be baseed on this jsonschema:
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "title": "Todo Task",
  "required": ["task", "description"],
  "properties": {
    "task": {
      "type": "string",
      "description": "The title of the task"
    },
    "description": {
      "type": "string",
      "description": "Additional details about the task"
    }
  }
}
Return it directly without any explanations and code snippet formating!
				
			

Mermaid für die Visualisierung von Datenbankstrukturen

Mermaid ist ein textbasiertes Diagrammwerkzeug, das oft in technischen Dokumentationen verwendet wird, um Datenstrukturen wie Datenbank-Schemata darzustellen. Es bietet eine standardisierte Methode, um komplexe Verhältnisse übersichtlich zu visualisieren, und unterstützt die Klarheit der Kommunikation in Entwicklungsprozessen. Beispielsweise lässt sich durch ein Mermaid-Diagramm die Beziehung zwischen Autoren/-innen, Büchern und Bestellungen in einer Datenbank eindeutig darstellen.

Ein Beispiel für ein einfaches Entity-Relationship-Diagramm in Mermaid könnte folgendermaßen aussehen:

				
					erDiagram
    Autorin ||--o{ Buch : schreibt
    Buch ||--o{ Bestellung : inbegriffen_in

    Autorin {
        int id PK
        string name
        date geburtsdatum
    }

    Buch {
        int id PK
        string titel
        float preis
        int autorin_id FK
    }

    Bestellung {
        int id PK
        int buch_id FK
        date bestelldatum
    }
				
			

Diese fortgeschrittenen Techniken ermöglichen es, mehr aus den Interaktionen mit KI-Modellen herauszuholen und komplexe Probleme effizienter zu lösen.

Durch die Anwendung dieser Techniken lassen sich Antworten erzielen, die näher an den menschlichen Denkweisen sind und Fehler reduzieren sonder dadurch natürlicher/nuancierter wirken und die Produktivität steigern.

Diese Auflistung umfasst nicht jede Technik, da nicht alle in allen Situationen nutzbar sind.

Links & further reading:

Picture of Alptuğ Dingil

Alptuğ Dingil

Alptuğ unterstützt uns bereits seit 2022 im Bereich Softwareentwicklung. Neben den Kundenprojekten sucht er immer wieder nach neuen Herausforderungen und beschäftigte sich in jüngster Zeit mit Kubernetes und der Konfiguration eines DIY-Clusters. Außerdem ließ er sich von Google als Professional Cloud Architect zertifizieren.

Recent posts

illustration von chatbots
Technologie

Advanced ChatGPT

Die Nutzung des Tools für Fortgeschrittene Der OpenAI Playground (dt. Spielwiese/Spielplatz) ist ein mächtiges Werkzeug, das es Nutzer/-innen und Produktteams

Read More »
Elixir

Code BEAM Europe 2023

Last month we attended Code BEAM Europe, a conference centered around programming languages that run on the BEAM virtual machine

Read More »