AI VIDEO BRIEFING
AI 에이전트 지속 메모리 구현: DB 세션과 사용자 프로필 저장소
인메모리 세션은 앱이 재시작되면 사라진다. 데이터베이스 세션 서비스와 사용자 프로필 저장소로 AI 에이전트가 대화와 사용자 취향을 오래 기억하게 만드는 방법을 정리했다.

핵심 메시지
쉽게 이해하기
이 영상은 AI 에이전트의 기억을 다루는 시리즈의 한 편으로, 단기 기억에서 장기 기억으로 넘어가는 과정을 설명한다. 이전 편에서는 ADK의 세션과 상태(state)를 이용해 단기 '작업 기억'을 만들었지만, 앱이 재시작되면 그 기억이 전부 사라지는 한계가 있었다.
첫 번째 개선은 대화 자체를 영속적으로 만드는 것이다. 기존의 인메모리 세션 서비스를 데이터베이스 세션 서비스로 바꾸면 모든 사용자 메시지, 에이전트 응답, 상태 변화가 데이터베이스 파일이나 Postgres 같은 실제 DB에 저장된다. 이후 앱이 재시작되어도 같은 세션 ID로 돌아온 사용자는 이전 대화를 그대로 이어갈 수 있다.
영상은 get-or-create-session 헬퍼 함수를 예로 든다. 먼저 세션을 조회해 있으면 이어가고, 없으면 새로 만들어 시작한다. 핵심은 에이전트 로직을 다시 쓰지 않고 세션 서비스 아래의 저장 엔진만 교체한다는 점이다. ADK는 인메모리, 데이터베이스, 그리고 구글 클라우드가 관리하는 Vertex AI 세션 서비스라는 세 가지 선택지를 제공한다.
두 번째 개선은 장기 개인화를 위한 사용자 프로필 저장소를 추가하는 것이다. 지속 세션은 같은 대화를 이어가게 해 주지만, 다음 주에 새 세션 ID로 대화를 열면 참고할 기록이 없다. 그래서 사용자 ID와 선호 키(예: 식습관, 좋아하는 것, 이동 수단)별로 한 행씩 담는 작은 선호 정보 테이블을 둔다.
에이전트는 recall user preference(저장된 선호를 모두 읽기)와 save user preference(키를 새로 넣거나 갱신하기)라는 두 도구로 이 데이터를 활용한다. 두 도구 모두 현재 사용자 ID가 담긴 컨텍스트를 받아 올바른 사람에게 읽기·쓰기가 연결되도록 한다.
주요 인사이트
- 저장소를 교체 가능한 부품처럼 다루면 에이전트의 행동 로직과 기억의 영속성을 분리해 관리할 수 있다.
- '지속 세션'과 '사용자 프로필'은 역할이 다르다. 전자는 끊긴 대화를 이어가게 하고, 후자는 완전히 새 대화에서도 사용자를 개인화한다.
- 선호 정보는 작고 구조화된 형태(사용자 ID + 키)로 유지해야 관리와 갱신이 쉽다.
- 영상은 에이전트에 명확한 순서를 지시한다: 시작할 때 먼저 recall, 계획을 세워 개인화, 새로운 사실이 나오면 끝내기 전에 save.
자주 묻는 질문
인메모리 세션 서비스의 한계는 무엇인가?
빠르지만 단기적이어서 앱이 재시작되면 대화 기록과 상태가 모두 지워진다.
데이터베이스 세션 서비스로 바꾸면 에이전트 코드를 다시 짜야 하나?
아니다. 에이전트 로직은 그대로 두고 세션 서비스 아래의 저장 엔진만 교체하면 된다.
새 세션에서도 사용자를 기억하게 하려면 무엇이 필요한가?
사용자 ID와 선호 키별로 저장하는 사용자 프로필 테이블을 두고, 에이전트에 recall과 save 두 도구를 준다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