OpenClaw Memory: как настроить память AI-агента — MEMORY.md, pgvector и daily notes

OpenClaw Memory: как настроить память AI-агента — MEMORY.md, pgvector и daily notes

OpenClaw Memory — это система хранения контекста AI-агента, построенная на обычных Markdown-файлах (MEMORY.md + daily notes), которую можно расширить векторной базой pgvector для семантического поиска. В отличие от чат-ботов, теряющих память после каждой сессии, агент с правильно настроенной памятью помнит ваши решения, проекты и предпочтения неделями и месяцами.

🧠 Как устроена память в OpenClaw?

OpenClaw использует принцип file-first memory: модель помнит только то, что записано на диск. Никакого скрытого состояния — вся память прозрачна и доступна для редактирования человеком. Это ключевое отличие от закрытых платформ, где память — чёрный ящик.

Система памяти состоит из двух уровней:

Уровень Файл Назначение Загрузка
Долгосрочная MEMORY.md Факты, решения, предпочтения Каждая сессия
Ежедневная memory/YYYY-MM-DD.md Лог событий за день Сегодня + вчера

OpenClaw загружает MEMORY.md при каждом запуске сессии, а daily notes — за текущий и предыдущий день. Это даёт агенту контекст последних событий без перегрузки токенами за прошлые недели.

📂 Как правильно организовать MEMORY.md?

MEMORY.md — это «мозг» вашего агента. Вот структура, которая работает на практике:

# MEMORY.md

## Обо мне
- Имя: Алексей
- Часовой пояс: UTC+5
- Предпочитаю краткие ответы

## Проекты
### Сайт aigenthub.ru
- Стек: Ghost + Caddy + Docker
- Публикации: 2 статьи в день
- SEO-фокус: AI-агенты, OpenClaw

## Решения
- 2026-03-15: Перешли на pgvector для семантического поиска
- 2026-03-20: Отказались от Notion в пользу Markdown

## Важное
- Не отправлять письма без подтверждения
- Git push в конце каждой сессии

Правила ведения MEMORY.md:

  • 📌 Храните только актуальную информацию — устаревшее удаляйте
  • 📌 Решения записывайте с датой и контекстом
  • 📌 Размер файла — до 3-5 КБ (иначе съедает бюджет токенов)
  • 📌 Структурируйте по разделам: о пользователе, проекты, решения, правила

📝 Как работают daily notes и зачем они нужны?

Daily notes — это сырой лог событий за день. Агент создаёт файл memory/2026-03-31.md и записывает туда всё важное: выполненные задачи, ошибки, промежуточные результаты.

Пример daily note:

# 2026-03-31

## Утро
- Опубликовал статью про парсинг данных на aigenthub.ru
- Обновил HEARTBEAT.md — добавил проверку метрик

## День
- Настроил cron для автопубликации в Telegram
- Ошибка: Ghost API вернул 422 — забыли updated_at в PUT-запросе

## Вечер
- Git push: 3 коммита за день
- Бэкап workspace: 18 MB

Ключевой момент: OpenClaw автоматически загружает только 2 последних daily notes. Это значит, что информация старше двух дней доступна только через поиск — и здесь на помощь приходит векторная память.

🔍 Как подключить pgvector для семантического поиска?

Когда у агента накапливается больше 20-30 daily notes, простой поиск по файлам становится медленным и неточным. Решение — pgvector, расширение PostgreSQL для векторного поиска.

Шаг 1. Установите PostgreSQL с pgvector

# Ubuntu/Debian
sudo apt install postgresql postgresql-contrib
sudo apt install postgresql-16-pgvector

# Или через Docker
docker run -d --name pgvector \
  -e POSTGRES_PASSWORD=mypassword \
  -p 5432:5432 \
  pgvector/pgvector:pg16

Шаг 2. Создайте базу для памяти агента

CREATE DATABASE agent_memory;
\c agent_memory
CREATE EXTENSION vector;

CREATE TABLE memories (
  id SERIAL PRIMARY KEY,
  content TEXT NOT NULL,
  category VARCHAR(50),
  tags TEXT[],
  embedding vector(768),
  created_at TIMESTAMP DEFAULT NOW()
);

CREATE INDEX ON memories
  USING ivfflat (embedding vector_cosine_ops)
  WITH (lists = 100);

Шаг 3. Настройте embedding-модель

Для генерации эмбеддингов подойдёт бесплатная модель через Ollama:

# Установка Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# Загрузка embedding-модели
ollama pull nomic-embed-text

# Проверка
curl http://localhost:11434/api/embeddings \
  -d '{"model":"nomic-embed-text","prompt":"тест"}'

Шаг 4. Скрипт для сохранения и поиска

# Сохранение новой записи
python3 scripts/memory_vector.py save \
  "Решили перейти на Ghost для блога" \
  --category decision --tags "ghost,blog"

# Семантический поиск
python3 scripts/memory_vector.py search \
  "какой блог-движок выбрали?" --limit 5

Результат: агент находит релевантные записи даже по смыслу, а не только по точному совпадению слов.

