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)