목차
AI 에이전트의 메모리는 단순한 “기억력”이 아니라, 서로 다른 목적과 타임스케일로 작동하는 여러 메커니즘의 집합이다. 이 글은 메모리 문제의 본질, 주요 메모리 유형, 그리고 대규모 프로덕션에서 신뢰할 수 있는 메모리 아키텍처를 만드는 방법을 3단계로 설명한다.
레벨 1: 메모리 문제의 본질
LLM은 본질적으로 무상태(stateless)다. API 호출은 매번 새로 시작되며 이전 호출의 내용을 기억하지 못한다. 이것이 에이전트에 문제가 되는 네 가지 이유:
- 이전에 무슨 일이 있었나? 캘린더 일정을 잡는 에이전트가 기존 일정을 기억하지 못하면 중복 예약이 발생한다.
- 이 사용자는 무엇을 원하는가? 선호하는 문체를 기억하지 못하는 글쓰기 보조 도구는 매 세션마다 초기화된다.
- 에이전트가 이미 시도한 것은? 실패한 검색 쿼리를 기억하지 못하면 같은 시도를 반복한다.
- 어떤 사실이 누적되었나? 작업 중 발견한 누락 파일 정보를 이후 단계에서 활용할 수 없다.
레벨 2: 에이전트 메모리의 유형
작업 메모리 (In-Context Memory)
현재 컨텍스트 창 안에 있는 모든 것 — 대화 기록, 도구 실행 결과, 시스템 프롬프트, 관련 문서. 즉각적이고 정확하며 별도 검색 단계가 없다.
- 장점: 높은 신뢰도, 빠른 접근
- 한계: 비용과 지연이 길이에 비례, 현재 작업의 활성 상태에만 적합
외부 메모리 (External Memory via RAG)
컨텍스트에 항상 담기 어려운 대규모·오래된·동적 정보는 외부 저장소에서 필요할 때 검색한다.
두 가지 검색 패턴:
| 방식 | 용도 | 예시 |
|---|---|---|
| 의미 검색 (벡터 DB) | 현재 쿼리와 의미적으로 유사한 기록 | “청구 문제 관련 과거 대화” |
| 구조적 조회 (SQL/KV) | 특정 속성으로 정확히 검색 | 사용자 ID, 시간 범위, 엔티티명 |
두 방식을 조합한 하이브리드 검색이 실제 시스템에서 가장 강력하다.
레벨 3: 프로덕션 메모리 아키텍처
무엇을 저장할 것인가
메모리는 선택적이어야 한다. 세 가지 범주:
| 유형 | 내용 |
|---|---|
| 에피소딕 메모리 | 일어난 일: 특정 이벤트, 도구 호출, 결과 |
| 의미 메모리 | 사실: 경험에서 추출한 선호도, 지식 |
| 절차 메모리 | 방법: 성공한 전략, 알려진 실패 패턴 |
언제 기록할 것인가
저장하지 말아야 할 것: 모든 토큰을 그대로 저장하면 노이즈만 쌓인다. 원시 전사(transcript) 전체, 결과에 영향 없는 중간 추론, 기존 기록의 중복본.
저장 트리거:
- 세션 말미 요약: 세션 종료 후 핵심 사실·결정·결과를 압축 기록
- 이벤트 기반 기록: 사용자 수정, 명시적 선호도 표현, 작업 완료, 오류 조건
어떻게 검색할 것인가
| 방식 | 원리 | 적합한 상황 |
|---|---|---|
| 벡터 유사도 검색 | 임베딩 기반 근사 검색, Top-K 반환 | 비정형 기억, 의미 기반 |
| 구조적 쿼리 | 속성 기반 정확 조회 | 사용자 ID, 시간 범위 등 명확한 조건 |
| 하이브리드 | 두 방식 병렬 실행 후 병합 | 의미 + 구조 메타데이터 모두 있을 때 |
메모리 노후화 및 버전 관리
기억은 낡는다. 사용자의 직책이 바뀌고, API 엔드포인트가 사라지고, 사실이 변한다.
- 시간 가중치: 최근 기억에 더 높은 가중치
- 버전 관리 엔티티: 타임스탬프와 함께 최신값으로 덮어쓰기
- 메모리 평가 지표: 검색 재현율, 검색 정밀도, 충실도, 노후화율
다중 에이전트 메모리
여러 에이전트가 같은 메모리를 공유할 때 일관성이 핵심 과제다.
| 접근 방식 | 특징 |
|---|---|
| 중앙 메모리 + 잠금 | 충돌 방지, 병목 가능 |
| 네임스페이스 분리 | 에이전트별 독립 공간, 합의 지점 필요 |
| 추가 전용 로그 | 변경 이력 보존, 읽기 시 충돌 해소 |
관련 문서
- auto-memory — Copilot CLI 세션 간 기억 복원 CLI
- rag — 검색 증강 생성 기술
- inference-caching — LLM 추론 캐시 전략
참고 자료
- AI Agent Memory Explained in 3 Levels of Difficulty — MachineLearningMastery.com (2026-04-22)