Долговременная память Велеса: технический справочник
Велес использует многослойную систему памяти, которая позволяет Велесу сохранять важные факты, структурировать историю диалогов и восстанавливать точные стенограммы прошлых бесед без перегрузки рабочего контекста.Архитектура памяти
Память Велеса разделена на шесть функциональных слоёв:1. Профиль пользователя (USER.md)
Это устойчивые сведения о пользователе: язык, часовой пояс, предпочтения, рабочая роль и другие данные, полезные во всех диалогах. Файл общий для всех личностей; его активная копия добавляется в системный контекст при каждом запросе после проектных инструкций, но перед долгосрочной памятью. Размер активной копии — не более contextWindowTokens / 4 символов и не более 16 000 символов. Если файл длиннее, Велес добавляет отметку о сокращении; сам USER.md не меняется. Библиотека памяти Nerve не обрезает содержимое: до общего предела текстового файла около 1 МиБ она показывает его целиком, а превышение размера отмечает отдельным состоянием. Ошибка чтения или декодирования исключает профиль только из текущего системного контекста и записывается в журнал. Профиль не отменяет системные правила, SOUL.md, AGENTS.md и TOOLS.md.
2. Курируемая память (memory/MEMORY.md)
Это «золотой фонд» знаний о пользователе, проектах и принятых решениях. Данные здесь структурированы и подаются в системный контекст при каждом запросе.
- Инструмент:
save_memory(вызывается Велесом для обновления фактов). - Путь:
memory/MEMORY.md.
3. Резюме текущих диалогов (memory/conversations/*.md)
Для обычных диалогов Велес поддерживает отдельные краткие резюме. Путь к такому файлу хранится вместе с записью диалога, а содержимое обновляется по мере развития беседы. Эти файлы предназначены для просмотра и поиска, но ручные исправления могут быть заменены следующим автоматическим обновлением.
4. Дневные записи (memory/YYYY-MM-DD.md)
Используются для «экстренного сброса» памяти при переполнении контекстного окна. Если диалог становится слишком длинным, Велес выписывает в этот файл ключевые тезисы перед тем, как старые сообщения будут удалены из активной памяти.
- Срабатывание: автоматическое, при достижении порога токенов.
Примечание. Когда включено сжатие контекста (по умолчанию), активное окно беседы удерживает структурированное резюме, а свёрнутые ходы дополнительно выгружаются в долговременную память. Прежняя посегментная выгрузка в дневные логи остаётся запасным механизмом на случай, когда сжатие выключено.
5. Резюме завершённых сессий (memory/YYYY-MM-DD-HHMM-slug.md)
Каждый раз, когда вы начинаете новую сессию (команда /new), Велес создает краткий, структурированный отчет о завершенном разговоре.
- ID сессии: записывается в файл для связи с полной стенограммой.
- Поиск: эти файлы индексируются для семантического поиска инструментом
memory_search.
6. Архив стенограмм (sessions/archive/*.jsonl)
Это «черный ящик», где хранятся дословные записи всех прошлых разговоров в формате JSONL.
- Индекс: файл
sessions/_sessions.jsonlсвязывает темы (slug), ID сессий и пути к файлам. - Инструменты:
session_list(поиск сессии) иsession_history(чтение стенограммы).
Как Велес восстанавливает прошлый контекст
Существует три режима восстановления информации:1. Мгновенный (из USER.md и memory/MEMORY.md)
Велес сразу получает безопасно ограниченную активную копию профиля пользователя и курируемую память. Этот режим применяется для постоянных предпочтений, важных фактов, технического набора и правил работы. Полный USER.md остаётся доступен в библиотеке памяти Nerve даже тогда, когда в запрос попала только его начальная часть.
2. По смыслу (memory_search)
Агент ищет информацию во всех вложенных файлах памяти (memory/**/*.md). Это полезно для вопросов типа: «О чем мы договорились на прошлой неделе касательно интеграции с Redis?». Поиск работает по смыслу, а не только по ключевым словам.
Ключевой поиск устойчив к кавычкам внутри запроса. Если пользователь или модель ищет фразу с кавычками, Велес экранирует её для внутреннего индекса и не превращает это в пустой результат.
3. Точное восстановление истории
Если Велесу нужен дословный текст сообщения или точный вывод команды из прошлого, он использует связку:session_list— находит нужныйsession_idв списке завершенных бесед.session_history— загружает полную стенограмму по этому ID.
Жизненный цикл сессии
- Активная фаза: сообщения записываются в текущую сессию, а безопасно ограниченная копия
USER.mdи содержимоеmemory/MEMORY.mdдобавляются к каждому запросу. - Резюме диалога: для обычного диалога поддерживается файл в
memory/conversations/. - Сброс: при нехватке места важные детали выписываются в дневную запись.
- Консолидация: Велес периодически обновляет
memory/MEMORY.md, добавляя туда новые устойчивые знания. - Завершение (
/new):- Рабочее окно очищается.
- Создается резюме сессии (
memory/YYYY-MM-DD-...md). - Стенограмма сохраняется в архив (
sessions/archive/...jsonl). - Запись добавляется в индекс
_sessions.jsonl.
Как помочь Велес помнить лучше
- Будьте явными: фразы «запомни, что я предпочитаю…» или «это наше новое правило архитектуры» значительно повышают вероятность попадания факта в долгосрочную память.
- Актуализируйте: если правило изменилось, скажите об этом: «Мы больше не используем библиотеку X, теперь работаем через Y».
- Используйте
/new: завершение логических блоков работы командой/newпомогает Велесу структурировать свои отчеты и делает поиск по архиву более точным.
