메인 콘텐츠로 건너뛰기

메모리 검색

memory_search는 원문과 표현이 다르더라도 메모리 파일에서 관련 메모를 찾습니다. 이를 위해 메모리를 작은 청크로 인덱싱하고, 임베딩, 키워드 또는 둘 다를 사용해 검색합니다.

빠른 시작

OpenAI, Gemini, Voyage 또는 Mistral API 키가 구성되어 있으면 메모리 검색은 자동으로 작동합니다. provider를 명시적으로 설정하려면 다음과 같이 하세요.
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai", // 또는 "gemini", "local", "ollama" 등
      },
    },
  },
}
API 키 없이 로컬 임베딩을 사용하려면 provider: "local"을 사용하세요(node-llama-cpp 필요).

지원되는 provider

ProviderIDAPI 키 필요참고
OpenAIopenai자동 감지, 빠름
Geminigemini이미지/오디오 인덱싱 지원
Voyagevoyage자동 감지
Mistralmistral자동 감지
Ollamaollama아니요로컬, 명시적으로 설정해야 함
Locallocal아니요GGUF 모델, 약 0.6 GB 다운로드

검색 작동 방식

OpenClaw는 두 개의 검색 경로를 병렬로 실행하고 결과를 병합합니다.
  • 벡터 검색은 의미가 비슷한 메모를 찾습니다(예: “gateway host”와 “OpenClaw를 실행하는 머신” 매칭).
  • BM25 키워드 검색은 정확한 일치를 찾습니다(ID, 오류 문자열, config 키).
한 경로만 사용 가능한 경우(임베딩 없음 또는 FTS 없음), 다른 하나만 단독으로 실행됩니다.

검색 품질 개선

메모 기록이 많을 때 도움이 되는 두 가지 선택 기능이 있습니다.

시간 감쇠

오래된 메모는 순위 가중치가 점차 줄어들어 최근 정보가 먼저 표시됩니다. 기본 반감기 30일 기준으로 지난달 메모는 원래 가중치의 50% 점수를 가집니다. MEMORY.md 같은 상시 유지 파일은 감쇠되지 않습니다.
에이전트에 수개월치 일일 메모가 있고 오래된 정보가 최근 컨텍스트보다 계속 더 높게 순위화된다면 시간 감쇠를 활성화하세요.

MMR(다양성)

중복 결과를 줄입니다. 다섯 개의 메모가 모두 같은 라우터 config를 언급하는 경우, MMR은 상위 결과가 반복되지 않고 서로 다른 주제를 다루도록 보장합니다.
memory_search가 서로 다른 일일 메모에서 거의 중복된 스니펫을 계속 반환한다면 MMR을 활성화하세요.

둘 다 활성화

{
  agents: {
    defaults: {
      memorySearch: {
        query: {
          hybrid: {
            mmr: { enabled: true },
            temporalDecay: { enabled: true },
          },
        },
      },
    },
  },
}

멀티모달 메모리

Gemini Embedding 2를 사용하면 Markdown과 함께 이미지 및 오디오 파일도 인덱싱할 수 있습니다. 검색 쿼리는 여전히 텍스트이지만 시각 및 오디오 콘텐츠와 일치합니다. 설정은 메모리 구성 참조를 참조하세요.

세션 메모리 검색

선택적으로 세션 트랜스크립트를 인덱싱하여 memory_search가 이전 대화를 회상하도록 할 수 있습니다. 이것은 memorySearch.experimental.sessionMemory를 통한 옵트인 기능입니다. 자세한 내용은 구성 참조를 참조하세요.

문제 해결

결과가 없나요? 인덱스를 확인하려면 openclaw memory status를 실행하세요. 비어 있으면 openclaw memory index --force를 실행하세요. 키워드 일치만 나오나요? 임베딩 provider가 구성되지 않았을 수 있습니다. openclaw memory status --deep를 확인하세요. CJK 텍스트를 찾지 못하나요? openclaw memory index --force로 FTS 인덱스를 다시 빌드하세요.

추가 읽기