Ассистент, которым вы пользуетесь второй год, знает о вас больше, чем любой рабочий инструмент. Вопрос, который стоит задать до того, как это станет важно: что произойдёт с этим знанием, если вы перестанете пользоваться именно этим ассистентом?
Если ответ «ничего, я всё выгружу» — проверьте. Если ответ «не знаю» — вы арендуете своё прошлое, и условия аренды может менять не вы.
#Зачем и когда это нужно
Три ситуации, в которых экспорт перестаёт быть теорией.
Смена инструмента. Продукт закрылся, изменил условия или просто перестал устраивать.
Переезд. Новый компьютер, новый диск, новый сервер. Здесь важна не только память, но и весь архив — процедура для локальной установки разобрана в гайде про перенос инстанса на другой диск.
Страховка. Резервная копия на случай отказа диска или собственной ошибки. Для локальной базы это отдельная тема — см. материал про резервное копирование и восстановление SQLite.
Первая ситуация самая тяжёлая, потому что в ней нужен не файл, а переносимый формат.
#Что понадобится
- Доступ к выгрузке данных в вашем ассистенте.
- Понимание, что именно вы хотите сохранить: переписку, отобранные факты, связи, архив захвата — это разные вещи разного объёма.
- Место под выгрузку. Текстовая часть измеряется мегабайтами; архив скриншотов — десятками гигабайт.
#Что бывает в выгрузке
| Что | Переносимо | Замечание |
|---|---|---|
| Переписка | да | самый распространённый формат выгрузки |
| Отобранные факты о вас | зависит от продукта | ключевая часть, чаще всего отсутствует отдельно |
| Связи графа | редко | обычно пересчитываются заново |
| Векторный индекс | не нужно | пересчитывается из текста, переносить бессмысленно |
| Сводки диалогов | иногда | восстанавливаются из переписки |
| Настройки и характер | иногда | часто заменяются вручную быстрее |
| Архив захвата экрана | зависит | десятки гигабайт, обычно не переносят |
Вторая строка — та, на которой строится вся аргументация. Переписка без памяти — это архив, а не память. Чтобы восстановить из переписки список фактов о себе, вам придётся заново прогнать её через извлечение, а это работа и это другой набор ошибок.
Четвёртая строка — приятная: векторы переносить не нужно и не следует. Они привязаны к конкретной модели-эмбеддеру, и на новом месте всё равно считаются заново. Их отсутствие в выгрузке — не пробел, а правильное решение.
#Как это устроено в Persona
Два разных механизма для двух разных задач, и их стоит различать.
Выгрузка своих данных — /settings/my-data. Доступна каждому пользователю, отдаёт JSON или тот же JSON в zip. Внутри: учётная запись, личные настройки, согласия, все чаты со всеми сообщениями, личная память с полями версионирования, рефлексии, навыки, сущности и рёбра графа, социальный слой. Каждый запрос отфильтрован по идентификатору пользователя, а значения, похожие на секреты, заменены на пометку о том, что ключ есть, без самого ключа.
Важная деталь: в выгрузку памяти попадают и отменённые записи вместе с отметками valid_until и ссылкой на заменившую запись. То есть выгружается не только «что верно сейчас», но и «что считалось верным раньше».
Полный снимок — /api/export/full.zip. Копия базы плюс миниатюры, аудио и загрузки агента. Это инструмент переезда, а не выгрузки личных данных: снимок инстанса содержит всё, включая чужие данные на многопользовательской установке, поэтому доступ к нему ограничен.
Отдельно: владельческая страница приватности умеет отдать личную память в виде markdown-файла — читаемый список, удобный для просмотра, но менее полный, чем JSON.
Три ограничения, которые стоит назвать прямо:
- Векторный индекс в выгрузку не входит. Как и должно быть: он пересчитывается.
- Снимок всей базы — не персональная выгрузка. На инстансе с несколькими пользователями это дамп чужих данных тоже, поэтому он владельческий.
- Архив захвата экрана — только у владельца инстанса. Захват, таймлайн и всё производное от них одно-тенантны; у остальных участников этих данных нет вовсе.
#Чек-лист проверки полноты экспорта
Проверять надо не по описанию, а по файлу. Восемь пунктов, каждый занимает минуту.
- Скачайте выгрузку прямо сейчас, не дожидаясь необходимости. Половина проблем обнаруживается на этом шаге.
- Откройте файл и найдите раздел с фактами о вас. Не переписку — именно список фактов. Если его нет, память не выгружается, и это главный ответ.
- Сверьте число записей с тем, что показывает интерфейс памяти. Расхождение означает, что часть не попала.
- Проверьте наличие отменённых записей. Если в выгрузке только актуальное, история версий теряется при переносе.
- Найдите даты. Факт без даты создания резко теряет ценность: непонятно, актуален ли он.
- Проверьте, читается ли формат без исходного продукта. JSON и markdown читаются, проприетарный дамп — нет.
- Убедитесь, что секреты не выгружены в открытом виде. Ключи провайдеров в выгрузке быть не должны — только отметка их наличия.
- Оцените объём. Если выгрузка весит гигабайты, в ней медиа, а не память; текстовая часть должна быть мегабайтами.
Пункт 4 отличает серьёзную выгрузку от формальной: история изменений факта — то, что нельзя восстановить постфактум ниоткуда. Если в файле только актуальные записи, вы переносите срез, а не память.
#Что делать с выгрузкой на новом месте
Честная часть: готового импорта между разными ассистентами не существует, и обещать его нельзя. Форматы разные, модели хранения разные, у одного факты плоские, у другого — граф.
Реалистичный порядок переноса:
- Перенесите переписку как архив. Она нужна как источник и как история, но не должна сразу становиться памятью.
- Перенесите список фактов вручную или скриптом. Их обычно десятки, а не тысячи; ручной перенос занимает вечер и заодно работает как аудит.
- Не переносите то, что устарело. Переезд — лучший момент избавиться от фактов о закрытых проектах и бывших обстоятельствах.
- Не переносите производное. Векторы, сводки, связи графа пересчитаются на новом месте из перенесённого текста.
- Проверьте результат вопросами. Задайте новому ассистенту пять вопросов, ответы на которые старый знал. Это единственная содержательная проверка.
Пункт 2 звучит как поражение — «вручную», — но именно он показывает реальный масштаб: настоящей памяти о человеке обычно немного. В Persona, например, автоматическое пополнение вообще ограничено бюджетом активных записей, и это осознанное решение против превращения памяти в свалку. Устройство уровней памяти, объясняющее, почему выгружать надо в основном верхние, разобрано в статье о том, как работает память у ИИ.
#Экспорт и удаление — две стороны одного вопроса
Продукт, который умеет выгрузить ваши данные, обычно умеет и удалить их: и то и другое требует знать, где эти данные лежат.
Обратное тоже верно: если удаление устроено как «мы перестанем показывать», выгрузка, скорее всего, тоже неполная. Проверять эти две функции стоит вместе — процедура удаления разобрана в гайде как удалить факт из памяти ИИ, а полное удаление учётной записи — в материале про удаление аккаунта и данных.
#Частые вопросы
#В каком формате лучше хранить выгрузку?
JSON для полноты и markdown для читаемости — вместе. JSON сохраняет структуру и поля версионирования, markdown позволяет просмотреть память глазами через год, когда никакого исходного продукта уже может не быть.
#Нужно ли выгружать векторный индекс?
Нет. Векторы привязаны к конкретной модели-эмбеддеру и её размерности; на новом месте они всё равно считаются заново. Переносить надо тексты, из которых они получаются.
#Как часто делать выгрузку?
Как резервную копию: по расписанию, а не по настроению. Раз в месяц достаточно, если вы не ведёте в ассистенте ничего критичного. Важнее регулярности другое — хотя бы раз проверить, что выгрузка открывается и содержит то, что вы думаете.
#Можно ли перенести память между разными ассистентами автоматически?
Универсального импорта нет. Практический путь — выгрузить факты в читаемый список и внести их в новый инструмент вручную или простым скриптом. Это заодно вынуждает пересмотреть, что из накопленного вам ещё нужно.
#Что делать, если продукт не даёт выгрузить память?
Считать это ответом на вопрос о переносимости и учитывать при выборе — сравнение по этому свойству есть в материале Persona против памяти ChatGPT. Обходной путь один: выгрузить переписку и извлечь факты из неё самому, но это уже восстановление, а не перенос, и часть контекста теряется.
#Отличается ли выгрузка от резервной копии?
Отличается назначением. Резервная копия — снимок для восстановления в том же продукте; выгрузка — читаемое представление для переноса в другой. Первая обычно полнее, вторая — переносимее. Держать стоит обе.
#Вывод
Проверьте выгрузку своего ассистента сегодня, а не в день, когда она понадобится: откройте файл и найдите в нём список фактов о себе. Если там только переписка — переносимой памяти у вас нет, и это надо знать заранее. При переезде не тащите производное — векторы, сводки и связи пересчитаются; тащите тексты и факты, а устаревшее оставьте позади. И проверяйте обе функции сразу: продукт, который не умеет выгрузить ваши данные, обычно не умеет и по-настоящему их удалить.