Configuratie van samenvattingen
Overzicht
De summarization configuratie biedt gecentraliseerde controle over het samenvatten van gesprekken en het snoeien van context. Dit vervangt de summarize en summaryModel velden per endpoint die voorheen beschikbaar waren voor aangepaste en Azure OpenAI endpoints.
Wanneer een gesprek het contextvenster van het model overschrijdt, comprimeert het samenvattingssysteem automatisch oudere berichten tot een beknopte checkpoint-samenvatting. Hierdoor kunnen gesprekken voor onbepaalde tijd worden voortgezet zonder belangrijke context te verliezen. Het systeem bevat ook context pruning, dat stapsgewijs grote tool-resultaten in oudere berichten vermindert om token-ruimte terug te winnen voordat samenvatting nodig is.
Na een samenvattingsronde gebruikt de contextgebruiksmeter de opgeslagen samenvattingsbasislijn plus de rondes na de samenvatting, in plaats van de verwijderde geschiedenis van vóór de samenvatting opnieuw te tellen. Cumulatieve gebruiks- en kostentotalen bevatten nog steeds de volledige uitgaven van de vertakking.
Voorbeeld
summarization:
provider: 'openAI'
model: 'gpt-4o-mini'
maxSummaryTokens: 4096
reserveRatio: 0.05
trigger:
type: 'token_ratio'
value: 0.8
contextPruning:
enabled: true
keepLastAssistants: 3
softTrimRatio: 0.3
hardClearRatio: 0.5
minPrunableToolChars: 50000
softTrim:
maxChars: 4000
headChars: 1500
tailChars: 1500
hardClear:
enabled: true
placeholder: '[Old tool result content cleared]'provider
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | De LLM-provider die moet worden gebruikt voor samenvattingsaanroepen. Indien weggelaten, wordt de eigen provider van de agent gebruikt. | provider: "openAI" |
Standaard: Eigen provider van de Agent
model
| Key | Type | Description | Example |
|---|---|---|---|
| model | String | Het model dat moet worden gebruikt voor samenvattingsaanroepen. Indien weggelaten, wordt het eigen model van de agent gebruikt. | model: "gpt-4o-mini" |
Standaard: Eigen model van de Agent
parameters
| Key | Type | Description | Example |
|---|---|---|---|
| parameters | Object | Aanvullende LLM-parameters voor samenvattingsverzoeken (bijv. temperature, top_p). | parameters: { temperature: 0.3 } |
prompt
| Key | Type | Description | Example |
|---|---|---|---|
| prompt | String | Aangepaste prompt voor initiële samenvatting. Vervangt de ingebouwde checkpoint-prompt. |
Standaard: Een gestructureerde checkpoint-prompt die secties genereert voor Doel, Beperkingen & Voorkeuren, Voortgang, Belangrijke Beslissingen, Volgende Stappen en Kritieke Context.
updatePrompt
| Key | Type | Description | Example |
|---|---|---|---|
| updatePrompt | String | Aangepaste prompt voor her-compactering wanneer er al een eerdere samenvatting bestaat. Wordt gebruikt wanneer de samenvatting moet worden bijgewerkt met nieuwe gespreksinhoud. |
Standaard: Een ingebouwde prompt die nieuwe berichten samenvoegt met het bestaande controlepunt, oudere details comprimeert en recente acties meer detail geeft.
maxSummaryTokens
| Key | Type | Description | Example |
|---|---|---|---|
| maxSummaryTokens | Number | Maximaal aantal output-tokens voor de reactie van het samenvattingsmodel. | maxSummaryTokens: 4096 |
reserveRatio
| Key | Type | Description | Example |
|---|---|---|---|
| reserveRatio | Number | Fractie van het tokenbudget gereserveerd als reserve (0–1). Voorkomt dat de context tot de absolute capaciteit wordt gevuld. | reserveRatio: 0.05 |
Standaard: 0.05 (5% marge)
trigger
| Key | Type | Description | Example |
|---|---|---|---|
| trigger | Object | Definieert wanneer samenvatting wordt geactiveerd. Indien weggelaten, wordt samenvatting geactiveerd zodra het opschonen van berichten berichten verwijdert. |
trigger Sub-keys
| Key | Type | Description | Example |
|---|---|---|---|
| type | String | De trigger-strategie. Opties: `"token_ratio"`, `"remaining_tokens"`, `"messages_to_refine"`. | type: "token_ratio" |
| value | Number | De drempelwaarde voor het gekozen type trigger. Voor `token_ratio`: 0–1 (inclusief). Voor `remaining_tokens` en `messages_to_refine`: positief geheel getal. | value: 0.8 |
Trigger-typen
| Type | Value | Fires When |
|---|---|---|
token_ratio | 0.0–1.0 | Het aandeel gebruikte context-tokens bereikt of overschrijdt de waarde |
remaining_tokens | Positief geheel getal | Het aantal resterende context-tokens daalt tot of onder de waarde |
messages_to_refine | Positief geheel getal | Het aantal berichten dat in aanmerking komt voor samenvatting bereikt of overschrijdt de waarde |
| (not set) | — | Wanneer pruning berichten verwijdert (standaardgedrag) |
Voorbeeld:
summarization:
trigger:
type: 'remaining_tokens'
value: 8000contextPruning
| Key | Type | Description | Example |
|---|---|---|---|
| contextPruning | Object | Configureert op positie gebaseerde degradatie van toolresultaten. Grote toolresultaten in oudere berichten worden stapsgewijs ingekort of verwijderd om tokenruimte vrij te maken. |
Context pruning is een opt-in functie die onafhankelijk van samenvatting werkt. Het richt zich op grote tool call resultaten in oudere berichten en past twee progressieve fasen toe:
- Soft trim — Kort toolresultaten in om alleen het begin- en eindgedeelte te behouden, met een weglatingsteken ertussen
- Hard clear — Vervangt het volledige tool-resultaat door een korte tijdelijke aanduiding
Beide fasen zijn gebaseerd op positie: berichten die zich dichter bij het begin van het gesprek bevinden (ouder), worden als eerste verwijderd.
contextPruning sub-keys
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Schakelt positiegebaseerde degradatie van toolresultaten in. | enabled: true |
| keepLastAssistants | Number | Aantal recente assistent-beurten dat moet worden beschermd tegen snoeien. | keepLastAssistants: 3 |
| softTrimRatio | Number | Leeftijdsverhouding (0–1) waarbij soft-trim wordt geactiveerd. Berichten die ouder zijn dan deze verhouding van het gesprek komen in aanmerking voor soft-trimming. | softTrimRatio: 0.3 |
| hardClearRatio | Number | Leeftijdsverhouding (0–1) waarbij hard-clear wordt geactiveerd. Berichten die ouder zijn dan deze verhouding komen in aanmerking voor volledige vervanging. | hardClearRatio: 0.5 |
| minPrunableToolChars | Number | Minimum aantal tekens van een tool-resultaat voordat snoeien wordt toegepast. Kleinere resultaten blijven ongewijzigd. | minPrunableToolChars: 50000 |
| softTrim | Object | Configuratie voor de soft-trim fase. | |
| hardClear | Object | Configuratie voor de hard-clear fase. |
Standaardinstellingen:
| Veld | Standaard |
|---|---|
enabled | false |
keepLastAssistants | 3 |
softTrimRatio | 0.3 |
hardClearRatio | 0.5 |
minPrunableToolChars | 50000 |
softTrim sub-keys
| Key | Type | Description | Example |
|---|---|---|---|
| maxChars | Number | Maximaal totaal aantal tekens na het inkorten van een tool-resultaat. | maxChars: 4000 |
| headChars | Number | Aantal tekens dat moet worden behouden vanaf het begin van het toolresultaat. | headChars: 1500 |
| tailChars | Number | Aantal tekens dat moet worden behouden vanaf het einde van het tool-resultaat. | tailChars: 1500 |
Standaardwaarden: maxChars: 4000, headChars: 1500, tailChars: 1500
hardClear Sub-keys
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Of de hard-clear fase actief is. Wanneer uitgeschakeld, wordt alleen soft-trim toegepast. | enabled: true |
| placeholder | String | Tijdelijke aanduidingstekst die de volledige inhoud van het toolresultaat vervangt wanneer deze geforceerd wordt gewist. | placeholder: "[Old tool result content cleared]" |
Standaardwaarden: enabled: true, placeholder: "[Old tool result content cleared]"
Voorbeeld:
summarization:
contextPruning:
enabled: true
keepLastAssistants: 5
softTrimRatio: 0.25
hardClearRatio: 0.6
minPrunableToolChars: 30000
softTrim:
maxChars: 6000
headChars: 2500
tailChars: 2500
hardClear:
enabled: true
placeholder: '[Content removed for context management]'Volledig configuratievoorbeeld
version: 1.3.10
cache: true
summarization:
provider: 'openAI'
model: 'gpt-4o-mini'
maxSummaryTokens: 4096
reserveRatio: 0.05
trigger:
type: 'token_ratio'
value: 0.8
contextPruning:
enabled: true
keepLastAssistants: 3
softTrimRatio: 0.3
hardClearRatio: 0.5
minPrunableToolChars: 50000
softTrim:
maxChars: 4000
headChars: 1500
tailChars: 1500
hardClear:
enabled: true
placeholder: '[Old tool result content cleared]'Migratie van Per-Endpoint Instellingen
Als je voorheen summarize en summaryModel gebruikte op aangepaste of Azure OpenAI endpoints:
endpoints:
custom:
- name: 'My Endpoint'
summarize: true
summaryModel: 'gpt-3.5-turbo'Deze velden zijn verwijderd. Gebruik in plaats daarvan de summarization configuratie op het hoogste niveau:
summarization:
model: 'gpt-4o-mini'Opmerkingen
- Samenvatting wordt globaal geconfigureerd in plaats van per-endpoint.
- De velden
summarizeensummaryModelop aangepaste endpoints en Azure OpenAI endpoints worden niet langer ondersteund. - Wanneer
providerenmodelworden weggelaten, worden de eigen provider en het model van de agent gebruikt voor samenvatting. - Context pruning is standaard uitgeschakeld en moet expliciet worden ingeschakeld met
contextPruning.enabled: true - Context pruning heeft alleen invloed op resultaten van tool calls die
minPrunableToolCharsoverschrijden — kleinere resultaten worden nooit gepruned. - De
keepLastAssistantsinstelling beschermt recente beurten tegen snoeien, ongeacht de trim/clear ratio's. - Aangepaste
promptenupdatePromptwaarden vervangen de ingebouwde prompts volledig — gebruik ze met zorg - Stel
AGENT_DEBUG_LOGGING=truein uw.envbestand in om uitgebreide logging van tokentellingen en diagnostische gegevens over context-pruning in te schakelen.
Hoe is deze gids?