본문으로 건너뛰기

메모리 및 회상

이 페이지는 긴 대화에서 모델이 기억을 유지하도록 돕는 메모리 기능을 설명합니다. 누적되는 대화 메모리, 키워드로 활성화되는 메모리 항목, 벡터 회상을 다룹니다.

대화 메모리

모든 채팅은 대화가 길어짐에 따라 파이프라인이 유지하는 누적 요약을 가집니다. 컨텍스트 시프팅 전략 summarize가 활성화되면, 제외된 가장 오래된 기록이 현재 사용자 입력 앞에 삽입되는 로컬 추출 요약으로 압축됩니다. 따라서 원시 메시지가 토큰 예산을 벗어난 후에도 모델은 초반 사건의 요지를 유지합니다. 요약은 채팅과 함께 저장되어 다시 로드해도 유지됩니다.

보내기 전에 현재 프롬프트의 내용을 정확히 볼 수 있습니다. 실시간 컨텍스트 미리보기는 선택된 토크나이저, 컨텍스트 한도와 예약된 응답 공간, 제외된 블록, 요약된 블록, 적용된 전략을 보여줍니다. 전략 선택기는 설정을 참조하세요.

메모리 항목

메모리 항목은 채팅을 가로지르며 유지되는 장기 지식 조각으로, 단일 대화와 독립적입니다. 각 항목에는 다음이 있습니다.

  • 범위global 또는 캐릭터에 연결.
  • 활성화 키워드 — 대화 컨텍스트에 대한 대소문자 구분 없는 부분 문자열 일치.
  • 내용 — 항목이 발동할 때 주입되는 텍스트.

이것이 전형적인 RAG 패턴입니다. 검색은 키워드 일치로 트리거되고, 주입된 조각은 캐릭터 세부 정보, 세계 규칙, 진행 중인 플롯 포인트 같은 안정적인 사실에 대한 모델의 요구를 매 프롬프트를 부풀리지 않고 충족합니다. 로어북 항목처럼 메모리 블록은 프롬프트 파이프라인에서 관련성 순으로 순위가 매겨지며 토큰 예산에 포함됩니다.

벡터 회상

벡터 회상은 컨텍스트 시프팅 전략 vector-recall입니다. 컨텍스트를 순수하게 오래된 순으로 자르는 대신, 로어북과 메모리 블록을 현재 입력에 대한 의미적 관련성으로 순위를 매겨 가장 관련성이 낮은 것부터 제거한 다음 오래된 기록을 정리합니다. 결과적으로 모델은 최신이 아니더라도 현재 메시지에 중요한 자료를 유지합니다.

이 전략은 생성 설정별로 선택되며, 플러그인은 SDK를 통해 추가 전략을 등록할 수 있습니다. 모든 전략은 최종적으로 호스트가 제어하는 토큰 예산을 준수해야 하며 플러그인은 이를 우회할 수 없습니다.

전략 선택

사용 가능한 전략은 truncate(가장 오래된 보호되지 않은 그룹 제거), summarize(제외된 기록 압축), vector-recall(관련성이 높은 블록 유지, 관련성과 오래됨에 따라 정리), manual(기록에서 삭제하지 않고 특정 메시지를 프롬프트에서 제외)입니다. 수동 모드는 각 메시지에 제외/복원 작업을 노출하며, 도구 호출/도구 결과 쌍은 항상 함께 처리됩니다. 메시지 수준 컨트롤은 채팅, 관련 키워드 활성화 모델은 로어북을 참조하세요.