
Toggle
- Enable Conversation History — switch it on to store and replay messages.
Why summarize?
Conversations grow without bound, and the LLM’s context window doesn’t. Beyond a few thousand tokens of history, every call gets more expensive and slower — and eventually the request hits the context limit and fails. The two summarization strategies below trade off cost, latency, and fidelity differently.LLM-based summarization
Use an LLM to compress older history into a single system message while preserving important context.
Behavior:
- Before each LLM call, total history tokens are counted.
- If they exceed Token Threshold, the oldest runs (everything older than the Keep Recent Count most recent runs) are summarized into one system message.
- The agent then sees:
[summary of old history]+[N most recent runs verbatim]+[new user message].
Sliding window summarization
A no-LLM strategy: keep only the most recent N runs and discard everything older.
Best when: each conversation is mostly independent of the deep past (e.g. a customer asking unrelated questions across a session), and you want zero extra LLM cost.
What counts as a “run”?
One run = one user message and everything the agent did to respond to it (LLM calls, tool calls, the final answer). Summarization always operates on whole runs, never partial ones — so the assistant’s response to a question is never separated from the question itself.Relation to other features
- Memories — persists facts about a user across all conversations, not just within one. Conversation History is per-thread; Memories are per-user (or per-namespace) and durable.
- Knowledge Bases — shared, retrieval-based context grounded in documents. Use for “what’s in our docs”; use Conversation History for “what did we just discuss.”