콘텐츠로 이동

2.7. 메모리

메모리 시스템을 사용하면 AI가 모든 대화에서 참조하는 지속적인 사실, 선호 사항, 컨텍스트를 저장할 수 있습니다. 세션마다 초기화되는 일시적인 컨텍스트 윈도우와 달리, 메모리 항목은 영구적으로 유지되어 같은 내용을 반복하지 않아도 AI가 프로젝트 규칙, 개인 선호 사항, 도메인 지식을 "기억"합니다.

메모리란?

대규모 언어 모델은 기본적으로 장기 기억이 없습니다. 매 대화가 백지 상태에서 시작되며, 모델의 컨텍스트 윈도우에 들어갈 수 있는 내용으로 제한됩니다. 메모리는 Backend.AI GO가 매 채팅 세션에 자동으로 주입하는 로컬 사실 저장소를 유지함으로써 이 한계를 해결합니다.

AI 어시스턴트와 함께하는 개인 지식 베이스라고 생각하시면 됩니다.

핵심 개념

  • 메모리 뱅크 (네임스페이스) — 관련 항목을 모아두는 구성 그룹입니다. 예를 들어 "업무 프로젝트" 뱅크와 "코딩 스타일" 뱅크를 따로 만들 수 있습니다. 각 뱅크는 개별적으로 활성화하거나 비활성화할 수 있어 AI가 어떤 컨텍스트를 볼지 정확히 제어할 수 있습니다.

  • 메모리 항목 — 뱅크 안에 저장된 개별 사실입니다. 각 항목에는 내용 텍스트, 분류를 위한 선택적 태그, 소스 유형(수동 또는 자동), 타임스탬프가 포함됩니다.

  • 메모리 주입 — 메시지를 보내면 Backend.AI GO가 활성화된 모든 뱅크에서 항목을 수집하고, 시스템 메시지로 포맷한 뒤 API 요청에 앞에 추가합니다. 모델은 답변하기 전에 이 컨텍스트를 읽습니다.

  • 자동 추출 — AI가 대화에서 유용한 사실을 자동으로 식별하고 새 항목으로 저장할 수 있어 수동 작업 없이도 메모리가 자연스럽게 성장합니다.

  • 중복 제거 및 통합 — 시간이 지남에 따라 자동 추출된 항목이 겹칠 수 있습니다. 시스템은 유사한 항목을 병합하고 오래된 항목을 정리하여 메모리를 간결하게 유지합니다.

시작하기

  1. 설정 > 메모리를 열고 메모리 시스템이 활성화되어 있는지 확인합니다 (기본적으로 활성화되어 있습니다).

  2. 새 메모리 뱅크을 클릭하여 첫 메모리 뱅크를 만듭니다. "개인 선호 사항"이나 "프로젝트 메모" 같은 설명적인 이름을 지정합니다.

  3. 수동으로 항목을 추가하거나, AI와 대화하면서 자동 추출이 뱅크를 채우도록 합니다.

메모리 인디케이터

메모리가 활성 상태일 때, 도구 선택기 옆 채팅 헤더에 데이터베이스 아이콘이 나타납니다.

  • 배지 카운트 — 아이콘에 활성화된 메모리 뱅크의 수가 표시됩니다.

  • 팝오버 — 데이터베이스 아이콘을 클릭하면 다음을 보여주는 빠른 접근 패널이 열립니다:

    • 대화에 대한 메모리 주입을 활성화하거나 비활성화하는 토글.
    • 활성 뱅크 목록과 각 항목 수.
    • 컨텍스트 예산 사용량을 나타내는 토큰 사용 정보.
    • 전체 메모리 뷰어를 여는 버튼.

인디케이터 숨기기

더 깔끔한 채팅 헤더를 선호한다면 설정 > 메모리 > 메모리 표시기 표시에서 데이터베이스 아이콘을 숨길 수 있으며, 이때 메모리 시스템 자체는 비활성화되지 않습니다.

메모리 주입 작동 방식

