한 줄 정의
Memory는 에이전트가 이전 대화, 사용자 선호, 작업 결과를 저장했다가 필요할 때 다시 꺼내 쓰는 기억 구조야. 그냥 입력창에 긴 문장을 더 붙이는 게 아니라 다음 판단에 쓸 정보를 별도 저장소에 남겨 두는 방식이라고 보면 돼.
어떻게 작동하나
보통은 현재 세션 안에서 잠깐 쓰는 단기 메모리와 여러 세션을 넘겨 유지하는 장기 메모리로 나뉘어. 모델이 전부를 항상 들고 있는 게 아니라 저장소에서 관련 기록을 찾아 프롬프트나 도구 호출에 다시 주입하는 식으로 굴러가.
왜 중요한가
memory가 있으면 에이전트가 방금 한 일과 사용자의 취향을 이어서 다룰 수 있어서 작업이 덜 끊겨. 코딩 에이전트가 직전에 고친 파일 맥락을 이어받거나 비서형 앱이 선호 일정과 반복 선택을 반영하는 차이가 여기서 나와.
주의해서 볼 점
Memory는 long context랑 같지 않아. 많이 담는 능력과 잘 저장하고 다시 꺼내는 능력은 다른 문제라서, 오래된 기록의 오염과 개인정보 저장 범위를 같이 봐야 해.
관련 용어
- long-context: long context는 한 번에 많이 넣는 쪽이야. memory는 나중에 다시 꺼내 쓰는 쪽이라서 둘을 같은 말로 보면 기사 해석이 자꾸 어긋나.
- tool-use: memory는 어떤 도구를 언제 다시 쓸지 결정할 때 자주 같이 붙어. 그래서 둘을 같이 보면 에이전트의 행동 흐름이 더 잘 보여.
- langchain: LangChain은 memory 패턴을 코드 단위로 자주 설명하는 프레임워크야. 구현 예시를 볼 때 기준점으로 쓰기 좋아.
- llamaindex: LlamaIndex는 저장한 정보를 다시 찾아 붙이는 흐름을 볼 때 같이 보면 편해. 특히 검색과 memory의 경계가 어디인지 감 잡기 좋지.