AI 에이전트 메모리: 자체 개선 에이전트 구축 | Microsoft Developer


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 채널 등 참고(원문 참조)
1개의 좋아요