Skip to main content
This example demonstrates how to share memory between Agents. This means that memories created by one Agent, will be available to the other Agents.

Code

agents_share_memory.py
from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.openai import OpenAIResponses
from agno.tools.hackernews import HackerNewsTools
from rich.pretty import pprint

db = SqliteDb(db_file="agents.db")

john_doe_id = "[email protected]"

chat_agent = Agent(
    model=OpenAIResponses(id="gpt-5.2"),
    description="You are a helpful assistant that can chat with users",
    db=db,
    update_memory_on_run=True,
)

chat_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,
)

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


research_agent = Agent(
    model=OpenAIResponses(id="gpt-5.2"),
    description="You are a research assistant that can help users with their research questions",
    tools=[HackerNewsTools()],
    db=db,
    update_memory_on_run=True,
)

research_agent.print_response(
    "I love reading about AI. What are the top stories on Hacker News about AI?",
    stream=True,
    user_id=john_doe_id,
)

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

Usage

1

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate
2

Install dependencies

uv pip install -U agno openai rich
3

Export your OpenAI API key

export OPENAI_API_KEY=your_openai_api_key_here
4

Run Example

python agents_share_memory.py