AI 에이전트 메모리 설계에서 가장 먼저 정리해야 할 것은 단기 메모리와 장기 메모리의 역할 차이입니다. 둘을 구분하지 않으면 대화 로그는 쌓이지만 실제로 재사용되는 기억은 거의 남지 않습니다.
검색어 관점에서는 short-term memory, long-term memory, agent memory architecture, LLM memory, persistent memory가 자주 함께 검색됩니다. 이 글은 그 차이를 실무 기준으로 정리합니다.
왜 중요한가 #
단기 메모리는 현재 작업을 끝내기 위한 맥락입니다. 장기 메모리는 다음 작업에서도 다시 꺼내 쓸 수 있는 지식입니다. 둘의 목적이 다르기 때문에 저장 정책도 달라야 합니다.
- 단기 메모리는 최신 상태 유지가 중요합니다.
- 장기 메모리는 재사용성과 요약 품질이 중요합니다.
- 단기 메모리는 길어질수록 비용이 증가합니다.
- 장기 메모리는 정리되지 않으면 오염됩니다.
실무에서 많이 보이는 실패는 모든 것을 장기 기억으로 넣는 것입니다. 이렇게 하면 검색 품질이 나빠지고, 이전의 중요한 정보가 노이즈에 묻힙니다.
메모리 계층 #
가장 단순한 분리는 아래와 같습니다.
| 구분 | 보관 기간 | 예시 |
|---|---|---|
| 단기 메모리 | 현재 세션 | 직전 대화, 중간 결과, 임시 변수 |
| 장기 메모리 | 여러 세션 | 사용자 선호, 프로젝트 목표, 반복 규칙 |
| 정책 메모리 | 지속적 | 보안 규칙, 금지 토픽, 조직 표준 |
실제로는 여기에 요약 메모리, 벡터 검색 메모리, 세션 상태, 결정 메모리를 더해 계층화하는 편이 좋습니다. LangGraph는 상태 흐름을, Mem0는 메모리 저장과 검색을 다루는 데 적합합니다.
설계 방식 #
- 현재 턴에 필요한 정보는 단기 메모리로 유지합니다.
- 반복될 가능성이 있는 정보만 장기 메모리 후보로 추립니다.
- 장기 메모리는 원문보다 요약과 메타데이터 중심으로 저장합니다.
- 회수할 때는 task relevance와 recency를 같이 평가합니다.
- 만료 조건을 두어 오래된 기억은 자동 정리합니다.
이 방식이 좋은 이유는 명확합니다. 단기 메모리는 빠르고 정확해야 하고, 장기 메모리는 압축되고 검색 가능해야 합니다. 하나의 저장소로 해결하려 하면 둘 다 놓치기 쉽습니다.
체크리스트 #
- 현재 세션용 상태와 장기 기억을 분리합니다.
- 원문 저장과 요약 저장을 구분합니다.
- 회수 우선순위를 최근성, 관련성, 중요도로 나눕니다.
- 오래된 기억을 만료하거나 재요약합니다.
- 민감한 메모리는 별도 정책으로 관리합니다.
결론 #
단기 메모리와 장기 메모리는 AI 에이전트의 시간축을 나누는 장치입니다. 이 둘을 명확히 분리해야 에이전트가 현재 작업도 잘하고, 다음 작업도 이어서 잘할 수 있습니다. 실무에서는 기억을 많이 넣는 것보다, 어디에 무엇을 넣을지 정하는 것이 더 중요합니다.