Обновить

Я четыре месяца диктовал дневник AI-агенту. Вот почему память оказалась важнее модели

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели12K
Всего голосов 4: ↑3 и ↓1+4
Комментарии13

Комментарии 13

Пришёл к похожим выводам, но с другой стороны: не дневник, а рабочая память для AI-агента.

У меня Claude Code управляет публикациями на 5 платформах. Между сессиями контекст теряется полностью. Решение: файл CHECKPOINT.md в корне проекта. Там статус каждой задачи, что уже сделано (DO_NOT_REDO), что проверить перед действием (VERIFY_BEFORE_ACT).

Ключевой момент, который совпадает с вашим наблюдением: структура памяти важнее объёма. Когда я писал память свободным текстом, агент терял контекст через 2-3 сессии. Когда перешёл на чёткие секции с метками статуса, стало работать стабильно.

Формула: память = структурированный файл + правило “прочитай перед любым действием”. Модель вторична.

Очень похожее наблюдение, да.

Пока собирал дневник, тоже пришел к мысли, что проблема не столько в объеме памяти, сколько в ее структуре и в дисциплине чтения источника перед выводами.

По сути, ваш CHECKPOINT.md решает ту же задачу, что у меня ежедневные Markdown-записи, создает внешний источник истины, который переживает контекстное окно, перезапуски и смену моделей.

постоянство важнее полноты: тридцать неидеальных записей полезнее семи идеальных

Так тезис ровно об обратном. Полнота ≠ идеальность. Хоть статьи пишите не самым дешевым дипсиком.

PS. Как минимум пара десятков попыток изобрести память поверх markdown уже есть на Хабре и ещё пара сотен на реддите. Добро пожаловать в мир, где каждый пишет свой велосипед (и у этого иногда есть плюсы).

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

Насчет "велосипеда" тоже согласен :) Когда начинал, был уверен, что сейчас найду готовое решение. В итоге как-то прям идеальное решение так и не нашел, но для себя решил сначала собрать минимальную систему из того, что уже использую каждый день.

Я примерно к этому же пришёл, только со стороны обычного чата. Cами по себе логи диалога полезны, но в моменте важнее не всё помнить, а адекватно держать текущее состояние. И чтобы трекать это состояние — завёл отдельную панель. Так можно сразу увидеть, что реально закрепляется в памяти и не угадывать.

А что значит отдельную панель? Отдельный аккаунт? Это вы про чат гпт ?

Чат открывается локально в браузере и подключается к OpenAI-compatible API, например к LM Studio, где крутится модель вроде Gemma. Сервер ведёт runtime-память в три слоя. Первый слой, текущие факты и фокус диалога, отображается в отдельной панели справа. Там видно что модель сейчас считает важным, какие темы открыты, какие факты закрепились. Основная логика ещё полируется, но проект уже можно скачать из репозитория и поэкспериментировать.

идея с голосовым дневником хорошая, хотя все опять упирается в систематичность по себе знаю

за нейронку - важно наличие данных, а не их недостаток. Если у вас нейронка плавает в деталях то сделайте хранение в базу важных тезисов причем это все упаковать в MCP-сервер что бы нейронка не страдала с текстовыми файлами. То есть время, периоды, количество - все что можно описать точно хранить так же детерминировано в базе. То есть нейронка будет иметь файл дневника "за сегодня" и связный объект из базы с конкретикой по этому дню.

Ух ты, это отличная идея, я что-то думал что для меня это будет оверинженеринг, но вероятно что в итоге упрус в потолок из-за мд файловой системы….

в файловую систему вы упретесь не скоро)) Даже в рамках нейронки кодовые агенты нормально работают с десятками мегабайт текста. Для дневника такой обьем это вся жизнь войдет. Это уже если нужно будет гигабайты текста нормально обрабатывать, тогда уже векторизировать весь текст и уже работать с векторной базой

А за MCP вам даже знаний особо не надо, агент сам вам спокойно напишет что надо причем сразу локально с sqlite базой которой вам за глаза хватит. Главное только изначально определится со структурой и что хранить. А уж наполнение и чтение нейронка справится - на чтение просите какие именно данные нужны и прописываете что вернуть в json в фиксированном формате и все

Самое главное что такое можно и с гугл-калкндарем связать или просто самописно свой держать для периодов (когда истекает срок лекарства, на когда пригласили и тд)

Да, мне кажется я пока сознательно остановился на Markdown, чтобы не превратить дневник в отдельный проект :)

Но мысль про отдельный слой фактов мне нравится. Для дат, расходов, лекарств, встреч и прочих вещей, где важна точность, БД выглядит вполне логичным развитием.

НЛО прилетело и опубликовало эту надпись здесь

Спасибо, по делу. Собрал у себя почти то же. База знаний в Obsidian, лежит в гите, надиктовываю через macWhisper, дополняю и спрашиваю её через свой телеграм-бот с агентом, правлю из VS Code. Лучше связки Obsidian плюс гит пока не нашёл, всё под рукой и версионируется.

По главному выводу плюсую и добавлю грабли. Засада даже не в том, что агент не дочитал часть записей, а в том, что генерация это гладко прячет и дыру в тексте не видно. Чем сильнее модель, тем убедительнее она достраивает пропуск, и сводка выглядит настоящей. У себя я сначала кодом собираю все нужные заметки, и только потом генерю строго по ним, без додумывания. Ещё прошу агента писать, сколько заметок из скольких он реально взял, и цитировать их. Тогда непрочитанное сразу вылезает.

Цитирование исходников в сводке форсить пробовали, или хватает сырого текста с коммитом?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации