feat: enable adaptive context pruning by default

This commit is contained in:
Peter Steinberger
2026-01-08 22:23:03 +01:00
parent d58cdf7c9f
commit 2c7d64232e
7 changed files with 103 additions and 14 deletions

View File

@@ -994,7 +994,7 @@ If you configure the same alias name (case-insensitive) yourself, your value win
}
```
#### `agent.contextPruning` (opt-in tool-result pruning)
#### `agent.contextPruning` (tool-result pruning)
`agent.contextPruning` prunes **old tool results** from the in-memory context right before a request is sent to the LLM.
It does **not** modify the session history on disk (`*.jsonl` remains complete).
@@ -1025,7 +1025,7 @@ Notes / current limitations:
- If the session doesnt contain at least `keepLastAssistants` assistant messages yet, pruning is skipped.
- In `aggressive` mode, `hardClear.enabled` is ignored (eligible tool results are always replaced with `hardClear.placeholder`).
Example (minimal):
Default (adaptive):
```json5
{
agent: {
@@ -1036,6 +1036,17 @@ Example (minimal):
}
```
To disable:
```json5
{
agent: {
contextPruning: {
mode: "off"
}
}
}
```
Defaults (when `mode` is `"adaptive"` or `"aggressive"`):
- `keepLastAssistants`: `3`
- `softTrimRatio`: `0.3` (adaptive only)