Prompt und Kontext
Prompt und Kontext sind grundlegende Konzepte im Prompt-Engineering für große Sprachmodelle (LLMs).
Der Kontext ist eine entscheidend wichtige Komponente des Prompts, die die Fähigkeit einer LLM bestimmt, genaue, relevante und nützliche Antworten zu generieren. Effektives Prompt-Engineering besteht zu einem großen Teil aus der Kunst, den richtigen Kontext zu sammeln, zu filtern, zu strukturieren und dem Modell im richtigen Moment zu präsentieren, während gleichzeitig die Einschränkungen moderner LLMs überwunden werden.
Definition eines Prompts
Ein Prompt (engl. prompt) ist der vollständige Satz von Eingabedaten, der einer LLM zur Generierung einer Antwort bereitgestellt wird. Es ist nicht nur eine Frage oder ein Befehl, sondern ein strukturierter Text, der Folgendes umfassen kann:
- Anweisungen: Direkte Anleitungen für das Modell, was zu tun ist, in welchem Format, Stil oder Ton.
- Hauptanfrage (Query): Die unmittelbare Frage des Benutzers oder die Beschreibung der Hauptaufgabe.
- Kontext: Zusätzliche Informationen, die für die korrekte Ausführung der Anfrage erforderlich sind.
- Beispiele (Few-Shot-Beispiele): Demonstrationen des gewünschten Formats oder Stils der Antwort bei ähnlichen Aufgaben.
Die Qualität und Vollständigkeit des Prompts bestimmen direkt die Relevanz, Genauigkeit und Nützlichkeit der Antwort der LLM.
Definition von Kontext
Kontext im Rahmen des Prompt-Engineerings ist jede Information innerhalb eines Prompts, die dem Modell hilft, die Aufgabe, die Besonderheiten der Situation oder die Erwartungen des Benutzers besser zu verstehen, aber nicht Teil seiner ursprünglichen Trainingsdaten ist. Der Kontext liefert situative Details, die für die Generierung einer angemessenen Antwort notwendig sind.
Kontext kann Folgendes umfassen:
- Den bisherigen Dialogverlauf (in Chatbots).
- Daten, die aus externen Quellen (Dokumente, Datenbanken, Webseiten) extrahiert wurden – die Grundlage von RAG.
- Informationen über den Benutzer (Profil, Vorlieben).
- Spezifische Details zur aktuellen Aufgabe oder Situation.
- Beispiele für die Ausführung ähnlicher Aufgaben (als Teil des Few-Shot-Prompting).
Es ist wichtig, den im Prompt bereitgestellten Kontext von dem allgemeinen Wissen zu unterscheiden, das das Modell während seines Vortrainings erworben hat. Prompt-Engineering konzentriert sich auf die effektive Bereitstellung von spezifischem situativem Kontext.
Wechselwirkung und Einfluss
Prompt und Kontext sind grundlegende Konzepte bei der Arbeit mit Transformern, die bestimmen, wie das Modell Eingabedaten wahrnimmt und worauf es seine Ergebniserzeugung stützt. Architektonisch unterscheidet ein Transformer nicht explizit zwischen „Prompt“ und „Kontext“ – beides sind Teile der Eingabesequenz von Token, die in Embeddings umgewandelt, mit Positionsinformationen angereichert und gemeinsam von den Self-Attention-Schichten verarbeitet werden.
Prompt und Kontext sind untrennbar miteinander verbunden: Der Kontext ist ein integraler Bestandteil des Prompts.
- Der Kontext formt den Prompt: Ein Ingenieur wählt und strukturiert relevanten Kontext zur Aufnahme in den Prompt.
- Der Kontext leitet das Modell: Die bereitgestellten Informationen ermöglichen es der LLM, den Raum möglicher Antworten einzugrenzen, sich auf relevante Aspekte zu konzentrieren und Halluzinationen zu vermeiden.
- Die Qualität des Kontexts bestimmt die Qualität der Antwort: Unzureichender, irrelevanter oder widersprüchlicher Kontext führt zu ungenauen, allgemeinen oder fehlerhaften Antworten. Ein präziser und vollständiger Kontext erhöht die Spezifität und Nützlichkeit der generierten Ausgabe.
- Einfluss auf die Interpretation von Anweisungen: Der Kontext kann die Interpretation allgemeiner Anweisungen im Prompt präzisieren oder verändern.
Die Effektivität eines Prompts hängt maßgeblich davon ab, wie erfolgreich der Ingenieur relevanten Kontext für das Modell sammeln, filtern und präsentieren konnte.
Arten von Kontext
Kontext kann nach verschiedenen Merkmalen klassifiziert werden:
Nach Quelle:
- Vom Benutzer bereitgestellt: Explizite Eingaben des Benutzers, seine Frage oder Aufgabenbeschreibung.
- Aus dem Dialogverlauf: Vorherige Nachrichten des Benutzers und des Assistenten (Kurzzeitgedächtnis).
- Extrahiert (Retrieved): Daten aus externen Quellen (Dokumente, DB, Web) mittels RAG.
- Aus dem Profil/Wissensbasis: Langfristige Informationen über den Benutzer oder die Domäne.
- Statisch/Instruktiv: Informationen, die vom Ingenieur in die Prompt-Vorlage eingebettet werden (Anweisungen, Beispiele, Rollendefinitionen).
Nach Dynamik:
- Statischer Kontext: Unveränderlicher Teil des Prompts (Anweisungen, Definitionen, Beispiele). Definiert die allgemeine Aufgabe.
- Dynamischer Kontext: Informationen, die sich von Anfrage zu Anfrage ändern (Benutzerdaten, RAG-Ergebnisse, aktuelle Zeit). Liefert spezifische Details.
Nach Speicherdauer (Gedächtnis):
- Kurzzeitkontext: Verlauf der aktuellen Dialogsitzung.
- Langzeitkontext: Gespeicherte Daten über den Benutzer oder frühere Interaktionen, die Speicher- und Abrufmechanismen erfordern.
Kontextmanagement
Effektives Kontextmanagement ist eine Schlüsselaufgabe des Prompt-Engineerings, insbesondere angesichts der Beschränkungen des Kontextfensters von LLMs. Die wichtigsten Methoden sind:
- RAG: Die gebräuchlichste Methode zur Arbeit mit großen Informationsmengen. Sie ermöglicht das dynamische Auffinden und Einfügen nur der relevantesten Fragmente aus einer umfangreichen Wissensbasis in den Prompt. Erfordert eine Vektordatenbank und effiziente Suchmechanismen (lexikalisch oder semantisch).
- Chunking: Das Aufteilen großer Dokumente in semantisch zusammenhängende oder feste Größenabschnitte zur Indizierung und anschließenden Extraktion mittels RAG.
- Zusammenfassung (Summarization): Die Komprimierung langer Dialogverläufe oder umfangreicher Dokumente, um den wesentlichen Inhalt innerhalb eines begrenzten Kontextfensters zu übermitteln.
- Gedächtnismanagement (Memory Management): Die Verwendung verschiedener Strategien zur Speicherung und zum Abruf des Dialogverlaufs in Chatbots und Agenten (z.B. ConversationBufferMemory, ConversationSummaryBufferMemory in LangChain).
- Gleitendes Fenster (Sliding Window): Beibehaltung nur der N letzten Nachrichten eines Dialogs im Kontext.
- Filterung und Priorisierung: Auswahl der relevantesten Kontextfragmente basierend auf ihrer Wichtigkeit (z.B. anhand von Relevanzbewertungen aus der Suche), bevor der endgültige Prompt zusammengestellt wird.
Rolle des Kontexts im Prompt-Engineering
- Steigerung der Relevanz: Der Kontext ermöglicht es dem Modell, Antworten zu generieren, die genau auf die Anfrage und die Situation des Benutzers zugeschnitten sind.
- Reduzierung von Halluzinationen: Die Bereitstellung von Fakteninformationen (durch RAG) veranlasst das Modell, sich auf diese zu stützen, anstatt Fakten zu erfinden.
- Personalisierung: Kontext über den Benutzer (Vorlieben, Verlauf) ermöglicht die Anpassung von Antworten.
- Zustandsverwaltung: In Dialogen und mehrstufigen Prozessen stellt der Kontext (Verlauf) die Kontinuität und das Bewusstsein des Modells für frühere Schritte sicher.
- Überwindung der Wissensgrenzen des Modells: RAG ermöglicht es dem Modell, Fragen zu Ereignissen zu beantworten, die nach seinem Training stattgefunden haben, oder zu spezifischen/privaten Daten.
Einschränkungen
- Limit des Kontextfensters: Trotz der Erweiterung auf 1-2 Millionen Token bei modernen Modellen kann die Verarbeitung solcher Mengen teuer und langsam sein. Es erfordert effiziente Komprimierungs- und Auswahlstrategien (RAG, Zusammenfassung).
- Suche nach relevantem Kontext: Die Effektivität von RAG hängt von der Qualität der Suche ab. Falsch extrahierter Kontext kann das Modell in die Irre führen ("Garbage in, garbage out").
- "Tal der Gleichgültigkeit" (Valley of Meh): Informationen, die sich in der Mitte eines sehr langen Prompts befinden, können vom Modell ignoriert werden. Dies erfordert eine Strukturierung des Prompts (z.B. die „Sandwich-Technik“).
- Risiko der Kontext-Injektion: Wenn der Kontext aus unzuverlässigen Quellen (z.B. Webseiten) extrahiert wird, kann er schädliche Anweisungen (Prompt-Injections) enthalten.
Siehe auch
- Large language models
- Context window
- Vector databases
- LangChain
Literatur
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
- Wei, J. et al. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
- Chen, S. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
- Packer, C. et al. (2023). MemGPT: Towards LLMs as Operating Systems. arXiv:2310.08560.
- Wang, Y. et al. (2023). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
- Sahoo, P. et al. (2024). A Systematic Survey of Prompt Engineering in Large Language Models: Techniques and Applications. arXiv:2402.07927.
- Kim, S. H. et al. (2024). Theanine: Revisiting Memory Management in Long-term Conversations with Timeline-augmented Response Generation. arXiv:2406.10996.
- Chen, S. et al. (2024). StruQ: Defending Against Prompt Injection with Structured Queries. arXiv:2402.06363.
- Zhong, M. et al. (2024). Understanding the RoPE Extensions of Long-Context LLMs: An Attention Perspective. arXiv:2406.13282.
- Han, H. et al. (2025). Retrieval-Augmented Generation with Graphs (GraphRAG). arXiv:2501.00309.
- Self-Instruct (2025). Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.