메모리가 활성화된 상태에서 메시지를 보내면:

  1. Backend.AI GO가 모든 활성화된 뱅크에서 항목을 수집합니다.

  2. 항목은 구조화된 블록으로 포맷되어 API 요청에 시스템 메시지로 앞에 추가됩니다. 이 메시지는 채팅 UI에서 보이지 않으며 모델만 볼 수 있습니다.

  3. 시스템은 설정된 최대 토큰 예산(기본값 2000)을 준수합니다. 전체 항목이 예산을 초과하면 항목이 잘려서 맞춰집니다.

  4. 어떤 이유로든 컨텍스트 구성에 실패하면(예: 백엔드를 사용할 수 없는 경우) 메모리 없이 정상적으로 대화가 진행됩니다. 이러한 우아한 성능 저하로 채팅이 항상 작동합니다.

메시지를 메모리에 저장

채팅 메시지를 직접 메모리에 저장할 수 있습니다:

  1. 메시지를 마우스 오른쪽 버튼으로 클릭하거나 점 세 개 메뉴를 클릭한 후 메모리에 저장을 선택합니다.

  2. 대화상자에서:

    • 저장할 내용을 확인하거나 편집합니다.
    • 드롭다운에서 대상 뱅크(네임스페이스)를 선택합니다.
    • 선택적으로 쉼표로 구분된 태그를 추가하여 정리할 수 있습니다.
  3. 저장을 클릭합니다. 항목은 향후 메모리 주입에 즉시 사용할 수 있습니다.

메모리가 활성화되어 있어야 합니다

"메모리에 저장" 옵션은 설정 > 메모리에서 메모리 시스템이 활성화되어 있을 때만 컨텍스트 메뉴에 나타납니다.

메모리 뱅크 관리

메모리 설정 메모리 설정

메모리 뱅크는 설정 > 메모리 탭에서 관리합니다:

  • 생성 — 이름과 선택적 설명을 포함한 새 뱅크를 추가합니다.

    메모리 뱅크 생성 메모리 뱅크 생성

  • 편집 — 기존 뱅크의 이름이나 설명을 수정합니다.

  • 삭제 — 뱅크와 모든 항목을 영구적으로 삭제합니다. 이 작업은 취소할 수 없습니다.

  • 활성화 / 비활성화 — 삭제하지 않고 개별 뱅크를 켜거나 끕니다. 비활성화된 뱅크는 메모리 주입에서 제외됩니다.

  • 가져오기 / 내보내기 — 뱅크를 JSON 파일로 내보내 백업하거나 공유할 수 있고, JSON 파일에서 가져올 수도 있습니다 (최대 10 MB).

메모리 뷰어

메모리 뷰어 메모리 뷰어

메모리 뷰어는 뱅크 내의 개별 항목을 탐색, 검색, 관리하는 사이드 드로어입니다.

뷰어 열기

설정 > 메모리에서 뱅크 카드의 보기 버튼을 클릭하거나, 메모리 인디케이터 팝오버 내의 버튼을 클릭합니다.

항목 탐색

  • 항목은 가장 최근에 업데이트된 순서로 정렬됩니다.

  • 각 항목 카드에는 내용(마크다운 렌더링 포함), 소스 배지(수동 또는 자동), # 접두사가 붙은 태그, 상대적 타임스탬프가 표시됩니다.

  • 긴 항목은 기본적으로 처음 6줄로 접혀 있습니다. 펼침 버튼을 클릭하면 전체 내용을 볼 수 있습니다.

추가, 편집, 삭제

  • 추가추가 버튼을 클릭하여 내용, 태그, 소스 유형을 포함한 새 항목을 만듭니다.

  • 편집 — 항목 카드의 편집 아이콘을 클릭하여 내용과 태그를 수정합니다.

  • 삭제 — 삭제 아이콘을 클릭하여 항목을 제거합니다 (확인 대화상자가 먼저 나타납니다).

  • 뱅크 비우기 — 하단의 네임스페이스 비우기를 클릭하여 현재 뱅크의 모든 항목을 한 번에 제거합니다 (확인 필요).

검색

상단의 검색 바를 사용하여 모든 뱅크 또는 특정 뱅크 내에서 내용으로 항목을 필터링합니다.

자동 추출

자동 추출이 활성화된 메모리 설정 자동 추출이 활성화된 메모리 설정

