Einverstanden, Freunde, Alex Petrov hier, zurück auf agntai.net. Wir sind im März 2026, und wenn Sie wie ich sind, summen Ihre Slack-Kanäle und Twitter-Feeds vor Diskussionen über KI-Agenten. Nicht nur abstrakte „Was wäre wenn“-Überlegungen, sondern die sehr realen und sehr chaotischen Modalitäten, um sicherzustellen, dass diese Dinge tatsächlich etwas Nützliches erreichen, ohne sich in teuren und halluzinierenden Briefbeschwerern zu verwandeln.
Heute möchte ich über etwas sprechen, das mich belastet und ehrlich gesagt, auch einige meiner Kunden im Consulting: der stille Killer der Leistung von KI-Agenten – das Management des Kontextfensters. Wir sind alle so damit beschäftigt, das beste LLM auszuwählen, das perfekte Prompt zu erstellen oder komplexe Multi-Agenten-Systeme zu entwerfen, dass wir oft die grundlegende Arbeit vernachlässigen, die erforderlich ist, um unsere Agenten fokussiert und effektiv zu halten. Es ist nicht glamourös, aber glauben Sie mir, hier ist der Ort, an dem ein großer Teil Ihrer Leistung (und Ihres Budgets) lebt oder stirbt.
Ich hatte kürzlich einen Kunden, nennen wir ihn „Acme Corp“, der einen Agenten wollte, um die Transkripte des Kundensupports zu analysieren, wiederkehrende Probleme zu identifizieren und zusammenfassende Berichte zu erstellen. Das schien recht einfach. Sie begannen mit einem ziemlich leistungsstarken LLM, gaben ihm Zugang zu einer Menge historischer Daten und erwarteten Magie. Was sie bekamen, war viel „Und das liegt nicht nur an der brutalen Token-Obergrenze Ihres gewählten LLM. Es geht darum, wie Sie die Informationen, die Sie ihm geben, *strukturieren*, wie Sie sie *abrufen* und vor allem, wie Sie sie *zusammenfassen und filtern*, damit der Agent in seinem Punkt kognitiver Optimierung operiert.
Die Verborgenen Kosten von Zu Viel Informationen
Wir sind alle schon einmal in dieser Situation gewesen. Sie bauen einen Agenten, Sie wollen, dass er intelligent ist, also werfen Sie ihm alles zu, außer dem Waschbecken. „Hier ist das gesamte Handbuch zum Produkt, die 500 häufigsten Fragen des Kundensupports und jede vorherige Unterhaltung für den Kontext!“
Mein erster Versuch mit einem internen Agenten zur Ideenfindung für Blogbeiträge war ein Desaster deswegen. Ich gab ihm mein gesamtes Blog-Archiv, in der Annahme, dass er „meinen Stil lernen würde.“ Was er lernte, war zu schweifen, sich zu verlieren und häufig Themen vorzuschlagen, die ich bereits dreimal behandelt hatte. Es war, als würde man versuchen, ein kohärentes Gespräch mit jemandem zu führen, der gleichzeitig jedes Buch einer Bibliothek liest. Der Informationsüberfluss ist nicht nur ein menschliches Problem; es ist auch ein KI-Agenten-Problem.
Hier gibt es zwei Hauptprobleme:
- Token-Limits: Das ist offensichtlich. Jedes LLM hat ein maximales Kontextfenster. Wenn Sie es überschreiten, erhalten Sie entweder einen Fehler oder das Modell kürzt stillschweigend Ihre Eingabe und verliert wertvolle Informationen.
- Kognitive Belastung (für das LLM): Selbst innerhalb des Token-Limits erschwert ein breiterer Kontext dem LLM, sich auf die wirklich relevanten Elemente zu konzentrieren. Es ist, als würde man einem Menschen bitten, eine Nadel in einem Heuhaufen zu finden; je größer der Heuhaufen, desto länger dauert es, und desto höher ist das Risiko, sie zu übersehen. Das wirkt sich direkt auf die Qualität der Antworten aus und oft auch auf die Fähigkeit des Agenten, komplexen Anweisungen zu folgen.
Und vergessen wir nicht die Kosten. Diese Tokens sind nicht kostenlos! Ihren Agenten wiederholt mit großen Textmengen zu füttern kann Ihren Agenten schnell wirtschaftlich untragbar machen.
Strategien für eine Intelligentere Kontextverwaltung
Wie beheben wir das also? Es geht nicht darum, Ihren Agenten von Informationen zu berauben; es geht darum, die *richtigen* Informationen zum *richtigen* Zeitpunkt im *richtigen* Format bereitzustellen. Hier sind einige praktische Strategien, die ich oft in Kombination verwendet habe, um meine Agenten leicht und fokussiert zu halten.
1. Fortschreitende Offenlegung von Informationen
Anstatt alles auf einmal auszuschütten, denken Sie an Ihren Agenten wie an einen Detektiv. Geben Sie ihm die unmittelbaren Details des Falls, lassen Sie ihn mehr Informationen anfordern, falls nötig, oder bieten Sie zusätzliche Details an, während sich die Aufgabe entwickelt. Das ist ein grundlegendes Prinzip in vielen Agenten-Frameworks, wird aber oft schlecht umgesetzt.
Beispiel: Kundensupport-Agent
Anstatt ihm zu Beginn jeder Interaktion den gesamten Kundenverlauf und das Produktmanual zu geben, könnten Sie mit Folgendem beginnen:
- Der aktuellen Anfrage des Kunden.
- Eine kurze Zusammenfassung ihrer letzten Interaktion (sofern verfügbar und relevant).
- Einen Zugang zu den Werkzeugen, um Produktinformationen oder frühere Tickets *nur bei Bedarf* abzurufen.
Wenn der Kunde fragt: „Wie setze ich mein Passwort zurück?“, muss der Agent nicht die Garantiepolitik oder das letzte Software-Update kennen. Er benötigt die Anleitung zur Passwortzurücksetzung, die er über ein Werkzeug oder eine sehr gezielte RAG-Anfrage abrufen kann.
2. Intelligente Zusammenfassung und Kondensation
Das ist wahrscheinlich die wirkungsvollste Technik, die ich für langfristige Agentenaufgaben gesehen habe. Statt ganze Gespräche oder Dokumente zwischen den Schritten oder Runden zu übermitteln, fassen Sie sie zusammen. Es geht nicht nur darum, Wörter abzuschneiden; es geht darum, die *Schlüsselpunkte* zu extrahieren, die für die folgenden Schritte entscheidend sind.
Gehen wir zurück zu dem Transkriptionsanalyse-Agenten von Acme Corp. Zuerst versuchten sie, die gesamten Transkripte in einem einzigen LLM-Aufruf zur Analyse zu übermitteln. Das führte schnell zu den Token-Limits. Mein Vorschlag war, wie folgt vorzugehen:
- Schritt 1: Erste Durchsicht und Extraktion der Transkription: Für jede Transkription einen kleineren und spezialisierten Agenten (oder sogar ein Prompt des Haupt-LLM) einsetzen, um die Schlüsseldaten (Produktnamen, Kundenstimmung, Arten von Problemen) zu identifizieren und das zentrale Problem sowie die Lösung zusammenzufassen. Diese Ausgabe ist viel kleiner als das ursprüngliche Transkript.
- Schritt 2: Aggregieren und Synthesizieren: Diese extrahierten Zusammenfassungen (nicht die originalen Transkripte!) an einen übergeordneten Agenten übermitteln, um Mustererkennung und Berichtsgenerierung durchzuführen.
Hier ist ein vereinfachter Python-Ausschnitt, der zeigt, wie Sie eine Transkription für eine spätere Nutzung zusammenfassen könnten:
from openai import OpenAI
client = OpenAI()
def summarize_transcript(transcript_text: str) -> str:
"""Fasst eine Kundenservice-Transkription zusammen, um die Hauptprobleme und die Lösung zu extrahieren."""
prompt = f"""
Sie sind ein Experte für die Zusammenfassung von Kundenservice-Interaktionen.
Lesen Sie das folgende Transkript und liefern Sie eine prägnante Zusammenfassung (unter 200 Wörtern), die
das Hauptproblem des Kunden, die unternommenen Schritte zur Lösung und das endgültige Ergebnis identifiziert.
Konzentrieren Sie sich auf umsetzbare Erkenntnisse zur Produktverbesserung oder häufige Kundenprobleme.
Transkript :
---
{transcript_text}
---
Zusammenfassung :
"""
response = client.chat.completions.create(
model="gpt-4o", # Oder welches Modell auch immer Sie für die Zusammenfassung bevorzugen
messages=[
{"role": "system", "content": "Sie sind ein hilfreicher Assistent."},
{"role": "user", "content": prompt}
],
temperature=0.3,
max_tokens=250 # Steuern Sie die Länge der Zusammenfassung
)
return response.choices[0].message.content.strip()
# Beispielnutzung:
# with open("sample_transcript_001.txt", "r") as f:
# sample_transcript = f.read()
# condensed_info = summarize_transcript(sample_transcript)
# print(f"Ursprüngliche Länge: {len(sample_transcript)} Zeichen")
# print(f"Kondensierte Länge: {len(condensed_info)} Zeichen")
# print(condensed_info)
Dieser einfache Schritt der Zusammenfassung kann den Kontext um mehrere Größenordnungen reduzieren, wodurch die anschließende Analyse viel effektiver und effizienter wird.
3. Rekursive Zusammenfassung für Langfristige Gespräche
Für Agenten, die sich in Multi-Runden-Gesprächen engagieren (wie ein persönlicher Assistent oder ein ausgeklügelter Chatbot), wird das Kontextfenster schnell zu einem Problem. Jede neue Nachricht fügt sich der Historie hinzu. Die Lösung? Die rekursive Zusammenfassung.
Nach einer bestimmten Anzahl von Runden (sagen wir, 5-10 Nachrichten) nehmen Sie die aktuelle Historie des Gesprächs und fragen das LLM nach den wichtigsten Punkten, die bisher besprochen wurden, wobei wichtige Details wie getroffene Entscheidungen, offene Fragen oder spezifische Anforderungen des Benutzers beibehalten werden. Dann können Sie die alte und wortreiche Historie verwerfen und durch diese prägnante Zusammenfassung ersetzen, wodurch das Kontextfenster effektiv aufgefrischt wird.
Denken Sie daran wie das Notieren während einer langen Besprechung. Sie transkribieren nicht jedes Wort; Sie notieren sich die Schlüsselpunkte und die zu ergreifenden Maßnahmen.
Hier ist ein konzeptioneller Ablauf für die rekursive Zusammenfassung:
conversation_history = [] # Liste von Tupeln (Rolle, Inhalt)
summary = ""
def add_to_history(role, content):
global conversation_history
conversation_history.append({"role": role, "content": content})
# Überprüft, ob die Historie zu lang wird
if len(str(conversation_history)) > MAX_HISTORY_LENGTH_THRESHOLD:
global summary
# Fügt die bestehende Zusammenfassung zur Historie hinzu, bevor sie zusammenfasst
full_context_to_summarize = [{"role": "system", "content": f"Zusammenfassung der vorherigen Unterhaltung: {summary}"}] if summary else []
full_context_to_summarize.extend(conversation_history)
# Verwendet das kombinierte Kontext für das LLM
summarization_prompt = [
{"role": "system", "content": "Sie sind eine prägnante Zusammenfassung. Fassen Sie die wichtigsten Punkte der Unterhaltung bisher zusammen, konzentrieren Sie sich auf Entscheidungen, Anforderungen und offene Fragen. Halten Sie es unter 200 Wörter."},
*full_context_to_summarize
]
# Dieser Teil würde einen tatsächlichen Aufruf an das LLM beinhalten
new_summary_response = client.chat.completions.create(
model="gpt-4o",
messages=summarization_prompt,
temperature=0.2,
max_tokens=200
)
summary = new_summary_response.choices[0].message.content.strip()
conversation_history = [] # Setzt die Historie zurück, gestützt auf die neue Zusammenfassung
print("Historie zusammengefasst und zurückgesetzt!")
# Beispiel für eine Interaktion :
# add_to_history("user", "Ich muss eine Reise nach Rom nächsten Monat für 3 Personen planen.")
# add_to_history("assistant", "In Ordnung, ich kann Ihnen dabei helfen. Was sind Ihre bevorzugten Daten?")
# # ... mehrere Runden ...
# add_to_history("user", "Wir haben uns für den Zeitraum vom 15. bis 22. März entschieden. Wir möchten ein Hotel in der Nähe des Kolosseums.")
# # Zu diesem Zeitpunkt könnte add_to_history die Zusammenfassung auslösen, wenn MAX_HISTORY_LENGTH_THRESHOLD erreicht ist
# # Die neue 'Zusammenfassung' würde "Reise nach Rom, vom 15. bis 22. März, 3 Personen, Hotel in der Nähe des Kolosseums." enthalten
# # Die Historie der Unterhaltung wäre leer oder würde nur die neuesten Runden enthalten.
Der Trick hierbei ist, sicherzustellen, dass der Zusammenfassungs-Prompt die *kritischen* Informationen für zukünftige Runden korrekt identifiziert und behält und nicht nur einen allgemeinen Überblick.
4. Zielgerichtete Retrieval-Augmentation durch Generierung (RAG)
RAG ist eine grundlegende Technik, aber ihre Anwendung auf das Management des Kontextfensters wird oft unterschätzt. Anstatt ganze Dokumente einzubeziehen, sollten Sie *Stücke* von Dokumenten integrieren, und noch wichtiger, Sie müssen klug darüber nachdenken, *was* Sie abrufen.
Meine größte Lernkurve mit RAG war die Erkenntnis, dass es oft nicht ausreicht, einfach eine Benutzeranfrage in eine Vektordatenbank zu starten und die Top-N Stücke abzurufen. Sie müssen die Anfrage vorverarbeiten oder sogar ein LLM verwenden, um zunächst eine bessere Suchanfrage zu generieren. Zum Beispiel, wenn ein Benutzer fragt: „Wie kann ich den Fehlercode 101 auf meinem ACME-2000 Drucker beheben?“, könnte eine einfache semantische Suche nach „Fehler 101 reparieren“ generische Fehlerbehebungen zurückbringen. Aber wenn Sie zunächst ein LLM bitten, „Gerät: ACME-2000 Drucker“ und „Fehlercode: 101“ zu extrahieren, können Sie eine viel präzisere RAG-Anfrage erstellen.
Denken Sie auch darüber nach, *was* Sie schneiden und integrieren. Für die Transkription von Acme Corp haben wir anstelle vollständiger Transkripte die *Zusammenfassungen* integriert, die in Schritt 1 erstellt wurden. Das bedeutet, dass das RAG-System viel prägnantere und höherwertige Informationen abruft, was das übertragene Kontext erheblich reduziert.
5. Schema-gesteuerte Informationsextraktion
Wenn Sie spezifische Informationsstücke aus einem größeren Text benötigen, verlassen Sie sich nicht darauf, dass das LLM „es einfach versteht“. Geben Sie ihm ein Schema. Dies ist besonders hilfreich, um strukturierte Daten aus unstrukturiertem Text zu extrahieren, die dann viel effizienter übermittelt werden können als der reine Text.
Wenn Sie beispielsweise Bewerbungen bearbeiten, können Sie das LLM anregen, „Name“, „E-Mail“, „Jahre an Erfahrung“, „Schlüsselqualifikationen“, „Letzte Position“ usw. in ein JSON-Objekt zu extrahieren, anstatt den gesamten Lebenslauf zu übermitteln. Diese strukturierten Daten sind kompakt, mehrdeutig und leicht für die nächsten Agentenschritte oder externe Systeme zu konsumieren.
Es geht dabei nicht nur um Token-Einsparung; es geht auch darum, Mehrdeutigkeit zu reduzieren und die Zuverlässigkeit der Informationsübermittlung zwischen den Modulen oder Agenten-Tools zu verbessern.
Wichtige Punkte für Ihr nächstes Agenten-Projekt
In Ordnung, das war also viel. Aber die Hauptbotschaft ist: Behandeln Sie das Kontextfenster Ihres LLM wie einen wertvollen Besitz. Jedes Token kostet Geld und verursacht eine kognitive Belastung.
- Gestalten Sie für einen Überlegten Informationsfluss: Gießen Sie keine Daten einfach aus. Überlegen Sie, was in jedem Schritt des Agentenprozesses wirklich notwendig ist.
- Fördern Sie die Zusammenfassung (aggressiv): Für jede langfristige Aufgabe oder mehrstufige Unterhaltung sollte die Zusammenfassung ein zentraler Bestandteil der Architektur Ihres Agenten sein. Experimentieren Sie mit verschiedenen Zusammenfassungs-Prompts, um herauszufinden, was für Ihren Anwendungsfall am besten funktioniert.
- Intelligent schneiden, intelligenter abrufen: Mit RAG sollten Sie sowohl die Qualität Ihrer Stücke (sind sie bedeutungsvolle, eigenständige Einheiten?) als auch die Genauigkeit Ihrer Abrufanfragen im Auge behalten. Ziehen Sie in Betracht, ein LLM zu verwenden, um die Anfragen zu verfeinern, bevor Sie Ihre Vektordatenbank aufrufen.
- Verwenden Sie Schemata für strukturierte Extraktion: Wenn Sie wissen, welche Art von Informationen Sie benötigen, teilen Sie dies dem LLM explizit mit Schemata in JSON oder klaren Formatierungsanweisungen mit. Dies reduziert den Rauschen und verbessert die nachgelagerte Verarbeitung.
- Überwachen Sie die Token-Nutzung: Nehmen Sie das ernst und integrieren Sie die Token-Zählung in die Protokollierung Ihres Agenten. Das ist der einzige Weg, um wirklich zu verstehen, wo Ihr Kontextfenster verbraucht wird und wo Optimierungen nötig sind. Tools wie LangChain oder LlamaIndex bieten oft Haken dafür.
Ich weiß, es ist verlockend zu denken, dass größere Kontextfenster aus neueren Modellen all diese Probleme lösen werden. Und ja, sie helfen. Aber selbst mit massiven Kontextfenstern bleiben die Prinzipien einer effektiven Informationsverwaltung entscheidend. Ein Kontextfenster von 1M Tokens bedeutet nicht, dass Sie es mit irrelevanten Rauschen füllen *müssen*. Es bedeutet einfach, dass Sie mehr Kapazität für *relevante und hochwertige* Informationen haben.
Also, das nächste Mal, wenn Sie einen Agenten debuggen, der verwirrt, halluziniert oder einfach nur langsam ist, werfen Sie einen genauen Blick auf sein Kontextfenster. Es könnte der stille Killer sein, den Sie übersehen.
Bis zum nächsten Mal, machen Sie weiter mit dem Bau dieser intelligenteren Agenten! Alex Petrov sendet Grüße.
Verwandte Artikel
- Nachrichten zur KI-Regulierung: US- vs. EU-Ansätze und warum das wichtig ist
- Komponenten der KI-Agentenarchitektur erklärt
- Bewertung von Agenten: Wie man die tatsächliche Leistung misst
🕒 Published:
Related Articles
- Who Verifies the Verifiers? Qodo’s $70M Bet on AI Code Trust
- Systèmes RAG : Naviguer dans le Chaos du Raisonnement & de la Génération
- Mejor Modelo de Aprendizaje Automático para Clasificación de Imágenes: Selecciones Principales & Guía
- Aprendizaje por Refuerzo & Agentes: Decodificando el Artículo Pivotal