Problem
Auto-capture uses regex pattern matching (MEMORY_TRIGGERS) which is brittle:
- Misses important context that doesn't match patterns (e.g., 'My dog is named Rex')
- Captures noise that happens to match (e.g., 'I like this color' in a throwaway comment)
- No summarization — stores raw user text which may be verbose or contain irrelevant detail
- Category detection is also regex-based and frequently miscategorizes
Proposal
Add an optional LLM-based capture pipeline:
- Importance scoring: After regex pre-filter, send candidate messages to a lightweight LLM call to score importance (0-1) and decide whether to store
- Summarization: Distill the raw message into a clean, concise memory statement before embedding
- Better categorization: Let the LLM classify into categories with higher accuracy
- Context-aware capture: Include the assistant's response for context (currently only user messages are evaluated)
Config
{
"autoCapture": true,
"captureMode": "llm", // or "regex" (default, current behavior)
"captureModel": "gpt-4o-mini",
"captureMinImportance": 0.6
}
Tradeoffs
- Adds API cost per conversation (mitigate with batch/cheap models like gpt-4o-mini or Gemini Flash)
- Regex mode stays as default for zero-cost operation
- LLM mode would be opt-in
Problem
Auto-capture uses regex pattern matching (
MEMORY_TRIGGERS) which is brittle:Proposal
Add an optional LLM-based capture pipeline:
Config
{ "autoCapture": true, "captureMode": "llm", // or "regex" (default, current behavior) "captureModel": "gpt-4o-mini", "captureMinImportance": 0.6 }Tradeoffs