동작 원리

동작 원리

Mem0는 애플리케이션과 모델 사이에 위치해요. 대화 턴을 add로 저장하고, 다음 모델 요청 전에 search를 호출해 관련 컨텍스트를 가져와요. 어떤 메모리를 프롬프트에 넣을지는 애플리케이션이 결정해요.

기본적으로 Mem0는 저장된 메모리(추출된 사실)를 보관하지, 대화 원문(transcript)을 그대로 두진 않아요. 정확히 원문 그대로 저장하고 싶으면 infer=False를 쓰면 돼요. 대부분은 추론(inference)을 켜 둬서 정제·중복 제거된 사실 단위로 검색이 잘 동작하게 해요.

대부분의 앱은 두 단계에서 Mem0를 사용해요.

  1. 유용한 상호작용 후 add를 호출해 기억할 것을 저장.
  2. 모델 호출 전 search를 호출해 최선의 결과를 프롬프트에 전달.

저장(추출) 단계는 이렇게 이뤄져요. 관련 기존 메모리를 확인해 같은 사실을 중복 저장하지 않고, LLM이 선호·결정·계획 같은 재사용 가능한 사실을 추출한 뒤, 중복을 제거하고 각 메모리를 임베딩해 의미 검색에 쓸 수 있게 해요. 마지막으로 메모리가 언급한 사람·장소·조직·개념을 엔티티로 뽑아 검색 시 엔티티 매칭에 사용해요.

검색 단계에서는 의미(semantic)·키워드(keyword)·엔티티(entity)·시간(temporal) 등 여러 신호를 결합해 메모리를 순위화해요.

더 알아보기