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

문제: 저장이 아닌 검색
개발자는 매일의 메모리 로그를 마크다운 파일에 저장해 왔는데, 이는 정보를 저장하는 데는 효과적이었지만 다시 찾는 데는 적합하지 않았습니다. 에이전트가 과거 컨텍스트가 필요할 때마다 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"를 사용하세요
필요한 행동 변화
도구를 활성화하는 것만으로는 충분하지 않았습니다. 파일을 직접 읽기 전에 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
👀 See Also

OpenClaw와 n8n 통합을 통한 배치 이미지 생성
한 개발자가 OpenClaw를 사용해 의도 이해와 n8n을 사용한 일괄 이미지 생성을 위한 워크플로우를 공유하며, Google Sheets를 조직에 활용했습니다. 이 설정은 Atlas Cloud를 통해 MiniMax M2.7을 사용하며, 계획과 실행을 분리해 토큰을 절약합니다.

클로드 AI로 리눅스 배포판 구축하기: 개발자를 위한 실전 가이드
23년 경력의 개발자가 Claude AI를 전체 개발팀으로 활용하여 보안 강화 리눅스 배포판 NubiferOS를 구축했습니다. 이 프로젝트는 10~15개의 동시 Claude 세션을 사용했으며, 약 39,300줄의 코드와 약 57,500줄의 문서를 생성했고, 인간이 직접 작성한 코드는 전혀 없습니다.

사례 연구: 클로드를 활용한 풀스택 웹 앱 6주 만에 구축하기
네팔 출신의 19세 개발자가 Claude를 활용하여 6주 만에 100명의 사용자와 7명의 유료 고객을 보유한 꿈 일기 웹 앱 'Somnia'를 구축하고 출시했습니다. 작업 방식은 Claude를 엄격한 업무 범위와 명확한 수용 기준을 가진 주니어 개발자처럼 대하는 것이었습니다.

OpenClaw 에이전트는 GitHub 통합을 통해 HVAC 웹사이트의 SEO를 자동화합니다.
한 HVAC 회사가 Ahrefs에 연결된 SEO 기술을 가진 OpenClaw 서브 에이전트를 사용하여 주간 SEO 보고서와 웹사이트 업데이트를 자동화했으며, 11주 동안 검색 노출량이 17배 증가했습니다.