Sessions and memory

Огляд пам’яті

OpenClaw запам’ятовує інформацію, записуючи звичайні файли Markdown у робочому просторі вашого агента (типово ~/.openclaw/workspace). Модель пам’ятає лише те, що збережено на диску; прихованого стану немає.

Як це працює

Ваш агент має три файли, пов’язані з пам’яттю:

  • MEMORY.md — довготривала пам’ять. Стійкі факти, уподобання та рішення. Завантажується на початку сеансу.
  • memory/YYYY-MM-DD.md (або memory/YYYY-MM-DD-<slug>.md) — щоденні нотатки. Поточний контекст і спостереження. Датовані нотатки за сьогодні та вчора автоматично завантажуються після звичайної команди /new або /reset; варіанти зі слагом, наприклад створені вбудованим хуком пам’яті сеансу, завантажуються разом із файлом, назва якого містить лише дату.
  • DREAMS.md (необов’язково) — щоденник Dreaming і підсумки проходів Dreaming для перевірки людиною, зокрема обґрунтовані записи ретроспективного заповнення.

Що куди записується

MEMORY.md — це компактний, упорядкований рівень: стійкі факти, уподобання, постійні рішення та короткі підсумки, які мають бути доступні на початку сеансу. Це не необроблена стенограма, щоденний журнал чи повний архів.

Файли memory/YYYY-MM-DD.md — це робочий рівень: докладні щоденні нотатки, спостереження, підсумки сеансів і необроблений контекст, який може стати в пригоді пізніше. Вони індексуються для memory_search і memory_get, але не додаються до початкового запиту на кожному кроці.

З часом агент виокремлює корисний матеріал із щоденних нотаток у MEMORY.md і видаляє застарілі довготривалі записи. Згенеровані інструкції робочого простору та процес Heartbeat виконують це періодично; вам не потрібно вручну редагувати MEMORY.md заради кожної деталі.

