CrewAI 프레임워크에서 메모리 시스템을 활용해 에이전트의 능력을 강화하는 방법
단기 메모리
, 장기 메모리
, 엔티티 메모리
, 컨텍스트 메모리
로 구성되며, 각각 에이전트가 과거 상호작용을 기억하고, 추론하고, 학습하는 데 독특한 목적을 제공한다.
구성 요소 | 설명 |
---|---|
단기 메모리 | RAG 를 사용해 최근 상호작용과 결과를 임시로 저장한다. 에이전트가 현재 실행 중에 관련 정보를 기억하고 활용할 수 있게 한다. |
장기 메모리 | 과거 실행에서 얻은 유용한 통찰과 학습 내용을 보존한다. 에이전트가 시간이 지남에 따라 지식을 구축하고 정교화할 수 있게 한다. |
엔티티 메모리 | 작업 중 마주친 엔티티(사람, 장소, 개념)에 대한 정보를 캡처하고 조직화한다. 더 깊은 이해와 관계 매핑을 지원한다. RAG 를 사용해 엔티티 정보를 저장한다. |
컨텍스트 메모리 | 단기 메모리 , 장기 메모리 , 엔티티 메모리 를 결합해 상호작용의 컨텍스트를 유지한다. 일련의 작업이나 대화에서 에이전트 응답의 일관성과 관련성을 높인다. |
사용자 메모리 | 사용자별 정보와 선호도를 저장한다. 개인화와 사용자 경험을 향상시킨다. |
memory=True
로 설정해 활성화할 수 있다. 메모리는 기본적으로 OpenAI 임베딩을 사용하지만, embedder
를 다른 모델로 설정해 변경할 수 있다. 또한, 직접 생성한 메모리 인스턴스로 초기화할 수도 있다.
‘embedder’는 단기 메모리에만 적용되며, 단기 메모리는 RAG를 위해 Chroma를 사용한다. 장기 메모리는 작업 결과를 저장하기 위해 SQLite3을 사용한다. 현재는 이러한 스토리지 구현을 재정의할 수 있는 방법이 없다. 데이터 스토리지 파일은 appdirs 패키지를 통해 플랫폼별 특정 위치에 저장되며, CREWAI_STORAGE_DIR 환경 변수를 사용해 프로젝트 이름을 재정의할 수 있다.
CREWAI_STORAGE_DIR
)org_id
와 project_id
파라미터를 설정할 수 있다.
옵션 | 설명 | 타입 | 기본값 |
---|---|---|---|
-l , --long | 장기 메모리 초기화. | 플래그 (불리언) | False |
-s , --short | 단기 메모리 초기화. | 플래그 (불리언) | False |
-e , --entities | 엔티티 메모리 초기화. | 플래그 (불리언) | False |
-k , --kickoff-outputs | 최신 킥오프 작업 출력 초기화. | 플래그 (불리언) | False |
-a , --all | 모든 메모리 초기화. | 플래그 (불리언) | False |