Гибридный 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 с Telegram для помощи пожилым людям в покупках
Пользователь Reddit описывает настройку Claude Code с Telegram для помощи родителям в навигации по сайтам покупок, используя облачную песочницу с Playwright MCP и пользовательскими навыками для шопинга.

Использование Claude в качестве наставника по обучению с контекстом документации
Разработчик делится методом использования Claude в качестве инструмента обучения, загружая документацию по инструментам в его контекст и используя специальный промпт для создания наставника, основанного на задачах. Этот подход позволяет отказаться от традиционных курсов и руководств в пользу практического обучения с немедленной обратной связью.

OpenClaw перерос чат — Панель управления — это недостающая опция по умолчанию
Пользователь Reddit описывает, как запуск OpenClaw через Telegram перестает справляться с ростом числа рабочих процессов, и почему веб-панель (например, созданная им самостоятельно) должна быть стандартным подключаемым интерфейсом для агентских инструментов.

Opus выполняет очистку фронтенда, делегируя задачи подагентам из плейбука
Пользователь оптимизировал одну страницу, задокументировал исправления в ADR-плейбуке, затем поручил Opus распределить оставшиеся 9 страниц между 3 субагентами, которые изменили 41 файл, добившись почти идеальных результатов Lighthouse.