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

✍️ OpenClawRadar📅 Опубликовано: 10 марта 2026 г.🔗 Source
Гибридный RAG для локальной памяти агента с использованием OpenClaw, Ollama и nomic-embed-text
Ad

Проблема: Поиск, а не хранение

У разработчика были месяцы ежедневных логов памяти, сохранённых в файлах 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" напрямую
Ad

Требуемое изменение поведения

Включения инструмента было недостаточно. Без явных инструкций использовать 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

Ad

👀 Смотрите также

Автоисследование с Claude Code в рабочей кодовой базе: 60 экспериментов, 3 изменения сохранены
Кейсы

Автоисследование с Claude Code в рабочей кодовой базе: 60 экспериментов, 3 изменения сохранены

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

OpenClawRadar
Месяц с OpenClaw: Успехи в персонализации и проблемы со стабильностью
Кейсы

Месяц с OpenClaw: Успехи в персонализации и проблемы со стабильностью

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

OpenClawRadar
Разработчик восстановил расширение для Chrome за 7 дней с помощью Claude после того, как миграция на Google MV3 "убила" оригинал.
Кейсы

Разработчик восстановил расширение для Chrome за 7 дней с помощью Claude после того, как миграция на Google MV3 "убила" оригинал.

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

OpenClawRadar
Игра о путешествиях во времени Claude превратилась из простого промпта в полноценную развернутую систему.
Кейсы

Игра о путешествиях во времени Claude превратилась из простого промпта в полноценную развернутую систему.

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

OpenClawRadar