로컬 에이전트 메모리를 위한 하이브리드 RAG: OpenClaw, Ollama, nomic-embed-text 활용

✍️ OpenClawRadar📅 게시일: March 10, 2026🔗 Source
로컬 에이전트 메모리를 위한 하이브리드 RAG: OpenClaw, Ollama, nomic-embed-text 활용
Ad

문제: 저장이 아닌 검색

개발자는 매일의 메모리 로그를 마크다운 파일에 저장해 왔는데, 이는 정보를 저장하는 데는 효과적이었지만 다시 찾는 데는 적합하지 않았습니다. 에이전트가 과거 컨텍스트가 필요할 때마다 ls를 실행하고 파일을 하나씩 열어보며 토큰을 소비하고 때로는 관련 정보를 놓치는 방식으로 되돌아갔습니다. 문제는 저장이 아닌 의미 기반 검색에 있었습니다.

해결책: 로컬 임베딩을 활용한 하이브리드 RAG

개발자는 OpenClaw에서 memorySearch를 활성화했으며, Ollama를 제공자로, nomic-embed-text를 로컬 임베딩으로 사용하여 하이브리드 모드로 실행했습니다. 하이브리드는 70% 벡터 유사도(nomic-embed-text를 통한 코사인 유사도)와 30% BM25 키워드 매칭을 결합한 것을 의미합니다. 벡터는 의미적 근접성을 처리하고 BM25는 정확한 이름, 버전, ID를 처리합니다. MMR은 중복 결과를 줄이고, 시간적 감쇠는 최근 로그에 더 많은 가중치를 부여합니다. 모든 것은 외부 API 없이 로컬에서 실행됩니다.

구성

"memorySearch": {
  "provider": "ollama",
  "query": {
    "hybrid": {
      "enabled": true,
      "vectorWeight": 0.7,
      "textWeight": 0.3,
      "mmr": {
        "enabled": true,
        "lambda": 0.7
      },
      "temporalDecay": {
        "enabled": true,
        "halfLifeDays": 30
      }
    }
  }
}

설정 지침

  • OpenClaw는 localhost:11434에서 Ollama를 자동으로 감지합니다
  • baseUrl이나 모델을 지정할 필요가 없습니다 - nomic-embed-text가 풀링되면 자동으로 선택됩니다
  • 먼저 ollama pull nomic-embed-text를 실행한 다음 게이트웨이를 재시작하세요
  • provider: "openai"로 설정하고 baseUrl을 Ollama로 지정하지 마세요 - 직접 provider: "ollama"를 사용하세요
Ad

필요한 행동 변화

도구를 활성화하는 것만으로는 충분하지 않았습니다. 파일을 직접 읽기 전에 memorySearch를 사용하라는 명시적인 지침 없이는 에이전트가 이를 건너뛰고 더 느리고 토큰 소비가 많은 경로를 택했습니다. 개발자는 작업 공간의 AGENTS.md와 MEMORY.md 모두에 규칙을 작성하여 메모리 검색이 에이전트의 일반적인 워크플로우의 일부가 되도록 했습니다.

이전 vs 이후 결과

  • 이전: 폴더를 탐색하고, 파일을 무작위로 열고, 표현이 일치하기를 바라며, 토큰을 낭비하고, 컨텍스트를 놓침
  • 이후: 의미적 쿼리로 memory_search를 실행하고, 유사도 점수와 함께 순위가 매겨진 결과를 검색하며, 가장 적합한 매치를 열고, 실제 과거 노트에서 답변을 얻음
  • 관련 결과에 대한 유사도 점수는 일반적으로 nomic-embed-text에서 산문 로그에 대해 0.45에서 0.48 범위입니다

실용적 참고사항

  • nomic-embed-text는 기본적으로 2048 토큰 컨텍스트 제한을 가지며, 8192가 아닙니다 - 큰 파일은 인덱싱 시 잘릴 수 있습니다
  • 스페인어로 된 메모리 파일도 잘 작동합니다 - nomic-embed-text는 스페인어를 문제없이 처리합니다
  • 검색 품질은 노트 품질에 달려 있습니다 - 모호한 로그는 여전히 의미 검색에 어려움을 초래합니다

기술 스택

  • OpenClaw (로컬, 자체 호스팅)
  • Ollama + nomic-embed-text:latest
  • SQLite with sqlite-vec and FTS5 (OpenClaw가 처음 사용 시 자동 생성)
  • Mac mini M4, 16GB 통합 메모리

📖 전체 소스 읽기: r/openclaw

Ad

👀 See Also

Qwen3-VL-32B-Instruct는 멀티모달 플래시카드 채점에 탁월한 성능을 보입니다.
Use Cases

Qwen3-VL-32B-Instruct는 멀티모달 플래시카드 채점에 탁월한 성능을 보입니다.

한 개발자가 이미지가 가려진 Anki 플래시카드 채점을 위해 Qwen3-VL-32B-Instruct를 테스트한 결과, Gemini 2.5 Flash, GPT 5 Nano/Mini, XAI 4.1 Fast, GLM, Mistral 모델 등을 능가하는 성능을 보였으며, ChatGPT 5.2와 Gemini 3/3.1/Claude 4+만이 비슷한 수준이었습니다.

OpenClawRadar
오픈-클로 + 헤르메스: 분리된 오케스트레이터와 실행기를 통한 멀티 에이전트 워크플로우의 이점
Use Cases

오픈-클로 + 헤르메스: 분리된 오케스트레이터와 실행기를 통한 멀티 에이전트 워크플로우의 이점

3주간의 테스트 결과, 한 사용자는 Open-Claw(오케스트레이터)와 Hermes(실행 전문가)를 함께 사용했을 때 단일 에이전트보다 성능이 뛰어나며, 병렬 작업 처리와 교차 진단을 통해 처리량과 신뢰성이 향상된다는 것을 발견했습니다.

OpenClawRadar
OpenClaw VPS vs 로컬 배포: 개발자 경험
Use Cases

OpenClaw VPS vs 로컬 배포: 개발자 경험

개발자가 VPS와 로컬 환경에서 OpenClaw를 실행한 상세한 경험을 공유하며, VPS에서의 지연 문제, 권한 제한, 브라우저 자동화 문제를 강조하고, 브라우저 세션 및 로컬 파일 접근이 가능한 로컬 배포의 장점을 설명합니다.

OpenClawRadar
클로드 코드를 백그라운드 에이전트로 24/7 운영하기 — 2주간의 경험
Use Cases

클로드 코드를 백그라운드 에이전트로 24/7 운영하기 — 2주간의 경험

한 개발자가 VPS에서 Claude Code를 지속적으로 실행하여 자는 동안 코드 리뷰, 리팩토링, 배포를 처리하는 자신의 설정을 공유합니다.