Skip to content
이 페이지는 AI의 도움으로 작성 및 번역되었습니다. 부정확한 내용이 있으면 개선에 참여해 주세요. GitHub에서 편집

메모리 시스템

PRX는 에이전트가 대화 간에 컨텍스트를 유지하고 리콜할 수 있게 하는 유연한 메모리 시스템을 제공합니다. 메모리 시스템은 다양한 배포 시나리오에 최적화된 5개의 스토리지 백엔드를 지원합니다.

개요

메모리 시스템은 세 가지 주요 기능을 수행합니다:

  • 리콜 -- 각 LLM 호출 전에 관련 과거 상호 작용과 팩트를 검색합니다
  • 저장 -- 대화에서 추출한 중요한 정보를 유지합니다
  • 압축 -- 컨텍스트 제한에 맞추기 위해 오래된 메모리를 요약하고 압축합니다

스토리지 백엔드

백엔드지속성검색최적 용도
Markdown파일 기반전체 텍스트 grep단일 사용자 CLI, 버전 관리 메모리
SQLite로컬 데이터베이스FTS5 전체 텍스트로컬 배포, 소규모 팀
PostgreSQL원격 데이터베이스pg_trgm + FTS다중 사용자 서버 배포
Embeddings벡터 저장소시맨틱 유사도RAG 스타일 검색, 대규모 지식 베이스
In-memory없음 (세션만)선형 스캔임시 세션, 테스트

설정

config.toml에서 메모리 백엔드를 선택하고 설정합니다:

toml
[memory]
backend = "sqlite"  # "markdown" | "sqlite" | "postgres" | "embeddings" | "memory"
max_recall_items = 20
recall_relevance_threshold = 0.3

[memory.sqlite]
path = "~/.local/share/openprx/memory.db"

[memory.postgres]
url = "postgresql://user:pass@localhost/prx"

[memory.embeddings]
provider = "ollama"
model = "nomic-embed-text"
dimension = 768

메모리 생명주기

  1. 추출 -- 각 대화 턴 후 시스템이 핵심 팩트를 추출합니다
  2. 중복 제거 -- 새 팩트를 기존 메모리와 비교합니다
  3. 저장 -- 고유한 팩트를 설정된 백엔드에 유지합니다
  4. 리콜 -- 각 LLM 호출 전에 관련 메모리를 검색합니다
  5. 정리 -- 주기적 유지보수가 오래된 항목을 압축하고 정리합니다

관련 페이지

Released under the Apache-2.0 License.