OPENCLAW_2026
MEMORY_
TOKEN_
CONTEXT_RUNBOOK.

// Боль: агент отвечает, но нити замедляются, всплывают устаревшие утверждения или апгрейд ощущается как амнезия — обычно одновременно размытые границы MEMORY.md и workspace, шумное извлечение и скрытый префикс контекста, съедающий токены. Вывод: матрица слоёв памяти, пять шагов внедрения, пороги, пригодные для цитирования в отчётах, лестница диагностики раздувания токенов и паритет путей и окружения на удалённом Mac Gateway. Структура: боль | матрица | шаги | пороги | лестница | FAQ | углубление | наблюдаемость | пакет доказательств | финал | полевые заметки. Ссылки: миграция и повторное сопряжение, тишина шлюза и обновление, шлюз 24/7 systemd/launchd, бюджет MCP и токены, онбординг, демон, порты, логи, удалённый deploy, тарифы.

Схема агента автоматизации и потока знаний: контекст, инструменты, долговременная память

1. Разбор боли: память — не «ещё один Markdown»

(1) Дрейф границ: складывание логов, черновиков и устойчивых предпочтений в MEMORY.md приводит к тому, что извлечение поднимает устаревшие гипотезы как факты; смешение продуктовой документации workspace с «памятью персоны» отравляет слой. (2) Шум извлечения: наивный keyword или грубый чанкинг сливает похожую лексику и разные решения — модель «помнит» неверный фрагмент. (3) Раздувание токенов: системный промпт, рубрики каналов, JSON инструментов, схемы MCP и фрагменты памяти делят один бюджет окна; скачки p95 зачастую сидят в скрытых префиксах, а не в видимом пользователю чате. Если каналы и doctor выглядят здоровыми, а латентность растёт, сначала аудит контекста, а не смена модели (лестница в материале о тишине шлюза). (4) Сдвиг путей на удалённом хосте: на удалённом Mac Gateway каталог ~/.openclaw и workspace могут не совпадать с ментальной картой ноутбука — классическая ложная амнезия после правок под другим пользователем (тот же класс, что и миграция).

2. Слои: что где хранить

Слой Содержимое Антипаттерны
Долгоживущие prefs / глоссарий Устойчивые факты, термины организации, границы согласования Повышение разовых выводов до «истины»; отсутствие версии или даты верификации
Документы проектного workspace Версионируемый дизайн, контракты API, ранбуки репозитория Секреты, cookie, webhook-секреты в открытом тексте
Сессия / короткий буфер Цели нити, открытые вопросы, промежуточные результаты инструментов Неограниченный рост без суммаризации или TTL

3. Пять шагов внедрения

  1. Опубликовать контракт MEMORY: что может писаться автоматически, что только после человека; у каждой долговременной записи — область (канал/проект) и дата последней верификации.
  2. Зафиксировать ворота извлечения: сначала фильтр канала/каталога, затем вектор/keyword; запретить дефолтный обход всей библиотеки.
  3. Версионировать скользящие суммари: у резюме — поколение + хэш; после апгрейда сравнить на дублирующую инъекцию.
  4. Сузить поверхность инструментов: отдавать только нужные для задачи tools — урезать стоимость префикса схем и примеров (ранбук MCP).
  5. Выровнять удалённое окружение: в launchd явно задать HOME, PATH, пути к секретам; после рестарта — смоук чтения/записи памяти (гайд по онбордингу).
# Предлагаемые поля memory_record (адаптируйте под свой стек) # { "scope": "channel:slack:xxx", "verified_at": "2026-04-11", # "source": "human|tool|import", "text": "...", "supersedes": "id-or-hash" }

4. Пороги для цитирования

Числа, которые можно вставить в внутреннюю записку (переснимите по своим логам):

  • Когда суммарно ответы инструментов + фрагменты памяти стабильно пересекают порядка 8k токенов (подстройте под окно модели) и растёт p95 латентности, режьте инструменты или стадируйте извлечение прежде чем наращивать строки памяти.
  • Если скользящие суммари вставляют одно и то же заключение три и более раз на семейство ходов, вероятно нет дедупликации или одновременно живут два поколения резюме.
  • Если на «не та память / взрыв контекста / амнезия после обновления» уходит свыше трёх часов в неделю, выносите память и конфиг шлюза в релизные ворота, а не бесконечное ручное редактирование MEMORY.

