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. Пять шагов внедрения
- Опубликовать контракт MEMORY: что может писаться автоматически, что только после человека; у каждой долговременной записи — область (канал/проект) и дата последней верификации.
- Зафиксировать ворота извлечения: сначала фильтр канала/каталога, затем вектор/keyword; запретить дефолтный обход всей библиотеки.
- Версионировать скользящие суммари: у резюме — поколение + хэш; после апгрейда сравнить на дублирующую инъекцию.
- Сузить поверхность инструментов: отдавать только нужные для задачи tools — урезать стоимость префикса схем и примеров (ранбук MCP).
- Выровнять удалённое окружение: в launchd явно задать
HOME,PATH, пути к секретам; после рестарта — смоук чтения/записи памяти (гайд по онбордингу).
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; тяжёлое извлечение выносите на воркеры, а оркестрацию на шлюзе держите с узкой поверхностью инструментов. Сочетайте с материалами по вебхукам и безнадзорным сценариям при проектировании триггеров.