---
title: "Advanced Memory Capabilities"
description: "The software includes advanced memory capabilities designed to help AI agents maintain a coherent, persistent understanding of users and projects over time. Rather than treating every chat interact..."
last_updated: "2026-10-11T17:38:36.46961+00:00"
canonical_url: "https://www.doc0.dev/docs/faa36707-7c28-4f69-a18f-700ff61c704e/guide/core-features/advanced-memory-capabilities"
---

## Overview

The software includes advanced memory capabilities designed to help AI agents maintain a coherent, persistent understanding of users and projects over time. Rather than treating every chat interaction as completely brand new, these features allow the system to extract meaningful facts from everyday conversations, map out relationships between different pieces of information, anchor events to precise points in time, and automatically compile structured user profiles.

This guide explains how these advanced capabilities work together to create a smarter, more personalized AI experience.

---

## Core Concepts

Understanding how the system processes and organizes information requires familiarity with a few key concepts:

*   **Memory Extraction**: The automated process of reading through user and assistant conversations to pull out durable facts, preferences, plans, and professional details while discarding transient filler or greetings.
*   **Memory Linking**: The ability to connect related pieces of information together (such as linking a vet checkup record to an existing profile about a user's pet) so the system can build a contextual web of knowledge.
*   **Temporal Grounding**: The translation of relative time references (like "yesterday" or "last week") into concrete, absolute dates based on when the conversation actually took place, ensuring memories remain accurate long into the future.
*   **Profile Generation**: The automated creation and maintenance of structured summary profiles for users based on accumulated interactions and configured data schemas.

---

## How Features Work

### Graph Relationships and Memory Linking
When new memories are extracted, the system checks whether they relate to any existing memories in storage. If a connection is found—such as a new project milestone for a known job, or a follow-up event about a known entity—the system links them together using reference identifiers. This allows the AI to retrieve not just isolated facts, but entire clusters of related context during future conversations.

### Temporal Reasoning and Time Grounding
Conversations often contain relative time phrases that lose meaning over time. The system uses the observation date of a conversation to anchor relative statements into absolute dates:
*   "yesterday" becomes the exact calendar day prior to the observation date.
*   "last week" becomes the specific preceding week.
*   "recently" is tied directly to the historical timeframe of the discussion rather than the current system clock.

> [!NOTE]
> This grounding ensures that statements like "User went to Paris last week" remain permanently meaningful even years later, rather than becoming ambiguous.

### Automatic Profile Generation
As users interact with the system over time, accumulated facts and preferences feed into automated profile generation. Rather than requiring manual updates, profiles compile key user attributes based on configured project schemas and custom extraction instructions. 

*   **Asynchronous Processing**: Profiles build automatically once a user's interaction history crosses internal message thresholds.
*   **Instant Refresh**: You can also trigger profile generation immediately when needed using dedicated client actions.
*   **Status Tracking**: Profile creation jobs run asynchronously, allowing you to check progress statuses (`succeeded`, `pending`, `failed`, `not_enabled`, or `insufficient_data`) as they process.

---

## Managing Profiles

### Checking User Profiles
To retrieve the current memory profile for a specific user:
1. Identify the unique user identifier supplied when memories were added (for example, `"alice"`).
2. Request the profile data using the user identifier.
3. Check the returned status field to see whether the profile is fully generated or still processing.

### Customizing Profile Settings
You can view and update project-wide profile configurations to tailor what information gets captured:
*   **Enabled State**: Turn automated profile generation on or off across your project.
*   **Schema Definition**: Provide a structured JSON schema where every property includes a clear description to guide extraction.
*   **Custom Instructions**: Supply extra rules or behavioral guidance for the extraction step.

> [!TIP]
> Before applying a new profile schema to all users, use the sampling feature to test extraction against a small group of real users first. This lets you verify your schema design against live memory data before rolling it out broadly.

## Related

- [Searching Memories](https://www.doc0.dev/docs/faa36707-7c28-4f69-a18f-700ff61c704e/guide/core-features/searching-memories)
- [Organizing User Memories](https://www.doc0.dev/docs/faa36707-7c28-4f69-a18f-700ff61c704e/guide/how-to-guides/organizing-user-memories)


## Sitemap

See the full [sitemap](https://www.doc0.dev/docs/faa36707-7c28-4f69-a18f-700ff61c704e/llms.txt) for all pages in this wiki.