자동 추출은 AI가 대화에서 유용한 사실을 자동으로 식별하고 저장하는 기능입니다.

작동 방식

  1. 어시스턴트가 몇 번 응답할 때마다 (기본값: 5회) 기억할 만한 새로운 정보가 있는지 확인합니다.

  2. 최근 대화 턴(기본 최대 10개)이 중복 확인을 위한 기존 항목과 함께 추론 서버로 전송됩니다.

  3. AI가 어떤 사실을 새 항목으로 생성하거나 기존 항목을 업데이트할지 결정합니다.

  4. 새 항목은 전용 "자동 추출" 뱅크에 저장됩니다 (존재하지 않으면 자동으로 생성됩니다).

안전 제한

  • 사이클당 최대 20개의 추출 작업으로 과도한 항목 생성을 방지합니다.

  • 자동 추출된 항목 내용은 10,000자로 제한되며, 수동 항목은 최대 50,000자까지 허용됩니다.

  • 각 항목에는 최대 10개의 태그를 지정할 수 있습니다.

중복 제거 및 통합

시간이 지남에 따라 자동 추출된 항목에 중복되거나 유사한 정보가 포함될 수 있습니다. 통합 프로세스가 이를 정리합니다.

  • 유사도 매칭 — 바이그램 기반 Jaccard 유사도를 사용하여 항목을 비교합니다. 기본 임계값은 0.85 (0–1 범위)이며, 텍스트 구조의 85% 이상을 공유하는 항목이 중복으로 간주됩니다.

  • 병합 — 유사한 항목이 발견되면 가장 긴 내용을 유지하고, 모든 태그를 합치며, 어떤 항목이 병합되었는지 기록합니다.

  • 정리90일 (설정 가능) 이상 경과하고 거의 참조되지 않은 자동 추출 항목은 자동으로 삭제될 수 있습니다. 여러 번 추출되거나 참조된 항목은 보존됩니다.

수동 항목은 영향을 받지 않습니다

통합은 자동 추출된 항목에만 적용됩니다. 수동으로 저장한 항목은 항상 그대로 유지됩니다.

설정 참조

모든 메모리 설정은 설정 > 메모리에서 찾을 수 있습니다.

설정 설명 기본값
메모리 시스템 활성화 전체 메모리 시스템을 켜거나 끕니다. 켜짐
메모리 표시기 표시 채팅 헤더에 데이터베이스 아이콘을 표시합니다. 켜짐
최대 메모리 토큰 메모리 주입의 최대 토큰 예산 (500–8000). 값이 높을수록 더 많은 컨텍스트를 제공하지만 모델의 컨텍스트 윈도우를 더 많이 사용합니다. 2000

네임스페이스 수준 컨트롤 (뱅크별):

컨트롤 설명
활성화 토글 이 뱅크를 메모리 주입에 포함하거나 제외합니다.
가져오기 / 내보내기 뱅크를 JSON 파일로 주고받습니다.
보기 메모리 뷰어 드로어를 엽니다.
삭제 뱅크와 모든 항목을 영구적으로 삭제합니다.

팁 및 모범 사례

  • 주제별로 구성하기 — 다양한 도메인에 대해 별도의 뱅크를 만드세요 (예: "업무", "코딩", "개인"). 필요에 따라 컨텍스트를 쉽게 켜고 끌 수 있습니다.

  • 태그 활용하기#python, #preferences, #project-x 같은 태그를 사용하면 메모리 뷰어에서 항목을 빠르게 필터링하고 찾을 수 있습니다.

  • 자동 추출 항목 검토하기 — 정기적으로 메모리 뷰어를 열어 AI가 자동으로 저장한 내용을 확인하세요. 부정확하거나 더 이상 관련 없는 항목은 편집하거나 삭제합니다.

  • 토큰 예산 관리하기최대 메모리 토큰 값이 높을수록 AI에게 더 많은 컨텍스트를 제공하지만 대화 자체에 사용할 수 있는 공간이 줄어듭니다. 기본값(2000)으로 시작하고 필요한 경우에만 늘리세요.

  • 백업을 위해 내보내기 — 큰 변경을 하기 전에 중요한 뱅크를 JSON 파일로 내보내 필요시 복원할 수 있도록 합니다.