⚡ Какие плагины памяти есть в OpenClaw?

Помимо встроенной файловой памяти, OpenClaw поддерживает плагины:

Плагин Тип памяти Точность поиска Сложность настройки
Встроенная (MEMORY.md) Файловая ~52% Нулевая
memory-pgvector Векторная БД ~75% Средняя
mr-memory Гибридная ~80% Средняя
Cognee (граф знаний) Граф + векторы ~85% Высокая

Установка плагина memory-pgvector:

# Миграция встроенной памяти в PostgreSQL
export DATABASE_URL="postgresql://user:pass@localhost:5432/openclaw"
openclaw plugins install memory-pgvector
npm run migrate -- --sqlite ~/.openclaw/memory/main.sqlite --pg "$DATABASE_URL"

🛠 Типичные проблемы с памятью и как их решить

Вот пять самых частых ошибок при работе с памятью OpenClaw:

  • 🔴 MEMORY.md разросся до 10+ КБ → агент тратит половину контекста на загрузку памяти. Решение: вынесите детали в отдельные файлы (memory/projects/), оставьте в MEMORY.md только ключевые факты
  • 🔴 Агент «забывает» события 3-дневной давности → daily notes за позавчера уже не загружаются. Решение: подключите векторный поиск или добавьте важное в MEMORY.md
  • 🔴 Дубликаты записей в памяти → агент сохраняет одно и то же несколько раз. Решение: проверяйте дубликаты перед записью, используйте категории и теги
  • 🔴 Секретные данные попали в MEMORY.md → пароли, токены оказались в памяти агента. Решение: храните секреты в .env или менеджере паролей, не в markdown-файлах
  • 🔴 Медленный поиск по 100+ файлам → grep по сотням daily notes занимает секунды. Решение: pgvector + индексация, поиск по эмбеддингам за миллисекунды

✅ Чеклист настройки памяти OpenClaw

  1. ☑️ Создайте MEMORY.md с базовой информацией о себе и проектах
  2. ☑️ Настройте автосоздание daily notes (memory/YYYY-MM-DD.md)
  3. ☑️ Ограничьте MEMORY.md до 3-5 КБ — только ключевые факты
  4. ☑️ Установите PostgreSQL + pgvector для долгосрочной индексации
  5. ☑️ Настройте cron для автосинхронизации файлов → векторную БД
  6. ☑️ Добавьте правила в AGENTS.md: что сохранять, а что — нет
  7. ☑️ Протестируйте семантический поиск: найдите решение недельной давности

🎯 Подведём итог

Память в OpenClaw — это не магия, а продуманная система файлов и индексов. Начните с простого: MEMORY.md + daily notes покрывают 80% задач. Когда записей станет много — подключите pgvector и получите семантический поиск по всей истории агента.

Главное правило: если не записано — не существует. Агент помнит ровно столько, сколько записано на диск. Настройте память один раз — и ваш AI-агент перестанет «просыпаться с амнезией» каждую сессию.

👉 Подписывайтесь на Telegram-канал — разбираем AI-агентов, OpenClaw и автоматизацию на практике.

Частые вопросы

Что такое MEMORY.md в OpenClaw?

MEMORY.md — это файл долгосрочной памяти AI-агента. Он загружается при каждой сессии и содержит ключевые факты, решения и предпочтения пользователя. Это аналог «постоянной памяти», которая не теряется между перезапусками.

Сколько информации может хранить память OpenClaw?

Файловая память ограничена только диском. Но в контекст модели загружается MEMORY.md (рекомендуется до 3-5 КБ) и 2 последних daily notes. Для масштабирования используют pgvector — векторная база хранит тысячи записей с быстрым семантическим поиском.

Как агент ищет информацию в старых записях?

Без pgvector — grep по markdown-файлам (медленно и неточно). С pgvector — семантический поиск по эмбеддингам: агент находит релевантные записи по смыслу, даже если слова отличаются от запроса.

Можно ли использовать OpenClaw Memory без PostgreSQL?

Да. Встроенная файловая система (MEMORY.md + daily notes) работает из коробки без внешних баз данных. PostgreSQL + pgvector — это расширение для тех, кому нужен семантический поиск по большому объёму записей.

Как защитить память агента от утечки данных?

Не храните пароли и токены в MEMORY.md — используйте .env файлы. В групповых чатах OpenClaw автоматически не загружает MEMORY.md, чтобы личные данные не попали к третьим лицам. Дополнительно: ограничьте права доступа к папке memory/.

Как часто нужно чистить память агента?

Рекомендуется ревизия MEMORY.md раз в 1-2 недели: удаляйте устаревшие факты, обновляйте проектные данные. Daily notes можно архивировать помесячно. При использовании pgvector — настройте автоматическую синхронизацию через cron.

Какую модель embedding использовать для векторной памяти?

Для бесплатного локального решения — nomic-embed-text через Ollama (768 измерений). Для облачного варианта — text-embedding-3-small от OpenAI. Оба варианта дают хорошую точность для русскоязычных текстов.