Гибридный RAG для локальной памяти агента с использованием OpenClaw, Ollama и nomic-embed-text

Проблема: Поиск, а не хранение
У разработчика были месяцы ежедневных логов памяти, сохранённых в файлах markdown, что работало для сохранения информации, но не для её повторного нахождения. Когда агенту требовался прошлый контекст, он возвращался к выполнению ls, открывал файлы по одному, тратил токены и иногда пропускал релевантную информацию. Проблема заключалась в поиске по смыслу, а не в хранении.
Решение: Гибридный RAG с локальными эмбеддингами
Разработчик включил memorySearch в OpenClaw, используя Ollama в качестве провайдера и nomic-embed-text для локальных эмбеддингов, работающих в гибридном режиме. Гибридный означает 70% векторного сходства (косинусное через nomic-embed-text) в сочетании с 30% ключевого соответствия BM25. Векторный поиск обрабатывает семантическую близость, а BM25 — точные названия, версии и идентификаторы. 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 автоматически обнаруживает Ollama на localhost:11434
- Нет необходимости указывать baseUrl или модель — он подхватывает nomic-embed-text, если он загружен
- Сначала выполните
ollama pull nomic-embed-text, затем перезапустите шлюз - Избегайте установки
provider: "openai"и указания baseUrl на Ollama — используйтеprovider: "ollama"напрямую
Требуемое изменение поведения
Включения инструмента было недостаточно. Без явных инструкций использовать memorySearch перед прямым чтением файлов агент пропускал его и выбирал более медленный, ресурсоёмкий путь. Разработчик добавил правило в AGENTS.md и MEMORY.md в рабочем пространстве, чтобы сделать поиск по памяти частью обычного рабочего процесса агента.
Результаты до и после
- До: Просмотр папок, слепое открытие файлов, надежда на совпадение формулировок, трата токенов, пропуск контекста
- После: Запуск
memory_searchс семантическим запросом, получение ранжированных результатов с оценками сходства, открытие наилучшего совпадения, ответ на основе реальных прошлых заметок - Оценки сходства для релевантных результатов обычно находятся в диапазоне 0,45–0,48 для nomic-embed-text на текстовых логах
Практические заметки
- nomic-embed-text имеет ограничение контекста в 2048 токенов по умолчанию, а не 8192 — большие файлы могут обрезаться при индексации
- Файлы памяти на испанском работают хорошо — nomic-embed-text обрабатывает испанский без проблем
- Качество поиска зависит от качества заметок — расплывчатые логи всё ещё вызывают трудности при семантическом поиске
Технологический стек
- OpenClaw (локальный, саморазмещаемый)
- Ollama + nomic-embed-text:latest
- SQLite с sqlite-vec и FTS5 (автоматически создаётся OpenClaw при первом использовании)
- Mac mini M4, 16GB унифицированной памяти
📖 Прочитать полный источник: r/openclaw
👀 Смотрите также

Автоисследование с Claude Code в рабочей кодовой базе: 60 экспериментов, 3 изменения сохранены
Разработчик провел 60 итераций автоисследования с Claude Code на производственной гибридной поисковой системе (Django, pgvector, Cohere embeddings), сохранив только 3 изменения при 93% неудач. Процесс выявил неэффективные оптимизации и обнаружил ошибку кэширования Redis.

Месяц с OpenClaw: Успехи в персонализации и проблемы со стабильностью
Исследователь ИИ заменил ChatGPT Plus на OpenClaw на один месяц, добившись персонализированной функциональности чат-бота через файлы USER.md и PERSONAL_MODEL.md, ежедневных агентов проверки и отчетов о расходах, но столкнулся с постоянными сбоями, требующими вмешательства Claude Code.

Разработчик восстановил расширение для Chrome за 7 дней с помощью Claude после того, как миграция на Google MV3 "убила" оригинал.
Разработчик перестроил расширение Chrome, его API, веб-сайт и агента контроля качества за 7 дней с помощью Claude после того, как миграция Google с Manifest V2 на V3 уничтожила оригинальную версию. Расширение находит реальные скидки на Amazon в 21 домене и получило 4000 установок за первую неделю.

Игра о путешествиях во времени Claude превратилась из простого промпта в полноценную развернутую систему.
Пользователь Reddit описывает, как за 40 дней превратил промпт для RPG о путешествиях во времени в Claude в сложную систему, добавив YAML-файлы состояния, более 50 NPC, триггеры событий и в итоге развернув её на Fly с базой данных и собственным MCP-сервером для кроссплатформенного доступа.