Якщо розмір MEMORY.md перевищує бюджет початкових файлів, OpenClaw залишає файл на диску без змін, але обрізає копію, додану до контексту. Сприймайте це як сигнал перенести докладний матеріал у memory/*.md, залишити в MEMORY.md лише стійкий підсумок або збільшити початкові ліміти, якщо ви готові витрачати більший бюджет запиту. Використовуйте /context list, /context detail або openclaw doctor, щоб переглянути фактичні й додані розміри та стан обрізання.

Пам’ять, чутлива до дій

Більшість записів пам’яті — це звичайні нотатки Markdown. Деякі з них впливають на те, що агент має робити пізніше; у таких випадках фіксуйте не лише сам факт, а й умови, за яких на підставі нотатки безпечно діяти.

Фіксуйте цю межу дії, коли нотатка стосується:

  • вимог щодо схвалення або дозволу;
  • тимчасових обмежень;
  • передавання роботи іншому сеансу, обговоренню або особі;
  • умов завершення дії;
  • моменту, коли дія стає безпечною;
  • повноважень джерела або власника;
  • інструкцій уникати спокусливої дії.

Корисний запис пам’яті, чутливий до дій, чітко визначає:

  • що змінює майбутню поведінку;
  • коли або за якої умови це застосовується;
  • коли дія запису завершується або що дозволяє почати діяти;
  • чого агенту слід уникати;
  • хто є джерелом або власником, якщо це впливає на довіру чи повноваження.

Пам’ять може зберігати контекст схвалення, але не забезпечує дотримання політик. Для жорсткого операційного контролю використовуйте налаштування схвалення OpenClaw, ізоляцію та заплановані завдання.

Приклад:

md
Міграція API проєктується в іншому сеансі. У майбутніх кроках не слідредагувати реалізацію API з цього обговорення; використовуйте наведені тутвисновки лише як вхідні дані для проєктування, доки не буде затверджено план міграції.

Інший приклад:

md
Звіт із ненадійного джерела потребує перевірки перед підвищенням статусу. У майбутніхкроках його слід розглядати лише як доказ; не зберігайте його в довготривалій пам’яті,доки надійний рецензент не підтвердить вміст.

Ця схема не є обов’язковою для кожного запису пам’яті; прості факти можуть залишатися стислими. Використовуйте межі, чутливі до дій, коли втрата контексту часу, повноважень, завершення дії або безпечності дії може призвести до неправильної поведінки агента в майбутньому.

Використовуйте зобов’язання для виведених короткочасних подальших дій. Використовуйте заплановані завдання для точних нагадувань, перевірок за розкладом і повторюваної роботи. Пам’ять усе одно може узагальнювати стійкий контекст навколо будь-якого з цих шляхів.

Виведені зобов’язання

Деякі майбутні подальші дії не є стійкими фактами. Якщо ви згадуєте співбесіду завтра, корисним записом пам’яті може бути «поцікавитися результатом після співбесіди», а не «зберігати це назавжди в MEMORY.md».

Зобов’язання — це необов’язкові короткочасні записи пам’яті про подальші дії для таких випадків. OpenClaw виводить їх під час прихованого фонового проходу, обмежує тим самим агентом і каналом та надсилає своєчасні запити через Heartbeat. Явні нагадування й надалі використовують заплановані завдання.

Інструменти пам’яті

Агент має два інструменти для роботи з пам’яттю:

  • memory_search — знаходить відповідні нотатки за допомогою семантичного пошуку, навіть якщо формулювання відрізняється від оригінального.
  • memory_get — читає конкретний файл пам’яті або діапазон рядків.

Обидва інструменти надає активний Plugin пам’яті (типово: memory-core).

Пошук у пам’яті

Коли налаштовано постачальника векторних представлень, memory_search використовує гібридний пошук: подібність векторів (семантичне значення) у поєднанні з пошуком за ключовими словами (точні терміни, як-от ідентифікатори та символи коду). Це працює одразу після надання ключа API будь-якого підтримуваного постачальника.

Докладніше про роботу пошуку, параметри налаштування та налаштування постачальника див. у розділі Пошук у пам’яті.

Серверні модулі пам’яті

Рівень вікі знань

Якщо ви хочете, щоб довготривала пам’ять працювала радше як підтримувана база знань, а не як необроблені нотатки, використовуйте вбудований Plugin memory-wiki. Він компілює стійкі знання у вікі-сховище з детермінованою структурою сторінок, структурованими твердженнями й доказами, відстеженням суперечностей і актуальності, згенерованими інформаційними панелями, скомпільованими оглядами та нативними інструментами вікі (wiki_status, wiki_search, wiki_get, wiki_apply, wiki_lint).

memory-wiki не замінює активний Plugin пам’яті; активний Plugin пам’яті й надалі відповідає за пригадування, підвищення статусу та Dreaming. memory-wiki додає поруч рівень знань із докладним походженням даних.

Автоматичне скидання пам’яті

Перш ніж Compaction узагальнить вашу розмову, OpenClaw виконує прихований крок, який нагадує агенту зберегти важливий контекст у файлах пам’яті. Цю функцію типово ввімкнено; установіть agents.defaults.compaction.memoryFlush.enabled: false, щоб вимкнути її.

Щоб цей службовий крок виконувався на локальній моделі, задайте точне перевизначення, яке застосовується лише до кроку скидання пам’яті (він не успадковує ланцюжок резервних моделей активного сеансу):

json
{  "agents": {    "defaults": {      "compaction": {        "memoryFlush": {          "model": "ollama/qwen3:8b"        }      }    }  }}

Dreaming

Dreaming — це необов’язковий фоновий прохід консолідації пам’яті. Він збирає короткочасні сигнали пригадування, оцінює кандидатів і переносить до довготривалої пам’яті (MEMORY.md) лише ті елементи, які відповідають вимогам:

  • Необов’язковий: типово вимкнено.
  • Запланований: коли ввімкнено, memory-core автоматично керує одним повторюваним завданням Cron для повного проходу Dreaming.
  • Із пороговими значеннями: підвищення статусу мають пройти пороги оцінки, частоти пригадування та різноманітності запитів.
  • Доступний для перевірки: підсумки етапів і записи щоденника записуються в DREAMS.md для перевірки людиною.

Докладніше про поведінку етапів, сигнали оцінювання та щоденник Dreaming див. у розділі Dreaming.

Обґрунтоване ретроспективне заповнення та оперативне підвищення статусу

Система Dreaming має два пов’язані напрями перевірки:

  • Оперативний Dreaming працює з короткочасним сховищем Dreaming у memory/.dreams/; звичайний глибокий етап використовує його, щоб вирішити, що переносити до MEMORY.md.
  • Обґрунтоване ретроспективне заповнення читає історичні нотатки memory/YYYY-MM-DD.md як окремі денні файли та записує структурований результат перевірки в DREAMS.md.

Обґрунтоване ретроспективне заповнення корисне для повторного опрацювання старіших нотаток і перевірки того, що система вважає стійким, без ручного редагування MEMORY.md.

bash
openclaw memory rem-backfill --path ./memory --stage-short-term

Прапорець --stage-short-term додає обґрунтованих кандидатів у довготривалу пам’ять до того самого короткочасного сховища Dreaming, яке вже використовує звичайний глибокий етап; він не підвищує їхній статус безпосередньо. Отже:

  • DREAMS.md залишається поверхнею для перевірки людиною.
  • Короткочасне сховище залишається поверхнею ранжування для машини.
  • Запис у MEMORY.md і надалі виконується лише під час глибокого підвищення статусу.

Щоб скасувати повторне опрацювання, не змінюючи звичайні записи щоденника чи нормальний стан пригадування:

bash
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-term

CLI

bash
openclaw memory status          # Перевірити стан індексу та постачальникаopenclaw memory search "query"  # Шукати з командного рядкаopenclaw memory index --force   # Перебудувати індекс

Додаткові матеріали

Was this useful?
On this page

On this page