Гибридный 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 с Telegram для помощи пожилым людям в покупках
Кейсы

Настройка Claude Code с Telegram для помощи пожилым людям в покупках

Пользователь Reddit описывает настройку Claude Code с Telegram для помощи родителям в навигации по сайтам покупок, используя облачную песочницу с Playwright MCP и пользовательскими навыками для шопинга.

OpenClawRadar
Использование Claude в качестве наставника по обучению с контекстом документации
Кейсы

Использование Claude в качестве наставника по обучению с контекстом документации

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

OpenClawRadar
OpenClaw перерос чат — Панель управления — это недостающая опция по умолчанию
Кейсы

OpenClaw перерос чат — Панель управления — это недостающая опция по умолчанию

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

OpenClawRadar
Opus выполняет очистку фронтенда, делегируя задачи подагентам из плейбука
Кейсы

Opus выполняет очистку фронтенда, делегируя задачи подагентам из плейбука

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

OpenClawRadar