Store를 제공하고 use_longterm_memory=True를 설정하여 deep agent를 장기 메모리로 확장할 수 있습니다. 이를 통해 스레드와 대화 간에 지속되는 영구 스토리지를 사용할 수 있습니다.
설정
작동 방식
장기 메모리가 활성화되면 deep agent는 두 개의 별도 파일시스템을 유지합니다:1. 단기(일시적) 파일시스템
- 에이전트의 상태에 저장됨
- 단일 스레드 내에서만 유지됨
- 스레드가 종료되면 파일이 손실됨
- 표준 경로를 통해 접근:
/notes.txt
2. 장기(영구) 파일시스템
- LangGraph Store에 저장됨
- 모든 스레드와 대화에 걸쳐 유지됨
- 파일이 무기한 존재함
- 특수 접두사를 통해 접근:
/memories/notes.txt
/memories/ 경로 규칙
장기 메모리의 핵심은/memories/ 경로 접두사입니다:
/memories/로 시작하는 경로의 파일은 Store에 저장됨(영구)- 이 접두사가 없는 파일은 일시적 상태로 유지됨
- 모든 파일시스템 도구(
ls,read_file,write_file,edit_file)가 두 파일시스템 모두에서 작동함
스레드 간 지속성
/memories/의 파일은 모든 스레드에서 접근할 수 있습니다:
사용 사례
사용자 설정
세션 간에 지속되는 사용자 설정을 저장합니다:자기 개선형 지침
에이전트가 피드백을 기반으로 자체 지침을 업데이트할 수 있습니다:지식 베이스
여러 대화에 걸쳐 지식을 구축합니다:연구 프로젝트
세션 간에 연구 상태를 유지합니다:Store 구현
모든 LangGraphBaseStore 구현이 작동합니다:
InMemoryStore (개발용)
테스트 및 개발에 적합하지만 재시작 시 데이터가 손실됩니다:PostgresStore (프로덕션용)
프로덕션에서는 영구 저장소를 사용하세요:모범 사례
설명이 포함된 경로 사용
명확하고 계층적인 경로로 장기 파일을 구성하세요:지속되는 내용 문서화
시스템 프롬프트에서 장기 저장소와 단기 저장소를 언제 사용할지 명확히 하세요:assistant ID별로 저장소 격리
다중 테넌트 애플리케이션의 경우assistant_id를 제공하여 저장소를 격리하세요:
프로덕션에서 영구 저장소 사용
파일 목록 조회
ls 도구는 두 파일시스템의 파일을 모두 보여줍니다:
/memories/ 접두사가 붙어 표시됩니다.
제한 사항
Store가 필수
장기 메모리를 활성화할 때 Store를 제공해야 합니다:에이전트는 올바른 경로를 사용해야 함
에이전트는 지속성을 위해/memories/ 접두사를 사용하는 방법을 학습해야 합니다. 시스템 프롬프트가 이를 가르치지만 에이전트가 지침을 따라야 합니다.