5. Лестница диагностики раздувания токенов

Шаг Что смотреть Типичная первопричина
1) Профиль префикса Системный промпт, правила каналов, фиксированные дисклеймеры Многостраничные блоки, скопированные между каналами
2) Инструменты и MCP Размер полезной нагрузки на вызов, вложенный JSON Нет пагинации, нет проекции полей, широкие схемы
3) Извлечение памяти Top-K и лимиты байт на фрагмент Инъекция низкоскоринговых чанков «на всякий случай»
4) Сессионные суммари Рост объёма относительно числа ходов Нет усечения, слияния или политики истечения

6. FAQ: self-improve, каналы, удалённый Mac

В: Автоприменение записей self-improve? Предпочтительны человеческие ворота или разделение низкий риск (авто) / высокий риск (ревью); иначе ошибки кристаллизуются в «организационной памяти».

В: Один пул памяти на все каналы? Делите по комплаенсу и шуму; support и инженерия не должны делить одно векторное пространство без метаданных-фильтров.

В: Пути на удалённом Mac? Ориентируйтесь на HOME пользователя процесса шлюза, а не на учётку, с которой зашли по SSH.

В: Амнезия после обновления? Сравните каталог состояния и workspace с переносами plist/контейнеров — см. миграцию и откат/матрицу шлюза.

7. Углубление: от чата к эксплуатации

Корпоративных агентов в 2026 оценивают по аудируемой памяти и предсказуемому контексту. Безопасность спрашивает, какие строки персональны, какие организационны, и можно ли их удалить или экспортировать — без области и retention в контракте вы латаете инциденты удалением файлов.

С инженерной стороны память смыкается с RAG: Markdown с одной стороны, индекс с другой. Частый сбой — двойная запись в рассинхроне: MEMORY обновили, индекс не пересобрали, извлечение тянет старые спаны. Ревью должно требовать единый источник истины или ранбук пересборки.

Удалённые Mac как хосты шлюза 24/7 добавляют диск и бэкап: снимки должны покрывать ~/.openclaw и workspace; после восстановления решите, пересобирать ли индексы памяти — та же логика стабильности, что в туториале по удалённому deploy.

На шлюзе ограничьте максимум строк памяти, байт на строку и деградацию (при таймауте извлечения — откат только к сессионному резюме), чтобы хвост латентности был объясним.

8. Наблюдаемость

Логируйте на запрос: число и токены инъецированной памяти, доля пустых попаданий, p95 размера полезной нагрузки по имени инструмента, число перезаписей суммари. Совместный дрейф четырёх сигналов намекает на дрейф конфигурации; рост латентности при стабильных счётчиках памяти чаще указывает на инструменты/MCP.

Сигнал Как Подозреваемое
Токены инъекции памяти Структурированный лог на запрос Слишком широкий Top-K, длинные спаны, нет дедупа
Hit rate извлечения Часовые «золотые» вопросы Устаревший индекс, неверный фильтр scope
Размер полезной нагрузки tool Перцентили по инструменту Нет пагинации, trace-логи в ответе

9. Пакет доказательств

Помимо скриншотов: версия контракта MEMORY, таблица параметров извлечения, дифф префикса до/после апгрейда, нитки сбоев с ожидаемой памятью. Ревью без негативных кейсов редко переживает первую неделю реального трафика.

10. Финал: ноутбук прощает; прод требует предсказуемости

(1) Ограничения: политики памяти по умолчанию легко шумят; инструменты/MCP раздувают префикс; мультиканальность и удалённые пути дрейфуют.

(2) Плюс удалённого Mac: фиксированный пользователь и plist, единая политика сна/бэкапа, тот же класс поведения macOS, что в остальных гайдах OpenClaw.

(3) MACGPU: арендуемые узлы Apple Silicon и публичная точка входа помощи, если нужен хостинг шлюза без экзотического VPS-стека — CTA ниже ведёт к тарифам и помощи без логина.

11. Полевые заметки: подагенты и расписания

При подагентах или cron-подобных триггерах зафиксируйте владение записью parent vs branch session, чтобы не получить гонки на MEMORY; тяжёлое извлечение выносите на воркеры, а оркестрацию на шлюзе держите с узкой поверхностью инструментов. Сочетайте с материалами по вебхукам и безнадзорным сценариям при проектировании триггеров.