| Mode | How it works | Tradeoff |
|---|---|---|
| Always | Extraction runs automatically after each response | Extra LLM call per interaction |
| Agentic | Agent receives tools and decides what to save | May miss implicit information |
| Propose | Agent proposes learnings, user confirms before saving | Requires user interaction |
Always Mode
Extraction happens automatically in the background. No agent tools involved.Agentic Mode
The agent receives tools and decides when to save.Tools by Store
| Store | Tools |
|---|---|
| User Profile | update_profile |
| User Memory | update_user_memory |
| Entity Memory | search_entities, create_entity, update_entity, add_fact, update_fact, delete_fact, add_event, add_relationship |
| Learned Knowledge | search_learnings, save_learning |
| Decision Log | log_decision, record_outcome, search_decisions |
Propose Mode
The agent proposes learnings. User must confirm before saving.Combining Modes
Use different modes for different stores:Defaults by Store
| Store | Default mode | Reason |
|---|---|---|
| User Profile | Always | Names and preferences should be captured consistently |
| User Memory | Always | Observations accumulate passively |
| Session Context | Always | Session state needs continuous tracking |
| Entity Memory | Always | Continuous extraction captures entity facts/events from normal conversations |
| Learned Knowledge | Agentic | Agent decides what insights are worth saving |
| Decision Log | Always (DecisionLogConfig()), Agentic (decision_log=True) | Supports both automatic logging and explicit logging workflows |
Choosing a Mode
| Scenario | Mode |
|---|---|
| Capture user names and preferences | Always |
| Build user memory automatically | Always |
| Track session progress | Always |
| Agent-driven knowledge capture | Agentic |
| Build entity knowledge graphs | Always |
| Audit agent decisions | Agentic |
| High-value collective knowledge | Propose |
| Compliance-sensitive learning | Propose |