Konfiguration der Zusammenfassung
Übersicht
Die summarization-Konfiguration bietet eine zentralisierte Kontrolle über die Zusammenfassung von Konversationen und das Kürzen von Kontext. Dies ersetzt die pro-endpoint summarize- und summaryModel-Felder, die zuvor für benutzerdefinierte und Azure OpenAI-endpoints verfügbar waren.
Wenn eine Konversation das Kontextfenster des Modells überschreitet, komprimiert das Zusammenfassungssystem ältere Nachrichten automatisch in eine prägnante Prüfpunkt-Zusammenfassung. Dies ermöglicht es, Konversationen unbegrenzt fortzusetzen, ohne wichtigen Kontext zu verlieren. Das System umfasst außerdem Kontext-Kürzung (context pruning), wodurch umfangreiche Werkzeugergebnisse in älteren Nachrichten schrittweise reduziert werden, um Token-Speicherplatz freizugeben, bevor eine Zusammenfassung erforderlich ist.
Nach einem Zusammenfassungs-Turn verwendet die Anzeige für die Kontextnutzung die gespeicherte Zusammenfassungs-Basislinie zuzüglich der Turns nach der Zusammenfassung, anstatt den verworfenen Verlauf vor der Zusammenfassung erneut zu zählen. Die kumulativen Nutzungs- und Kostensummen beinhalten weiterhin die Gesamtausgaben des Zweigs.
Beispiel
provider
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Der für Zusammenfassungsaufrufe zu verwendende LLM-Anbieter. Falls weggelassen, wird der eigene Anbieter des Agenten verwendet. | provider: "openAI" |
Standard: Eigener Anbieter des Agenten
model
| Key | Type | Description | Example |
|---|---|---|---|
| model | String | Das für Zusammenfassungsaufrufe zu verwendende Modell. Falls weggelassen, wird das eigene Modell des Agenten verwendet. | model: "gpt-4o-mini" |
Standard: Das eigene Modell des Agenten
parameters
| Key | Type | Description | Example |
|---|---|---|---|
| parameters | Object | Zusätzliche LLM-Parameter für Zusammenfassungsanfragen (z. B. temperature, top_p). | parameters: { temperature: 0.3 } |
prompt
| Key | Type | Description | Example |
|---|---|---|---|
| prompt | String | Benutzerdefinierter Prompt für die anfängliche Zusammenfassung. Ersetzt den integrierten Checkpoint-Prompt. |
Standard: Ein strukturierter Checkpoint-Prompt, der Abschnitte für Ziel, Einschränkungen & Präferenzen, Fortschritt, Wichtige Entscheidungen, Nächste Schritte und Kritischer Kontext erstellt.
updatePrompt
| Key | Type | Description | Example |
|---|---|---|---|
| updatePrompt | String | Benutzerdefinierter Prompt für die erneute Komprimierung, wenn bereits eine Zusammenfassung existiert. Wird verwendet, wenn die Zusammenfassung mit neuen Konversationsinhalten aktualisiert werden muss. |
Standard: Ein eingebauter Prompt, der neue Nachrichten in den bestehenden Checkpoint zusammenführt, ältere Details komprimiert und aktuellen Aktionen mehr Details verleiht.
maxSummaryTokens
| Key | Type | Description | Example |
|---|---|---|---|
| maxSummaryTokens | Number | Maximale Anzahl an Ausgabe-Tokens für die Antwort des Zusammenfassungsmodells. | maxSummaryTokens: 4096 |
reserveRatio
| Key | Type | Description | Example |
|---|---|---|---|
| reserveRatio | Number | Anteil des Token-Budgets, der als Spielraum reserviert ist (0–1). Verhindert, dass der Kontext bis zur absoluten Kapazitätsgrenze gefüllt wird. | reserveRatio: 0.05 |
Standard: 0.05 (5 % Spielraum)
trigger
| Key | Type | Description | Example |
|---|---|---|---|
| trigger | Object | Definiert, wann die Zusammenfassung aktiviert wird. Wenn weggelassen, wird die Zusammenfassung ausgelöst, sobald die Nachrichtenbereinigung Nachrichten entfernt. |
trigger Unter-Schlüssel
| Key | Type | Description | Example |
|---|---|---|---|
| type | String | Die Trigger-Strategie. Optionen: `"token_ratio"`, `"remaining_tokens"`, `"messages_to_refine"`. | type: "token_ratio" |
| value | Number | Der Schwellenwert für den gewählten Auslösertyp. Für `token_ratio`: 0–1 (einschließlich). Für `remaining_tokens` und `messages_to_refine`: positive Ganzzahl. | value: 0.8 |
Trigger-Typen
| Typ | Wert | Wird ausgelöst, wenn |
|---|---|---|
token_ratio | 0.0–1.0 | Der Anteil der verwendeten Kontext-Token den Wert erreicht oder überschreitet |
remaining_tokens | Positive Ganzzahl | Die verbleibenden Kontext-Token auf den Wert oder darunter fallen |
messages_to_refine | Positive Ganzzahl | Die Anzahl der für die Zusammenfassung infrage kommenden Nachrichten den Wert erreicht oder überschreitet |
| (nicht gesetzt) | — | Wann immer beim Kürzen Nachrichten entfernt werden (Standardverhalten) |
Beispiel:
contextPruning
| Key | Type | Description | Example |
|---|---|---|---|
| contextPruning | Object | Konfiguriert die positionsbasierte Verschlechterung von Tool-Ergebnissen. Große Tool-Ergebnisse in älteren Nachrichten werden schrittweise gekürzt oder gelöscht, um Token-Speicherplatz zurückzugewinnen. |
Context Pruning ist eine optionale Funktion, die unabhängig von der Zusammenfassung (Summarization) arbeitet. Sie zielt auf umfangreiche Tool-Call-Ergebnisse in älteren Nachrichten ab und wendet dabei zwei progressive Stufen an:
- Soft trim — Kürzt Tool-Ergebnisse, sodass nur der Anfangs- und Endbereich beibehalten wird, mit einer Ellipse dazwischen
- Hard clear — Ersetzt das gesamte Tool-Ergebnis durch einen kurzen Platzhalter
Beide Phasen sind positionsbasiert: Nachrichten, die näher am Anfang der Konversation liegen (älter), werden zuerst entfernt.
contextPruning Unter-Schlüssel
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Aktiviert die positionsbasierte Verschlechterung von Tool-Ergebnissen. | enabled: true |
| keepLastAssistants | Number | Anzahl der kürzlichen Assistant-Turns, die vor einer Kürzung geschützt werden sollen. | keepLastAssistants: 3 |
| softTrimRatio | Number | Altersverhältnis (0–1), bei dem Soft-Trim aktiviert wird. Nachrichten, die älter als dieses Verhältnis der Konversation sind, kommen für Soft-Trim infrage. | softTrimRatio: 0.3 |
| hardClearRatio | Number | Altersverhältnis (0–1), bei dem Hard-Clear aktiviert wird. Nachrichten, die älter als dieses Verhältnis sind, kommen für einen vollständigen Austausch infrage. | hardClearRatio: 0.5 |
| minPrunableToolChars | Number | Minimale Zeichenanzahl eines Tool-Ergebnisses, bevor das Kürzen angewendet wird. Kleinere Ergebnisse bleiben unverändert. | minPrunableToolChars: 50000 |
| softTrim | Object | Konfiguration für die Soft-Trim-Stufe. | |
| hardClear | Object | Konfiguration für die Hard-Clear-Stufe. |
Standardwerte:
| Feld | Standard |
|---|---|
enabled | false |
keepLastAssistants | 3 |
softTrimRatio | 0.3 |
hardClearRatio | 0.5 |
minPrunableToolChars | 50000 |
softTrim Unter-Keys
| Key | Type | Description | Example |
|---|---|---|---|
| maxChars | Number | Maximale Gesamtzahl an Zeichen nach dem Soft-Trimming eines Tool-Ergebnisses. | maxChars: 4000 |
| headChars | Number | Anzahl der Zeichen, die vom Anfang des Tool-Ergebnisses beibehalten werden sollen. | headChars: 1500 |
| tailChars | Number | Anzahl der Zeichen, die vom Ende des Tool-Ergebnisses beibehalten werden sollen. | tailChars: 1500 |
Standards: maxChars: 4000, headChars: 1500, tailChars: 1500
hardClear Unter-Schlüssel
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Ob die Hard-Clear-Stufe aktiv ist. Wenn sie deaktiviert ist, wird nur Soft-Trim angewendet. | enabled: true |
| placeholder | String | Platzhaltertext, der den vollständigen Inhalt des Tool-Ergebnisses ersetzt, wenn dieser vollständig gelöscht wird. | placeholder: "[Old tool result content cleared]" |
Standards: enabled: true, placeholder: "[Old tool result content cleared]"
Beispiel:
Vollständiges Konfigurationsbeispiel
Migration von Per-Endpoint-Einstellungen
Wenn Sie zuvor summarize und summaryModel für benutzerdefinierte oder Azure OpenAI endpoints verwendet haben:
Diese Felder wurden entfernt. Verwenden Sie stattdessen die summarization-Konfiguration auf oberster Ebene:
Hinweise
- Die Zusammenfassung wird global und nicht pro endpoint konfiguriert.
- Die Felder
summarizeundsummaryModelbei benutzerdefinierten endpoints und Azure OpenAI endpoints werden nicht mehr unterstützt. - Wenn
providerundmodelweggelassen werden, werden der eigene Provider und das eigene Modell des Agenten für die Zusammenfassung verwendet. - Das Context Pruning ist standardmäßig deaktiviert und muss explizit mit
contextPruning.enabled: trueaktiviert werden. - Das Context Pruning wirkt sich nur auf Tool-Call-Ergebnisse aus, die
minPrunableToolCharsüberschreiten – kleinere Ergebnisse werden niemals gekürzt. - Die Einstellung
keepLastAssistantsschützt aktuelle Gesprächsverläufe vor dem Kürzen, unabhängig von den Trim-/Lösch-Verhältnissen. - Benutzerdefinierte
prompt- undupdatePrompt-Werte ersetzen die integrierten Prompts vollständig – mit Vorsicht verwenden - Setzen Sie
AGENT_DEBUG_LOGGING=truein Ihrer.envDatei, um die ausführliche Protokollierung von Token-Anzahlen und Diagnosen zur Kontextkürzung zu aktivieren.
Wie finden Sie diese Anleitung?