Memory 도구

Memory 도구 (Memory Tool)

에이전트가 SQLite 기반 영구 키-값 저장소로 세션을 넘어 사실, 선호, 프로젝트 맥락, 과거 결정을 기억하는 방법을 설명해요.

출처: 문서

본문

memory 도구는 SQLite가 백엔드인 영구 키-값 저장소를 제공해요. 데이터가 세션을 넘어 살아남아서, 에이전트가 사실, 사용자 선호, 프로젝트 맥락, 과거 결정을 기억할 수 있어요. 메모리는 범주로 정리하고 키워드로 검색할 수 있어요.

기본적으로 데이터베이스는 ~/.cagent/memory/<profile>/memory.db에 저장돼요. 여기서 <profile>은 로드된 구성(보통 YAML 파일 이름)에서 파생되고, 사용 불가능하면 default로 폴백해요. 에이전트가 OCI 참조(예: docker/my-agent:latest)에서 로드되면 파일시스템 경로에 예약된 문자(예: :)는 <profile> 세그먼트에서 정리돼요 — 에이전트의 다른 곳 표시 이름은 바뀌지 않아요. 같은 구성에서 선언된 에이전트는 기본적으로 이 데이터베이스를 공유해요. 격리하려면 도구셋별로 명시적 path를 설정하세요.

사용 가능한 도구

도구 설명
add_memory 선택적 범주와 함께 새 메모리 저장
get_memories 저장된 모든 메모리 검색
delete_memory ID로 특정 메모리 삭제
search_memories 키워드 및/또는 범주로 메모리 검색(get_memories보다 효율적)
update_memory ID로 기존 메모리의 내용 및/또는 범주 갱신

구성

toolsets:
  - type: memory

옵션

속성 타입 기본값 설명
path string ~/.cagent/memory/<profile>/memory.db SQLite 데이터베이스 파일 경로

커스텀 데이터베이스 경로

toolsets:
  - type: memory
    path: ./agent_memory.db

범주

메모리는 정리와 필터링을 위한 선택적 category 필드를 지원해요. 흔한 범주:

  • preference — 사용자 선호와 설정
  • fact — 프로젝트나 사용자에 대한 사실 정보
  • project — 프로젝트별 맥락
  • decision — 과거 결정과 그 근거

팁 memory는 대화를 넘어 정보를 회상해야 하는 장기 실행 어시스턴트에 특히 유용해요 — 코딩 선호, 프로젝트 관례, 이전 세션에서 발견한 맥락 같은 것들이요.

더 알아보기 (Learn more)