AI 에이전트 메모리
1. 메모리의 중요성
-
AI 에이전트의 핵심 기능(계획 수립, 행동 실행, 자기 개선)은 메모리에서 비롯됨
-
메모리는 반영(reflective), 상호작용(interactive), 예측(proactive), 자율성(autonomous) 등 에이전트의 주요 특성을 가능하게 함
2. 메모리의 종류
2-1. 단기 메모리
-
한 번의 대화와 그 맥락을 저장
-
예시: 사용자가 "파리행 항공권 가격"을 묻고, 이어 "파리의 호텔"을 물을 때, 에이전트는 '파리’를 기억함
2-2. 장기 메모리
-
여러 대화에 걸쳐 정보를 저장
-
예시: 사용자의 취향, 피드백, 과거 상호작용 등 장기적으로 활용할 정보
2-3. 엔티티 메모리
-
대화에서 추출한 엔티티(예: 도시, 관광지, 식당 등)를 저장
-
예시: “파리 여행이 즐거웠다” → ‘파리(도시)’, ‘에펠탑(관광지)’, ‘Lashhat noir(식당)’ 등 추출
2-4. 구조화된 RAG 메모리
-
엔티티 정보를 구조화된 데이터 저장소에 직접 질의하여 정확한 정보만 반환
-
데이터 정확성이 중요한 경우에 적합
3. 메모리 저장 방법
3-1. 전문 툴/프레임워크 활용
-
예시: Mem Zero(메모리 관리 레이어), Azure AI Search(데이터베이스)
-
Mem Zero는 다양한 DB 지원, 메모리 추가/수정/삭제 가능
3-2. 직접 DB 저장 및 RAG 활용
-
메모리를 DB에 직접 저장하고 RAG로 정보 검색
-
구조화된 RAG로 정확한 정보만 반환 가능
-
예시: 음식 알레르기 정보가 있으면, 해당 조건을 만족하는 식당만 추천
4. 자기 개선을 위한 메모리 활용
-
가치 있는 정보를 식별하여 요약, 지식베이스에 저장, 필요 시 검색
-
새로운 쿼리가 들어오면 관련 메모리 검색 후 활용
5. 코드 예제 주요 내용
-
Mem Zero, Semantic Kernel, Azure AI Search를 활용한 호텔 예약 예제
-
환경 변수 설정, Azure AI Search 인덱스 생성(호텔 정보/메모리)
-
사용자의 호텔 취향을 저장하고, 이후 예약 시 자동 추천
-
메모리 추가(add), 전체 조회(get all) 등 간단한 메서드 제공
-
여행 예약 플러그인: 사용자의 여행 취향/제한사항 저장 및 검색
-
예시 대화: 사용자가 예산, 로맨틱, 식사 취향 등 입력 → 에이전트가 메모리 검색 후 추천
-
알레르기 등 추가 정보 입력 시, 메모리에 반영되어 이후 추천에 활용
-
저장된 메모리 직접 조회 가능
-
사용자 ID는 예제에서 하드코딩(Sarah Johnson 123)
-
예제 코드는 GitHub에서 확인 가능(원문 내 링크 참고)
6. 실용적인 팁 및 주의사항
-
메모리 구조 설계 시, 데이터 정확성과 검색 효율성 고려
-
사용자의 제약 조건(알레르기 등)은 반드시 반영
-
메모리 추가/수정/삭제 기능을 통해 지속적으로 개선 가능
7. 참고 자료 및 리소스
- 원문 내 GitHub 링크, 강의 링크, Discord 채널 등 참고(원문 참조)