diff --git a/pkg/agent/instance.go b/pkg/agent/instance.go index a6fd365c7e..b6bcefe067 100644 --- a/pkg/agent/instance.go +++ b/pkg/agent/instance.go @@ -82,6 +82,13 @@ func NewAgentInstance( maxTokens = 8192 } + // ContextWindow defaults to 128K if not specified (most modern models support this) + // For models with smaller context, users should configure this explicitly + contextWindow := defaults.ContextWindow + if contextWindow == 0 { + contextWindow = 128000 + } + temperature := 0.7 if defaults.Temperature != nil { temperature = *defaults.Temperature @@ -103,7 +110,7 @@ func NewAgentInstance( MaxIterations: maxIter, MaxTokens: maxTokens, Temperature: temperature, - ContextWindow: maxTokens, + ContextWindow: contextWindow, Provider: provider, Sessions: sessionsManager, ContextBuilder: contextBuilder, diff --git a/pkg/config/config.go b/pkg/config/config.go index ca5803c35b..00c654bd0b 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -177,6 +177,7 @@ type AgentDefaults struct { ImageModel string `json:"image_model,omitempty" env:"PICOCLAW_AGENTS_DEFAULTS_IMAGE_MODEL"` ImageModelFallbacks []string `json:"image_model_fallbacks,omitempty"` MaxTokens int `json:"max_tokens" env:"PICOCLAW_AGENTS_DEFAULTS_MAX_TOKENS"` + ContextWindow int `json:"context_window" env:"PICOCLAW_AGENTS_DEFAULTS_CONTEXT_WINDOW"` Temperature *float64 `json:"temperature,omitempty" env:"PICOCLAW_AGENTS_DEFAULTS_TEMPERATURE"` MaxToolIterations int `json:"max_tool_iterations" env:"PICOCLAW_AGENTS_DEFAULTS_MAX_TOOL_ITERATIONS"` }