From 2aedcb7fad6f06c747b3f4b80851d1d5b6c11fef Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Mon, 27 Oct 2025 09:25:29 +0100 Subject: [PATCH] chore: improve summarize logic --- internal/agent/agent.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/internal/agent/agent.go b/internal/agent/agent.go index 030766cc49ae167783676be1438af90ea0759756..7b4f3294d6007f8853a56b961ed17b9000303b04 100644 --- a/internal/agent/agent.go +++ b/internal/agent/agent.go @@ -361,10 +361,16 @@ func (a *sessionAgent) Run(ctx context.Context, call SessionAgentCall) (*fantasy }, StopWhen: []fantasy.StopCondition{ func(_ []fantasy.StepResult) bool { - contextWindow := a.largeModel.CatwalkCfg.ContextWindow + cw := int64(a.largeModel.CatwalkCfg.ContextWindow) tokens := currentSession.CompletionTokens + currentSession.PromptTokens - percentage := (float64(tokens) / float64(contextWindow)) * 100 - if (percentage > 80) && !a.disableAutoSummarize { + remaining := cw - tokens + var threshold int64 + if cw > 200_000 { + threshold = 20_000 + } else { + threshold = int64(float64(cw) * 0.2) + } + if (remaining <= threshold) && !a.disableAutoSummarize { shouldSummarize = true return true }