ist die Wissenschaft, LLMs mit dem richtigen Kontext zur Maximierung der Leistung zu liefern. Wenn Sie mit LLMs arbeiten, erstellen Sie normalerweise eine Systemaufforderung und bitten die LLM, eine bestimmte Aufgabe auszuführen. Wenn Sie jedoch aus Sicht eines Programmierers mit LLMs arbeiten, müssen mehr Elemente berücksichtigt werden. Sie müssen feststellen, welche anderen Daten Sie Ihre LLM ernähren können, um die Fähigkeit zu verbessern, die Aufgabe auszuführen, die Sie ausführen können.
In diesem Artikel werde ich die Wissenschaft des Kontexttechnik diskutieren und wie Sie Kontext -Engineering -Techniken anwenden können, um die Leistung Ihres LLM zu verbessern.

Sie können meine Artikel auch lesen Zuverlässigkeit für LLM -Anwendungen Und Dokumentieren Sie die QA mit multimodalen LLMs
Inhaltsverzeichnis
Definition
Bevor ich anfange, ist es wichtig, den Begriff Kontext Engineering zu definieren. Context Engineering ist im Wesentlichen die Wissenschaft der Entscheidung, was Sie in Ihre LLM einfügen sollen. Dies kann zum Beispiel sein:
- Die Systemaufforderung, die dem LLM mitteilt, wie man handelt
- Dokumentieren Sie die Daten mit der Suche nach Lappenvektorsuche ab
- Wenige Beispiele
- Werkzeuge
Die nächstgelegene frühere Beschreibung davon struggle der Begriff Schnelltechnik. Das schnelle Engineering ist jedoch ein weniger beschreibender Begriff, wenn man bedenkt, dass er nur die Systemaufforderung ändert, die Sie in die LLM ernähren. Um die maximale Leistung aus Ihrem LLM herauszuholen, müssen Sie den gesamten Kontext berücksichtigen, den Sie in ihn einfügen, nicht nur die Systemaufforderung.
Motivation
Meine erste Motivation für diesen Artikel kam aus dem Lesen dieses Tweets von Andrej Karpathy.
Ich stimmte wirklich dem Punkt zu, den Andrej in diesem Tweet gemacht hat. Schnelltechnik ist definitiv eine wichtige Wissenschaft bei der Arbeit mit LLMs. Das schnelle Engineering umfasst jedoch nicht alles, was wir in LLMs eingeben. Zusätzlich zu dem von Ihnen geschriebenen System müssen Sie auch Elemente wie folgt berücksichtigen:
- Welche Daten sollten Sie in Ihre Eingabeaufforderung einfügen?
- Wie holen Sie diese Daten ab
- So liefern Sie nur relevante Informationen für die LLM
- Usw.
Ich werde all diese Punkte in diesem Artikel diskutieren.
API gegen Konsolenverbrauch
Ein wichtiger Unterschied zu klären ist, ob Sie die LLMs aus einer API (mit Code aufrufen) oder über die Konsole (z. B. über die über die CHATGPT -Web site oder Anwendung). Context Engineering ist definitiv wichtig, wenn Sie mit LLMs durch die Konsole arbeiten. Mein Fokus in diesem Artikel wird jedoch auf der API -Verwendung liegen. Der Grund dafür ist, dass Sie bei der Verwendung einer API mehr Optionen zum dynamischen Ändern des Kontexts haben, die Sie mit dem LLM füttern. Sie können beispielsweise Lappen durchführen, wo Sie zum ersten Mal eine Vektorsuche durchführen und die LLM nur die wichtigsten Informationsbits und nicht die gesamte Datenbank füttern.
Diese dynamischen Veränderungen sind nicht auf die gleiche Weise verfügbar, wenn Sie mit LLMs durch die Konsole interagieren. Daher werde ich mich darauf konzentrieren, LLMs durch eine API zu verwenden.
Kontext -Engineering -Techniken
Null-Shot-Aufforderung
Null-Shot-Aufforderung ist die Foundation für den Kontext-Engineering. Eine Aufgabe machen Null-Shot bedeutet, dass die LLM eine Aufgabe ausführt, die es zuvor noch nicht gesehen hat. Sie liefern im Wesentlichen nur eine Aufgabenbeschreibung als Kontext für die LLM. Wenn Sie beispielsweise einem LLM einen langen Textual content bereitstellen und ihn auffordern, den Textual content nach einer Definition der Klassen in die Klasse A oder B zu klassifizieren. Der Kontext (Eingabeaufforderung), den Sie füttern, kann so etwas aussehen:
You're an knowledgeable textual content classifier, and tasked with classifying texts into
class A or class B.
- Class A: The textual content accommodates a optimistic sentiment
- Class B: The subsequent accommodates a unfavourable sentiment
Classify the textual content: {textual content}
Abhängig von der Aufgabe könnte dies sehr intestine funktionieren. LLMs sind Generalisten und können die einfachsten textbasierten Aufgaben ausführen. Die Klassifizierung eines Textes in eine von zwei Klassen ist in der Regel eine einfache Aufgabe, und die Aufforderung mit Null-Pictures funktioniert somit in der Regel recht intestine.
Wenige Schüsse Aufforderung
In dieser Infografik wird hervorgehoben, wie man nur wenige Aufforderung durchführt:

