data science/AI Agents

agno - Memory 관리

꼰대코더 2025. 10. 16. 01:32

기본적으로 agent 는 세션상태로 과거 이력을 보전한다. 

하지만 영구적으로 이력을 보존하기 위해 외부 데이터베이스(postgres)를 사용하는 방법을 아래와 같이 소개하고자 한다.

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

# Persist memories in Postgres
db = PostgresDb(db_url="postgresql+psycopg://ai:ai@localhost:5532/ai")

# Updated: Use OpenAI’s GPT-5 model
agent = Agent(
    model=OpenAIChat(id="gpt-5"),
    db=db,
    enable_user_memories=True,       # 실행후에 agent가 메모리를 생성 업데이터를 가능하게 한다.
    add_memories_to_context=True,  # 프롬프트에 메모리를 추가
    add_history_to_context=True        # 최근 chat 이력을 추가

user = "user@example.com"

# 아래 실행으로 메모리에 저장되게 된다.
agent.print_response("My name is Pak and I live in Seoul.", user_id=user)

 

 

# 앞에 내용이 저장되어 기억되는지 확인
agent.print_response("Where do I live, and what's my name?", user_id=user)