---
tags: [AI-Agent, 메모리]
last-reviewed: 2026-07-27
---

# Memory Architecture

> AI 에이전트가 단기·장기·일화·의미 기억을 계층적으로 결합해 맥락을 유지하고 학습하는 전체 메모리 구조.

## 핵심 개념

LLM 자체는 본질적으로 무상태(stateless)다. 매 호출마다 컨텍스트 윈도우에 담긴 토큰만 인지하며, 호출이 끝나면 그 내용을 기억하지 못한다. 에이전트가 "기억"을 갖는 것처럼 동작하려면 외부에서 상태를 저장·검색·주입하는 메모리 계층을 설계해야 한다. 이 메모리 아키텍처는 인간 인지심리학의 기억 분류를 차용해 다음 네 가지로 나뉜다.

- **단기 기억(Short Term Memory)**: 현재 진행 중인 대화·작업 세션의 맥락. 컨텍스트 윈도우와 대화 히스토리로 구현된다.
- **장기 기억(Long Term Memory)**: 세션을 넘어 영속적으로 보관되는 기억. 단기 기억과 구분되며 일화·의미 기억을 포괄한다.
- **일화 기억(Episodic Memory)**: 특정 시점에 일어난 사건·경험의 기록 ("지난번 이렇게 처리했다").
- **의미 기억(Semantic Memory)**: 시점과 무관한 일반 사실·지식·규칙 ("사용자는 한국어를 선호한다").

## 계층 구조와 데이터 흐름

```
사용자 입력
   │
   ▼
[단기 기억] ── 컨텍스트 윈도우 / 대화 버퍼
   │  (필요 시 응답 후 선별·요약·추출)
   ▼
[장기 기억] ── 영속 저장소
   ├── 일화 기억 (이벤트 로그)
   └── 의미 기억 (지식 베이스)
```

작업 중에는 단기 기억이 활성 맥락을 담고, 중요한 정보는 요약·추출 과정을 거쳐 장기 기억으로 승격된다. 이후 새 요청이 들어오면 관련 기억을 검색해 다시 컨텍스트에 주입한다.

> [!IMPORTANT] 대화 이력과 장기 기억은 다르다
> conversation/message 원문을 영속 저장하는 것은 **대화 기록**이고, 그중 목적에 맞는 사실·선호·사건을 선별해 별도 수명주기로 관리하는 것이 **장기 기억**이다. 모든 대화를 장기 기억이나 Vector DB에 자동 적재하지 않는다. 인증·선저장·회수·응답 저장·조건부 기억 갱신의 순서는 [[프로덕션 대화형 에이전트 요청 생명주기]]를 따른다.

## 저장 방식

| 계층 | 대표 저장소 | 검색 방식 |
|------|------------|----------|
| 단기 | 메시지 리스트, 인메모리 버퍼 | 그대로 프롬프트에 포함 |
| 장기/의미 | 관계형 DB, 키-값 저장소, 선택적 Vector DB | 정확 키 조회 / 필요한 경우 의미 검색 |
| 일화 | 타임스탬프 이벤트 로그, 선택적 Vector DB 인덱스 | 시간순 / 필요한 경우 의미 검색 |

장기 기억의 **정본 저장소와 회수 인덱스를 구분한다.** 사용자 프로필·설정처럼 키가 명확한 값은 관계형 DB/KV로 정확 조회한다. 비정형 기억을 의미 유사도로 회수해야 할 때만 원문·메타데이터 정본에서 [[04_RAG/03_임베딩인덱싱/Embedding|Embedding]]을 파생해 [[Vector Database]] 또는 pgvector에 색인하고 [[RAG Architecture]] 패턴과 결합한다. Vector 인덱스는 삭제·만료를 원문에서 전파받고 재생성 가능해야 한다.

## 활용

- **개인화**: 사용자 선호·이력을 의미·일화 기억에 누적해 응답을 맞춤화.
- **장기 작업 연속성**: 멀티턴·멀티세션 워크플로우에서 [[State Management]]와 함께 진행 상태 유지.
- **자기 개선**: 과거 성공·실패 사례(일화)를 회수해 [[Reflection]]에 활용.

설계 시 핵심 고려사항은 (1) 무엇을 장기 기억으로 승격할지(write 정책), (2) 언제·어떻게 회수할지(read 정책), (3) 오래되거나 충돌하는 기억을 어떻게 정리할지(망각·갱신 정책)다.

## 관련 노트

- [[Short Term Memory]]
- [[Long Term Memory]]
- [[Episodic Memory]]
- [[Semantic Memory]]
- [[Vector Database]]
- [[RAG Architecture]]
- [[Context Engineering]]
- [[프로덕션 대화형 에이전트 요청 생명주기]]
