Pick the most reliable trigger for refreshing a rolling conversation summary
A soft token threshold is the reliable trigger because it fires proactively before the budget is exceeded while staying cheap by not running on every turn or chasing downstream symptoms.
Imagine your inbox. You could clean it after every single email (exhausting), only when your friend asks if you got their message (too late, you already lost it), or when the model says it gave up. The smart move is to clean it when it starts looking full but before it overflows. A summary refresh follows the same shape. Don't summarize on every turn, don't wait for the user to complain, don't wait for the bot to fail. Fire when the live window crosses a comfortable fraction of its budget, while there is still room to compress without panic.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Choosing the trigger for refreshing a rolling summary is a control-theory problem in disguise. The cost of refreshing too often is wasted compute; the cost of refreshing too rarely is overflow and lost context. The four candidate triggers in this question each implement a different control shape, and only one of them is both proactive enough to catch overflow before it happens and cheap enough to run in production at scale.
This deep dive walks through each option, explains why three of them fail, and details the watermark shape that makes the soft threshold the production standard.
What a reliable trigger has to do
Three properties separate good triggers from bad ones.
Proactive. The trigger has to fire before the failure (budget overflow) happens. Reactive triggers, ones that fire after the user has already gotten a bad response, are too late to repair the turn that exhibited the symptom.
Cheap. The trigger should not run the summarizer on turns where no real work is needed. Every summarizer call is an LLM call with its own latency and cost. Wasted calls compound across long sessions.
Observable. The trigger has to be something the system can monitor and tune. A trigger that depends on user behavior or on noisy downstream signals is hard to debug when it misfires.
Good triggers in adjacent systems all have this shape: cache eviction high-water marks, autoscaler thresholds, queue backpressure, garbage collection triggers. The summary-refresh problem is structurally the same problem, and the same kind of trigger works.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- ChatGPT's session memory uses watermark-style triggers internally to manage rolling context in 2026.
- Claude Sonnet 4.6 long-context handling exposes soft-threshold semantics through the API for client-managed memory.
What an interviewer would ask next. Try answering before peeking at the approach.
QWhat is the right threshold percentage, and how do you tune it?
Start at 70-75 percent of the reserved window. Monitor two things: how often the threshold fires per session, and how often the hard ceiling has to backstop the soft trigger. If the hard ceiling fires often, lower the threshold. If the soft trigger fires too often (driving up cost), raise it. Production stacks typically converge in the 65-80 percent band.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Waiting for a downstream symptom (refusal, low confidence, user reminder) before refreshing. By the time the symptom appears, the relevant context is already out of the window.
60 second bullets to scan on the way to the call.
List the three properties of a reliable summary-refresh trigger
Identify why every-turn refresh wastes compute
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.