메모리가 뭐예요?
LLM 메모리를 대화 밖에 따로 적어 두었다가 다음 대화 시작에 쟁반에 먼저 올리는 앵무새의 수첩 이야기로 풀어봤어요.
어제 '난 커피 싫어'라고 했는데, 오늘 앵무새가 커피를 추천해요.어제 분명히 말했는데요. 앵무새는 왜 모를까요?
쟁반은 대화가 끝나면 비워져요. 앵무새는 원래 기억이 없어요.앵무새가 보는 건 쟁반 위뿐이에요. 새 대화의 쟁반은 텅 비어 있으니, 어제 일은 없는 것과 같아요.
메모리는 대화 밖에 따로 적어 두는 앵무새의 수첩이에요. 다음에 만나면 쟁반에 먼저 올려요.앵무새가 기억하는 게 아니에요. 수첩을 쟁반에 올려 주니까 기억하는 것처럼 보이는 거예요. 수첩이 길어지면 서가처럼 딱지로 찾기도 해요.
두 종류예요. 이번 대화의 쟁반은 단기, 수첩은 장기.쟁반엔 지금 주고받는 말 전부, 수첩엔 다음에도 필요한 것만. 수첩이 아주 길어지면 딱지로 정리한 서가처럼 관련 있는 줄만 꺼내 올려요.
수첩에 잘못 적으면 계속 틀려요. 그리고 수첩은 개인 정보라 조심해야 해요.손님이 수첩을 보고 고치고 지울 수 있어야 해요. 개인 정보 지키기는 보안 분야의 개인정보 이야기에서. 회사 규정 같은 지식은 수첩이 아니라 사서가 찾아온 페이지로요.
메모리 = 대화 밖에 따로 적어 두는 앵무새의 수첩. 앵무새는 원래 기억이 없고 쟁반은 대화가 끝나면 비워지니, 중요한 것만 수첩에 적어 다음 대화 시작에 쟁반에 먼저 올려요. 잘못 적으면 계속 틀리고, 개인 정보라 조심해요.
LLM 은 상태가 없어서(stateless) 세션이 끝나면 컨텍스트 창이 사라져요. 메모리는 대화 기록·사용자 프로필·요약을 모델 밖 저장소에 두었다가 다음 세션의 프롬프트에 주입하는 구조예요. 단기 메모리는 현재 컨텍스트, 장기 메모리는 외부 저장(요약·키-값·벡터 메모리)이고, 개인정보라 열람·정정·삭제 권한이 필요해요.
어른들은 이렇게 불러요
- 메모리 (장기 / 단기)
Memory (long / short-term) - 수첩 / 쟁반. 단기는 지금 대화의 쟁반, 장기는 대화 밖 수첩이에요.
- 대화 기록
Conversation history - 주고받은 말 전부. 쟁반에 그대로 올라가요. 길어지면 앞부분이 떨어져요.
- 사용자 프로필
User profile - 수첩의 손님 칸. 이름, 좋아하는 것, 말투 취향 같은 것.
- 요약 메모리
Summary memory - 긴 대화를 몇 줄로. 쟁반이 좁으니 지난 대화를 요약해서 수첩에 적어요.
- 벡터 메모리
Vector memory - 딱지로 찾는 수첩. 수첩이 길어지면 서가처럼 관련 줄만 꺼내요. → 딱지로 정리한 서가
- 세션
Session - 대화 한 판. 시작하면 쟁반이 새로 나오고, 끝나면 비워져요.
- 개인정보
Personal data - 수첩에 적힌 손님 이야기. 열람·정정·삭제를 손님이 할 수 있어야 해요. → 개인정보 (보안)
- 컨텍스트 창
Context window - 쟁반. 수첩이 올라가는 곳. 크기가 정해져 있어요. → 앵무새 앞의 쟁반