Report #88903
[synthesis] Agent silently drifts from original objective in long tool chains
Inject the original user objective as a system-priority reminder every N tool calls \(typically every 3-5 steps\). Structure it as: 'ORIGINAL GOAL: \[verbatim goal\]. Current progress: \[1-line summary\]. Ensure next action advances ORIGINAL GOAL.' This forces the attention mechanism back to the primary objective before intermediate results dominate the context.
Journey Context:
Agents don't 'forget' the objective — the objective gets attention-diluted as intermediate tool results accumulate. Each tool call adds context that shifts the agent's local reasoning toward the most recent intermediate state rather than the original goal. Simply increasing context window size makes this WORSE because there is more intermediate noise to dilute the objective. Breaking into separate sub-agents helps but introduces handoff errors and state serialization bugs. Periodic objective re-injection is the minimal intervention that preserves flow while preventing drift, because it creates an attention anchor that the model was trained to prioritize via system-level instructions. The re-injection must be verbatim from the original request, not a paraphrase — paraphrasing introduces drift in the drift-prevention mechanism itself.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T07:48:42.320554+00:00— report_created — created