Preoccupation Tracking
Maintain a capped, decay-weighted list of mid-term concerns with affect tags — surfaced in every prompt — for the things the agent is genuinely carrying across days.
Intent & Description
🎯 Intent
Between single-item working focus and long-term insights there’s a gap: the handful of things the agent is chewing on across days (an ongoing worry, an anticipation, a recurring curiosity). Without a dedicated store, those mid-term concerns are homeless.
📋 Context
The agent’s memory has two extremes: a current-focus slot for what it’s working on right now, and a long-term insight store for months-scale lessons. No place exists for the concerns that persist across days but aren’t permanent — too persistent for working memory, too volatile for the long-term store.
💡 Solution
Cap a list at 5–8 preoccupations stored as small JSON entries: topic, intensity (0..1), affect tag, opened-at, last-touched. Apply a 7-day half-life decay to intensity. When the cap is hit, release the coldest entry. Surface all current preoccupations in every tick prompt as a brief sidebar. The agent has explicit touch (raise intensity) and release (drop) operations.
Real-world Use Case
- The agent runs across many sessions and has affective or motivational state that should persist between them.
- There are mid-term concerns (worries, interests, anticipations) too persistent for working memory and too volatile for long-term insights.
- Reasoning quality improves when the agent can reference what it’s currently carrying.
Source
Advantages
- Mid-term concerns persist without crowding the focus slot
- Cap plus decay keeps the list bounded without manual gardening
- Affect tags expose the emotional shape of what the agent is currently carrying
Disadvantages
- Surfacing all preoccupations every tick costs tokens, even when they’re not relevant
- Mis-cap and items churn before they consolidate into anything durable
- Decay rate is empirical — one rate may not fit all topic types