본문으로 건너뛰기

메모리

메모리 기능은 각 봇에 세션 간에 유지되는 지속적이고 장기적인 메모리를 제공합니다. 봇은 반복하지 않아도 대화 간에 사실, 선호도 및 컨텍스트를 기억할 수 있습니다.

작동 방식

각 봇은 IndexedDB로 백업되는 자체 격리된 메모리 저장소를 가집니다. 메모리 항목은 페이지 다시 로드 및 세션 간에 브라우저에 유지되는 키-값 쌍입니다.

봇에 메모리 항목이 있으면 각 메시지가 전송되기 전에 시스템 프롬프트에 자동으로 주입됩니다. 모델은 저장된 컨텍스트를 지침의 일부로 받아 가시적인 채팅 기록을 소비하지 않고도 기억된 정보에 액세스할 수 있습니다.

내부적으로 주입된 형식은 다음과 같습니다:

<memory>
- user_name: Alice
- preferred_language: Python
- project: FastAPI로 REST API 구축
</memory>

메모리 추가

/remember 명령

채팅에서 직접 메모리 명령을 입력:

봇에게 말하기: bcz_remember("user_name", "Alice")

모델이 응답에 bcz_remember("key", "value")를 포함하면 플랫폼이 자동으로 구문 분석하고 메모리 항목을 저장합니다. 이를 통해 모델이 대화를 기반으로 기억할 가치가 있는 것을 결정할 수 있습니다.

설정의 메모리 패널

메모리를 수동으로 관리할 수도 있습니다:

  1. 설정 열기
  2. 현재 봇의 메모리 섹션으로 이동
  3. 개별 메모리 항목 추가, 편집 또는 제거

메모리 보기

현재 봇의 모든 메모리 항목은 설정에서 볼 수 있습니다. 각 항목은 다음을 표시합니다:

  • -- 식별자 (예: "user_name", "project_context")
  • -- 저장된 정보
  • 타임스탬프 -- 항목이 마지막으로 업데이트된 시간

메모리 편집 및 삭제

설정의 메모리 패널에서:

  • 키나 값을 변경하여 모든 메모리 항목 편집
  • 제거 버튼으로 개별 항목 삭제
  • 현재 봇의 모든 메모리 모두 지우기
경고

메모리 삭제는 영구적입니다. 실행 취소가 없습니다. 모든 메모리를 지우면 봇이 기억된 컨텍스트 없이 새로 시작합니다.

메모리 형식

메모리는 키-값 쌍으로 저장됩니다:

예시 사용
user_nameAlice응답 개인화
preferred_languagePython코드 생성 선호도
timezoneUS/Pacific시간 인식 응답
projectFastAPI REST API진행 중인 프로젝트 컨텍스트
coding_stylePEP 8, 타입 힌트, 독스트링코드 스타일 선호도

키는 설명적이고 간결해야 합니다. 값은 모든 텍스트일 수 있습니다.

사용 사례

  • 개인 선호도 -- 이름, 시간대, 코딩 언어, 의사소통 스타일
  • 프로젝트 컨텍스트 -- 현재 프로젝트 세부 정보, 기술 스택, 요구 사항
  • 반복 지침 -- "항상 주석과 함께 코드 형식 지정", "간결한 답변 선호"
  • 도메인 지식 -- 봇이 환경에 대해 항상 알아야 할 사실 저장
  • 대화 요약 -- 봇이 과거 토론의 진행 중인 요약 유지

몇 가지 핵심 메모리(이름, 선호 언어, 프로젝트 이름)로 시작하고 자연스럽게 늘리세요. 봇은 선호도와 워크플로에 대한 컨텍스트가 축적됨에 따라 더 유용해집니다.

봇별 격리

메모리는 봇별입니다 -- 각 봇은 자체 독립적인 메모리 저장소를 가집니다. 메모리는 봇 간에 누출되지 않습니다. 이것은 다음을 의미합니다:

  • 코딩 어시스턴트는 기술 스택을 기억
  • 작성 어시스턴트는 작성 스타일을 기억
  • 서로의 메모리를 볼 수 없음

저장 세부 정보

속성세부 정보
백엔드IndexedDB (ais-memory-{botId}로 저장)
지속성페이지 다시 로드, 브라우저 재시작, 세션 전환에서 생존
범위브라우저에 로컬 -- 어떤 서버에도 전송되지 않음
내보내기"모든 데이터 내보내기" 백업에 포함
공유 URL메모리는 공유 봇 URL에 포함되지 않음

도구 호출 통합

도구 호출 지원이 있는 모델은 구조화된 도구 호출을 통해 자체 메모리를 관리할 수 있습니다. 모델이 응답에서 bcz_remember() 호출을 출력하면 플랫폼이 자동으로:

  1. 함수 호출 구문 분석
  2. 키와 값 추출
  3. IndexedDB에 메모리 항목 저장 (또는 업데이트)

이를 통해 모델이 향후 대화를 위해 기억할 가치가 있는 정보를 자율적으로 결정할 수 있습니다.

정보

메모리 주입은 시스템 프롬프트 길이에 추가되며, 이는 모델의 컨텍스트 윈도우에 계산됩니다. 많은 메모리 항목이 있으면 대화 기록에 사용할 수 있는 토큰을 소비합니다.