Гибридный 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

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

Пользователь Reddit делится опытом, как ИИ-агент за ночь создал проект на Next.js.
Кейсы

Пользователь Reddit делится опытом, как ИИ-агент за ночь создал проект на Next.js.

Разработчик на сабреддите r/openclaw поделился опытом, дав своему ИИ-агенту открытую задачу — создать проект с нуля за ночь, документируя, что агент сделал хорошо, а где потребовалось вмешательство человека. Агент успешно создал каркас проекта на Next.js, написал контент, управлял операциями Git, развернул проект на Vercel и итеративно улучшал дизайн на основе обратной связи.

OpenClawRadar
Использование Claude для рутирования пылесоса Trifo Lucy и создания локального сетевого сервера
Кейсы

Использование Claude для рутирования пылесоса Trifo Lucy и создания локального сетевого сервера

Разработчик использовал Claude для получения root-доступа к роботу-пылесосу Trifo Lucy после отключения серверов производителя, включая пайку контактных пинов и точную синхронизацию при загрузке. Затем Claude помог создать сервер для базового управления неукоренёнными устройствами в локальных сетях.

OpenClawRadar
Водитель грузовика создает iOS-приложение с помощью кода Claude и делится практическими уроками
Кейсы

Водитель грузовика создает iOS-приложение с помощью кода Claude и делится практическими уроками

Грузовой водитель в Японии с минимальным опытом программирования использовал Claude Code для создания iOS-приложения под новые правила ведения записей, опубликовав его в App Store за шесть месяцев. Он делится конкретными уроками по инженерии промптов, неожиданным расходам на Expo и Supabase, а также управлению выгоранием.

OpenClawRadar
Превратите ваш брифинг OpenClaw в подкаст-канал для Apple Podcasts
Кейсы

Превратите ваш брифинг OpenClaw в подкаст-канал для Apple Podcasts

Пользователь Reddit делится простым рабочим процессом преобразования результатов утреннего брифинга OpenClaw в подкаст-ленту: преобразование текста в речь, хостинг MP3, добавление в RSS XML и подписка в Apple Podcasts.

OpenClawRadar