Skip to main content

n8n AI 에이전트 메모리, 심플 메모리 대신 PostgreSQL로 대화 기록 관리하는 방법

DODOSEE
DODOSEE
Views 133
Summary

AI 클립으로 정리됨

출처 및 참고 : https://www.youtube.com/watch?v=ZgXtdprdEGs

n8n에서 AI 에이전트를 활용하는 분들 중에는 기본 제공되는 심플 메모리(Simpe Memory)에만 의존하는 경우가 많습니다. 심플 메모리는 세션이 종료되면 이전의 대화 기록이 소멸하고, 사용자 수가 증가하면 관리가 점차 어려워진다는 단점이 있습니다. 특히 여러 사용자가 동시에 대화하는 환경에서는 데이터 충돌이나 기록 누락 등의 이슈가 생길 수 있습니다.

이런 한계점을 해결하기 위해 추천되는 방법이 PostgreSQL 기반의 데이터베이스 메모리(특히 n8n에서는 '코끼리' 아이콘으로 표시되는 Postgres Memory)입니다. 이 방식은 대화 기록을 영구 저장할 수 있고, 세션이 바뀌어도 정보가 사라지지 않으며, 여러 사용자의 대화가 각각 분리되어 관리되는 장점이 있습니다.

심플 메모리의 한계와 대안

n8n에서 AI 에이전트를 구성하면 기본적으로 심플 메모리 노드가 붙어 있습니다. 이 메모리는 워크플로우가 꺼지거나 세션이 닫히면 이전 대화 내용이 통째로 사라집니다. 또한 기록된 데이터를 직접 꺼내볼 방법이 없어 사용 내역이나 대화의 누적 정보를 확인하기 어렵습니다.

대화 히스토리를 확인하고 싶거나, 복수 사용자의 기록을 분리해서 저장·관리하려면 데이터베이스 메모리를 사용하는 것이 유리합니다. 이때 PostgreSQL 메모리 노드가 대안으로 제시됩니다. 오픈 소스이자 널리 검증된 관계형 데이터베이스인 PostgreSQL을 활용하면 데이터의 영구 보관, 세션별 구분, 동시 접속자의 기록 무결성 등 실무에 필요한 요구를 충족시킬 수 있습니다.

PostgreSQL 메모리 연결하기

n8n에서 PostgreSQL 메모리를 설정하는 과정은 다음과 같습니다.

  1. Supabase 프로젝트 준비

    • Supabase는 PostgreSQL 기반의 오픈 소스 백엔드 서비스입니다.

    • Supabase 사이트에 접속해서 새로운 프로젝트를 생성합니다. 프로젝트 생성 방법이 익숙하지 않은 경우, 관련 가이드를 참고하면 더 빠르게 파악할 수 있습니다.

  2. n8n에서 PostgreSQL 메모리 노드 선택

    • 기존 심플 메모리 노드를 삭제한 뒤, Postgres Memory를 선택합니다.

    • 연결을 위해서는 Supabase에서 제공하는 PostgreSQL 접속 정보를 입력해야 합니다.

    • Supabase 대시보드에서 Connect 메뉴에 들어가 URI 타입을 PSQL로 변경하면 Host, Port, Database, User 등 세부 정보를 확인할 수 있습니다.

    • 각각의 정보를 복사해 n8n Postgres Memory 노드의 입력란에 붙여넣습니다.

    • 프로젝트 생성 시 설정한 비밀번호도 입력한 뒤 저장합니다.

이렇게 연결을 마치고 나면, 대화 내용이 PostgreSQL 테이블에 자동으로 저장됩니다. 실제로 에이전트와 인사말을 나누거나 간단한 메시지를 주고받은 뒤, Supabase의 Table Editor에서 데이터가 누적되는 것을 바로 확인할 수 있습니다.

세션ID의 역할 및 사용자 구분

PostgreSQL 메모리는 각 사용자별로 고유한 세션ID를 생성하여, 대화 기록을 세션ID 기준으로 분리 저장합니다. 세션ID는 사용자가 접속을 종료하고 다시 들어올 때마다 변경될 수 있습니다. 만약 사용자가 이메일, 휴대폰 번호와 같이 직접 입력하는 고유 정보를 활용한다면, 그 값에 따라 맞춤형 대화 히스토리도 구현할 수 있습니다. 이는 예를 들어, 강의 플랫폼에서 수강생 ID별로 개인화된 상담 기록을 쌓는 데도 활용 가능합니다.

벡터스토어 연동과 고급 활용법

대화 기록의 단순 저장을 넘어, 벡터스토어(예: Supabase Vector Store)와 연동하면 보다 고도화된 검색이나 질의가 가능합니다. Supabase Vector Store 인베딩을 설정하려면 프로젝트의 데이터 API URL, 서비스 Role 계정의 API Key 등 연결 정보를 준비해야 합니다. 각각의 설정 영역에 값을 넣어주면, 이후에는 대화 내역뿐 아니라 문서 검색, QnA 등에 쓸 고급 활용까지 가능해집니다.

예를 들어, 헤어살롱 운영 정보를 저장한 후 "영업시간 알려줘"와 같은 질문을 보냈을 때, AI가 벡터스토어를 검색하여 즉각 답변을 줄 수 있습니다. 이 과정에서 PostgreSQL 메모리는 대화 컨텍스트를 히스토리 테이블에 쌓아두는 역할을 합니다.

실제 활용 예와 적용 팁

해외 사례에서는 인수인계 챗봇처럼 반복적이고 누적되는 대화가 중요한 시스템에도 PostgreSQL 기반 메모리를 적용하고 있습니다. 데이터베이스에 지속적으로 기록을 쌓고, 필요 시 꺼내 쓰면서 속도와 안정성을 확보할 수 있습니다.

심플 메모리 역시 내부적으로는 유사한 구조로 데이터를 처리하지만, 사용자가 직접 확인하거나 조작할 수 없습니다. 영구 저장이 필요하거나, 사용자별 대화 히스토리 분석이 필수적인 환경이라면 PostgreSQL 또는 Supabase 연동을 고려하는 것이 좋습니다.

강의나 튜터링 서비스를 운영한다면, 수강생별로 이메일이나 번호 등 고유 값을 받아 기록을 누적하는 방식도 구현 가능합니다. 이를 통해 맞춤형 안내, 피드백, 상담이 가능한 AI 시스템 구축이 한층 쉬워집니다.

마무리 및 참고 안내

PostgreSQL 메모리 노드를 활용하면 AI 에이전트의 대화 기록 관리가 효율적으로 바뀝니다. n8n을 실무에 적극적으로 적용하고 싶다면, Supabase 등 외부 오픈 소스 데이터베이스와의 연동 방법도 익혀 두는 것이 좋겠습니다. 이 글의 과정만 따라 해도 기본 설정과 실전 적용까지 무리 없이 진행할 수 있습니다.

출처 및 참고 :

이 노트는 요약·비평·학습 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.