Lange Texte behindern LLMs, RAG und Few-Shot-Verfahren verbessern Performance.
Wie man die Leistung von LLMs durch Kontext-Ingenieurwesen erheblich verbessern kann Kontext-Ingenieurwesen ist die Wissenschaft dahinter, LLMs (large language models) mit dem richtigen Kontext zu versorgen, um ihre Leistung zu maximieren. Wenn Sie mit LLMs arbeiten, erstellen Sie normalerweise einen System-Prompt und bitten das Modell, eine bestimmte Aufgabe auszuführen. Aus der Perspektive eines Programmierers sind jedoch weitere Elemente zu berücksichtigen, um die Fähigkeit des LLMs zu verbessern. In diesem Artikel werde ich die Wissenschaft des Kontext-Ingenieurwesens erläutern und zeigen, wie Sie Techniken des Kontext-Ingenieurwesens anwenden können, um die Leistung Ihres LLMs zu steigern. Vor dem Beginn ist es wichtig, den Begriff Kontext-Ingenieurwesen zu definieren. Kontext-Ingenieurwesen bezieht sich auf die Entscheidung darüber, was in Ihr LLM eingegeben wird. Dies kann beispielsweise sein: Der System-Prompt, den Sie schreiben Zusätzliche Daten, die Sie dem Modell zur Verfügung stellen Die Art und Weise, wie Sie Beispiele präsentieren Dynamische Änderungen des Kontexts anhand der Aufgabe Der Begriff "Prompt-Ingenieurwesen" wurde bisher am häufigsten verwendet, um diesen Prozess zu beschreiben. Allerdings deckt er nicht alle Eingaben ab, die in ein LLM gemacht werden. Um die maximale Leistung aus Ihrem LLM herauszuholen, müssen Sie alle Kontextelemente berücksichtigen, nicht nur den System-Prompt. Meine Anregung für diesen Artikel kam aus einem Tweet von Andrej Karpathy, in dem er die Bedeutung von Prompt-Ingenieurwesen betonte. Ich stimme ihm zu, dass Prompt-Ingenieurwesen eine wichtige Wissenschaft bei der Arbeit mit LLMs ist. Dennoch reicht es nicht aus, nur den System-Prompt zu ändern; vielmehr müssen Sie auch andere Eingabeelemente berücksichtigen. Ein wichtiges Unterscheidungsmerkmal, das geklärt werden sollte, ist, ob Sie LLMs über eine API (indem Sie sie mit Code aufrufen) oder über eine Konsole (beispielsweise über die ChatGPT-Website oder -Anwendung) verwenden. Kontext-Ingenieurwesen ist definitiv wichtig, wenn Sie LLMs über die Konsole verwenden. Mein Fokus in diesem Artikel liegt jedoch auf der API-Nutzung, da Sie hier mehr Optionen haben, den Kontext dynamisch zu verändern. Ein Beispiel hierfür ist RAG (Reinforcement Augmented Generation), bei dem Sie zunächst eine Vektorsuche durchführen und dem Modell nur die wichtigsten Informationen zur Verfügung stellen. Kontext-Ingenieurwesen-Techniken Zero-Shot Prompting Zero-Shot-Prompting bildet die Grundlage des Kontext-Ingenieurwesens. Bei einer Zero-Shot-Aufgabe führt das LLM eine Aufgabe durch, die es noch nie gesehen hat. Sie geben dem Modell lediglich eine Aufgabenbeschreibung als Kontext. Zum Beispiel könnten Sie ein LLM bitten, einen langen Text in Klasse A oder B zu klassifizieren, wobei: Klasse A: Der Text enthält eine positive Stimmung Klasse B: Der Text enthält eine negative Stimmung Der Kontext (Prompt), den Sie dem LLM zur Verfügung stellen, könnte so aussehen: Sie sind ein Experte im Textklassifizieren und sollen Texte in Klasse A oder B klassifizieren. - Klasse A: Der Text enthält eine positive Stimmung - Klasse B: Der Text enthält eine negative Stimmung Klassifizieren Sie den Text: {Text} Je nach Aufgabe kann dies sehr gut funktionieren. LLMs sind Generalisten und können die meisten einfachen textbasierten Aufgaben bewältigen. Eine Klassifikation eines Textes in zwei Klassen ist in der Regel eine einfache Aufgabe, bei der Zero-Shot-Prompting gut abschneiden wird. Few-Shot Prompting Die nächste Stufe nach Zero-Shot-Prompting ist Few-Shot-Prompting. Bei Few-Shot-Prompting geben Sie dem LLM einen ähnlichen Prompt wie oben, aber Sie fügen auch Beispiele hinzu, die das Modell bei der Ausführung der Aufgabe unterstützen. Folgend ein Beispiel: Sie sind ein Experte im Textklassifizieren und sollen Texte in Klasse A oder B klassifizieren. - Klasse A: Der Text enthält eine positive Stimmung - Klasse B: Der Text enthält eine negative Stimmung {Text 1} -> Klasse A {Text 2} -> Klasse B Klassifizieren Sie den Text: {Text} Sie sehen, ich habe dem Modell einige Beispiele in -Tags eingefügt. Few-Shot-Prompting funktioniert gut, weil Sie dem Modell Beispiele der Aufgabe zur Verfügung stellen, die es auszuführen hat. Dies erhöht normalerweise die Leistung. Ebenso wie bei Menschen, die eine Aufgabe zum ersten Mal ausführen, kann die Leistung durch Beispiele gesteigert werden. Wenn Sie einem Menschen eine Aufgabe beschreiben, die er noch nie gemacht hat, kann er mäßig gut abschneiden. Fügen Sie jedoch Beispiele hinzu, wird seine Leistung in der Regel besser. Eine besonders effektive Methode ist das dynamische Few-Shot-Prompting. Hierbei wählen Sie die Beispiele dynamisch aus, wenn Sie den Prompt für eine Aufgabe erstellen. Angenommen, Sie haben bereits eine Liste von 200 Texten und deren zugehörigen Klassifizierungen. Sie können dann eine Ähnlichkeitssuche zwischen dem neuen Text, den Sie klassifizieren, und den Beispieltexten durchführen. Anschließend messen Sie die Vektörähnlichkeit der Texte und wählen nur die ähnlichsten Texte (aus den 200 Texten) aus, um sie als Kontext in Ihren Prompt zu integrieren. So stellen Sie sicher, dass das Modell relevantere Beispiele erhält, um die Aufgabe auszuführen. RAG (Reinforcement Augmented Generation) RAG ist eine bekannte Technik, um das Wissen von LLMs zu erweitern. Angenommen, Sie haben bereits eine Datenbank mit Tausenden von Dokumenten. Ein Benutzer stellt Ihnen eine Frage, und Sie müssen diese beantworten, indem Sie auf das Wissen in Ihrer Datenbank zurückgreifen. Leider können Sie die gesamte Datenbank nicht in das LLM einspeisen. Selbst mit Modellen wie Llama 4 Scout, die eine Kontextlänge von 10 Millionen Tokens haben, sind Datenbanken oft viel größer. Daher müssen Sie die relevantesten Informationen in der Datenbank finden, um sie dem LLM zur Verfügung zu stellen. RAG funktioniert ähnlich wie dynamisches Few-Shot-Prompting: Durchführen einer Vektorsuche Finden der am ähnlichsten Dokumente zur Benutzerfrage (diese werden als am relevantesten angesehen) Bitten Sie das LLM, die Frage zu beantworten, basierend auf den am ähnlichsten Dokumenten Durch RAG führen Sie Kontext-Ingenieurwesen durch, indem Sie dem LLM nur die relevantesten Daten zur Verfügung stellen, um seine Aufgabe effektiv zu erfüllen. Um die Leistung des LLM weiter zu verbessern, können Sie daran arbeiten, Ihre RAG-Suche zu optimieren, um nur die relevantesten Dokumente zu finden. Tools (MCP) Sie können dem LLM auch Tools zur Verfügung stellen, was ebenfalls ein wichtiger Teil des Kontext-Ingenieurwesens ist, insbesondere jetzt, wo wir den Aufstieg von AI-Agenten beobachten. Tool-Aufrufe werden heute oft mit dem Model Context Protocol (MCP) durchgeführt, einem Konzept, das von Anthropic eingeführt wurde. AI-Agenten sind LLMs, die in der Lage sind, Tools aufzurufen und somit Aktionen auszuführen. Ein Beispiel dafür ist ein Wetteragent. Wenn Sie ein LLM ohne Zugang zu Tools nach dem Wetter in New York fragen, kann es keine genaue Antwort geben. Der Grund dafür ist natürlich, dass Wetterinformationen in Echtzeit abgerufen werden müssen. Um dies zu ermöglichen, können Sie dem LLM beispielsweise ein Tool wie folgt zur Verfügung stellen: python @tool def get_weather(city): # Code, um das aktuelle Wetter für eine Stadt abzurufen return weather Wenn Sie dem LLM Zugang zu diesem Tool geben und es nach dem Wetter fragen, kann es die Wetterinformationen für eine Stadt abrufen und Ihnen eine genaue Antwort geben. Die Bereitstellung von Tools für LLMs ist unglaublich wichtig, da sie die Fähigkeiten des LLMs erheblich erweitert. Themen, die berücksichtigt werden sollten In diesem Abschnitt mache ich einige Anmerkungen, was Sie beachten sollten, wenn Sie den Kontext für Ihr LLM erstellen: Nutzung der Kontextlänge Die Kontextlänge eines LLMs ist eine wichtige Überlegung. Bis Juli 2025 können Sie die meisten neuesten LLMs mit über 100.000 Eingabetokens versorgen. Dies bietet Ihnen viele Möglichkeiten, den Kontext zu nutzen. Sie müssen jedoch das Gleichgewicht zwischen verschiedenen Faktoren finden: Quantität des Kontexts Relevanz des Kontexts Aufgabenkomplexität Normalerweise ist die einzige Möglichkeit, das Gleichgewicht zu finden, die Testung der LLM-Leistung. Beispielsweise können Sie die Genauigkeit bei einer Klassifizierungsaufgabe über verschiedene Prompts überprüfen. Wenn der Kontext zu lang für das effektive Arbeiten des LLMs ist, teilen Sie die Aufgabe gelegentlich in mehrere Prompts auf. Zum Beispiel könnten Sie einen Prompt verwenden, um einen Text zusammenzufassen, und einen zweiten Prompt, um die Zusammenfassung zu klassifizieren. Dies hilft dem LLM, seinen Kontext effektiv zu nutzen und somit die Leistung zu steigern. Kontextrot Letzte Woche habe ich einen interessanten Artikel über Kontextrot gelesen. Darin wurde beschrieben, dass die Erhöhung der Kontextlänge die Leistung von LLMs verringert, selbst wenn die Aufgabenschwierigkeit nicht zunimmt. Dies bedeutet: Die Bereitstellung irrelevanten Informationsmaterials verringert die Fähigkeit des LLMs, Aufgaben erfolgreich zu lösen, selbst wenn die Aufgabenschwierigkeit konstant bleibt. Die Kernpunkte sind, dass Sie nur relevante Informationen an Ihr LLM weiterleiten sollten. Die Bereitstellung irrelevanten Kontexts verringert die Leistung (d. h., die Leistung ist nicht neutral gegenüber der Eingabelänge). Fazit In diesem Artikel habe ich das Thema des Kontext-Ingenieurwesens behandelt, das der Prozess ist, ein LLM mit dem richtigen Kontext zu versorgen, um seine Aufgaben effektiv zu erfüllen. Es gibt viele Techniken, die Sie anwenden können, um den Kontext zu füllen, wie Few-Shot-Prompting, RAG und Tools. Diese Techniken sind alle leistungsstarke Werkzeuge, die die Fähigkeit eines LLMs erheblich verbessern können. Außerdem müssen Sie berücksichtigen, dass die Bereitstellung zu viel Kontexts ebenfalls Nachteile hat. Die Erhöhung der Anzahl der Eingabetokens verringert die Leistung, wie in dem Artikel über Kontextrot beschrieben. Industry-Insiders betrachten Kontext-Ingenieurwesen als eine entscheidende Disziplin, um die Effektivität von LLMs zu maximieren. Unternehmen wie Anthropic treiben diese Techniken kontinuierlich vor, um den Einsatz von AI-Agenten zu optimieren. Die kontinuierliche Verbesserung der Methoden führt zu erheblichen Fortschritten in der Praxis und Forschung.