Skip to main content
This example shows how to use agentic memory with an Agent. During each run, the Agent can create, update, and delete user memories.
"""
Agentic Memory Management
=========================

This example shows how to use agentic memory with an Agent.
During each run, the Agent can create, update, and delete user memories.
"""

from agno.agent.agent import Agent
from agno.db.postgres import PostgresDb
from agno.models.openai import OpenAIChat
from rich.pretty import pprint

# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
db = PostgresDb(db_url=db_url)

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
agent = Agent(
    model=OpenAIChat(id="gpt-4o-mini"),
    db=db,
    enable_agentic_memory=True,
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    john_doe_id = "[email protected]"

    agent.print_response(
        "My name is John Doe and I like to hike in the mountains on weekends.",
        stream=True,
        user_id=john_doe_id,
    )

    agent.print_response("What are my hobbies?", stream=True, user_id=john_doe_id)

    memories = agent.get_user_memories(user_id=john_doe_id)
    print("Memories about John Doe:")
    pprint(memories)

    agent.print_response(
        "Remove all existing memories of me.",
        stream=True,
        user_id=john_doe_id,
    )

    memories = agent.get_user_memories(user_id=john_doe_id)
    print("Memories about John Doe:")
    pprint(memories)

    agent.print_response(
        "My name is John Doe and I like to paint.", stream=True, user_id=john_doe_id
    )

    memories = agent.get_user_memories(user_id=john_doe_id)
    print("Memories about John Doe:")
    pprint(memories)

    agent.print_response(
        "I don't paint anymore, i draw instead.", stream=True, user_id=john_doe_id
    )

    memories = agent.get_user_memories(user_id=john_doe_id)
    print("Memories about John Doe:")
    pprint(memories)

Run the Example

# Clone and setup repo
git clone https://github.com/agno-agi/agno.git
cd agno/cookbook/11_memory

# Create and activate virtual environment
./scripts/demo_setup.sh
source .venvs/demo/bin/activate

python 02_agentic_memory.py