Das Comply with-up von Null-Shot-Aufforderung ist wenige Schüsse Aufforderung. Mit wenigen Schüssen geben Sie dem LLM eine Eingabeaufforderung an, die der oben genannten ähnelt, aber Sie geben ihm auch Beispiele für die Aufgabe an, die er ausführen wird. Dieser zusätzliche Kontext hilft dem LLM, die Aufgabe zu verbessern. Nach der Eingabeaufforderung oben kann eine Eingabeaufforderung wie folgt aussehen:
You're an knowledgeable textual content classifier, and tasked with classifying texts into
class A or class B.
- Class A: The textual content accommodates a optimistic sentiment
- Class B: The subsequent accommodates a unfavourable sentiment
<instance>
{textual content 1} -> Class A
</instance>
<instance>
{textual content 2} -> class B
</instance>
Classify the textual content: {textual content}
Sie können sehen, dass ich dem Modell einige Beispiele in
Nur wenige Schüsse, die auffordert, funktioniert intestine, da Sie das Modell mit Beispielen für die Aufgabe zur Verfügung stellen, die Sie ausführen, um sie auszuführen. Dies erhöht normalerweise die Leistung.
Sie können sich vorstellen, dass dies auch für Menschen intestine funktioniert. Wenn Sie einen Menschen um eine Aufgabe fragen, die er noch nie zuvor erledigt hat, nur durch die Beschreibung der Aufgabe, können sie anständig abschneiden (natürlich abhängig von der Schwierigkeit der Aufgabe). Wenn Sie dem Menschen jedoch auch Beispiele zur Verfügung stellen, steigt die Leistung normalerweise.
Insgesamt finde ich es nützlich, über LLM -Aufforderungen nachzudenken, als ob ich einen Menschen auf bitte, eine Aufgabe auszuführen. Stellen Sie sich vor, Sie geben einen Menschen einfach den Textual content an, anstatt ein LLM zu veranlassen, und Sie stellen sich die Frage:
Wird der Mensch angesichts dieser Aufforderung und keinem anderen Kontext die Aufgabe ausführen können?
Wenn die Antwort Nein lautet, sollten Sie daran arbeiten, Ihre Aufforderung zu klären und zu verbessern.
Ich möchte auch dynamische wenige Schüsse erwähnen, wenn man bedenkt, dass es sich um eine Technik handelt, mit der ich viel Erfolg hatte. Traditionell haben Sie mit wenigen Aufgaben eine festgelegte Liste von Beispielen, die Sie in jede Eingabeaufforderung einfügen. Sie können jedoch häufig eine höhere Leistung mit dynamischen Wenig-Shot-Aufforderung erzielen.
Dynamische wenige Schussaufforderung bedeutet, die wenigen Beispiele dynamisch auszuwählen, wenn die Eingabeaufforderung für eine Aufgabe erstellt wird. Wenn Sie beispielsweise aufgefordert werden, einen Textual content in den Klassen A und B zu klassifizieren, haben Sie bereits eine Liste von 200 Texten und deren entsprechenden Etiketten. Sie können dann eine Ähnlichkeitssuche zwischen dem neuen Textual content, den Sie klassifizieren, und den Beispieltexten durchführen, die Sie bereits haben. Wenn Sie fortgesetzt werden, können Sie die Vektorähnlichkeit zwischen den Texten messen und nur die ähnlichsten Texte (aus den 200 Texten) auswählen, um in Ihre Eingabeaufforderung als Kontext zu füttern. Auf diese Weise stellen Sie das Modell mit Weitere relevante Beispiele wie man die Aufgabe ausführt.
LAPPEN
Abrufener Augmented-Era ist eine bekannte Technik, um das Wissen über LLMs zu erhöhen. Angenommen, Sie haben bereits eine Datenbank, die aus Tausenden von Dokumenten besteht. Sie erhalten jetzt eine Frage von einem Benutzer und müssen sie angesichts des Wissens in Ihrer Datenbank beantworten.
Leider können Sie die gesamte Datenbank nicht in die LLM einfügen. Obwohl wir LLMs wie haben wie Lama 4 Scout mit 10 Millionen Scout Das Fenster mit Kontextlängen, Datenbanken sind normalerweise viel größer. Sie müssen daher die relevantesten Informationen in der Datenbank finden, um in Ihr LLM zu füttern. Lag macht dies ähnlich wie dynamische wenige Schüsse:
- Führen Sie eine Vektorsuche durch
- Suchen Sie die ähnlichsten Dokumente in der Benutzerfrage (die ähnlichen Dokumente werden als am relevantesten angenommen).
- Bitten Sie die LLM, die Frage angesichts der ähnlichsten Dokumente zu beantworten
Durch die Durchführung von Lappen führen Sie Kontext -Engineering durch, indem Sie die LLM nur die relevantesten Daten zur Ausführung seiner Aufgabe zur Verfügung stellen. Um die Leistung des LLM zu verbessern, können Sie an der Kontext -Engineering arbeiten, indem Sie Ihre Lappensuche verbessern. Dies kann beispielsweise durch Verbesserung der Suche durchgeführt werden, um nur die relevantesten Dokumente zu finden.
In meinem Artikel können Sie mehr über Rag über die Entwicklung eines Lappensystems für Ihre persönlichen Daten erfahren:
Instruments (MCP)
Sie können dem LLM auch Instruments zur Verfügung stellen, die ein wichtiger Bestandteil der Kontext -Engineering sind, insbesondere jetzt, wo wir den Aufstieg von AI -Agenten sehen. Device Calling Heute wird oft mit Verwendung von Verwendung durchgeführt Modellkontextprotokoll (MCP), ein Konzept, das von Anthropic gestartet wurde.
KI -Agenten sind LLMs, die Instruments aufrufen und somit Aktionen ausführen können. Ein Beispiel dafür könnte ein Wetteragent sein. Wenn Sie einen LLM ohne Zugang zu Instruments über das Wetter in New York fragen, kann dies keine genaue Antwort geben. Der Grund dafür ist natürlich, dass Informationen über das Wetter in Echtzeit abgerufen werden müssen. Dazu können Sie zum Beispiel dem LLM ein Device geben, wie z. B.:
@software
def get_weather(metropolis):
# code to retrieve the present climate for a metropolis
return climate
Wenn Sie dem LLM -Zugriff auf dieses Device gewähren und es nach dem Wetter fragen, kann dies nach dem Wetter für eine Stadt suchen und Ihnen eine genaue Antwort geben.
Die Bereitstellung von Werkzeugen für LLMs ist unglaublich wichtig, da es die Fähigkeiten der LLM erheblich verbessert. Andere Beispiele für Werkzeuge sind:
- Suchen Sie im Web
- Ein Taschenrechner
- Suche über Twitter API
Themen zu berücksichtigen
In diesem Abschnitt mache ich ein paar Notizen darüber, was Sie berücksichtigen sollten, wenn Sie den Kontext erstellen, der in Ihr LLM einfließt
Nutzung der Kontextlänge
Die Kontextlänge eines LLM ist eine wichtige Überlegung. Ab Juli 2025 können Sie die meisten Grenzmodell -LLMs mit über 100.000 Eingangs -Token ernähren. Dies bietet Ihnen viele Optionen, um diesen Kontext zu nutzen. Sie müssen den Kompromiss zwischen:
- Einbeziehung vieler Informationen in eine Eingabeaufforderung, wodurch einige der Informationen im Kontext verloren gehen
- Fehlen einige wichtige Informationen in der Eingabeaufforderung, wodurch das LLM nicht über den erforderlichen Kontext verfügt, um eine bestimmte Aufgabe auszuführen
Normalerweise besteht die einzige Möglichkeit, das Gleichgewicht herauszufinden, darin, Ihre LLM -Leistung zu testen. Beispielsweise können Sie mit einer Klassifizierungsaufgabe die Genauigkeit bei unterschiedlichen Eingabeaufforderungen überprüfen.
Wenn ich feststelle, dass der Kontext zu lang ist, als dass das LLM effektiv funktioniert, teilen ich manchmal eine Aufgabe in mehrere Eingabeaufforderungen auf. Wenn beispielsweise eine Eingabeaufforderung einen Textual content zusammenfassen und eine zweite Eingabeaufforderung zur Klassifizierung der Textübersicht klassifizieren. Dies kann dem LLM helfen, seinen Kontext effektiv zu nutzen und somit die Leistung zu erhöhen.
Darüber hinaus kann die Bereitstellung von zu viel Kontext des Modells einen erheblichen Nachteil haben, wie ich im nächsten Abschnitt beschreibe:
Kontextfäule
Letzte Woche habe ich eine gelesen Interessanter Artikel über Kontextfäulchen. In dem Artikel ging es um die Tatsache, dass die Erhöhung der Kontextlänge die LLM -Leistung verringert, obwohl die Schwierigkeit der Aufgaben nicht zunimmt. Dies impliziert das:
Die Bereitstellung einer irrelevanten Informationen von LLM verringert die Fähigkeit, Aufgaben erfolgreich auszuführen, auch wenn die Schwierigkeitsgrad der Aufgaben nicht zunimmt
Der Punkt hier ist im Wesentlichen, dass Sie nur relevante Informationen für Ihre LLM bereitstellen sollten. Die Bereitstellung anderer Informationen verringert die LLM -Leistung (dh,,. Die Leistung ist nicht impartial für die Eingangslänge)
Abschluss
In diesem Artikel habe ich das Thema Kontext -Engineering erörtert, bei dem es darum geht, einen LLM mit dem richtigen Kontext zu liefern, um seine Aufgabe effektiv auszuführen. Es gibt viele Techniken, die Sie verwenden können, um den Kontext zu füllen, z. B. wenige Schussanlauf, Lappen und Werkzeuge. Dies sind alles leistungsstarke Techniken, mit denen Sie die Fähigkeit eines LLM erheblich verbessern können, eine Aufgabe effektiv auszuführen. Darüber hinaus müssen Sie auch berücksichtigen, dass die Bereitstellung eines LLM mit zu viel Kontext auch Nachteile hat. Durch Erhöhen der Anzahl der Eingangs -Token werden die Leistung verringert, wie Sie im Artikel über den Kontextfäuschen lesen konnten.
👉 Folgen Sie mir in Socials:
🧑💻 Sich in Verbindung setzen
🔗 LinkedIn
🐦 X / Twitter
✍️ Medium
🧵 Themen
