Память ИИ-агента: как Claude запоминает тебя между сессиями
То он «уже знает твои привычки», то спрашивает одно и то же по кругу - разбираемся почему
Как работает память ИИ-агента: что такое инстинкты, уверенность и область памяти, почему долгая память агента живёт в файлах, а не в модели, и как её настроить.
Что такое память агента простыми словами
Представь нового бариста в любимой кофейне. В первый день говоришь: «капучино на овсяном, без сахара». Он кивает, делает - идеально. Назавтра приходишь, а он опять: «вам как?». И послезавтра. И через неделю. Каждый. Раз. Заново.
Бесит, да? Вот так же ведёт себя «голая» модель. Внутри одного разговора она гениальна, помнит каждую мелочь. Но закрыл чат - и ты для неё снова незнакомец. Не потому что тупая. Просто ей буквально негде тебя хранить между встречами.
А теперь представь, что бариста завёл блокнотик и записал: «постоянный гость - капучино, овсяное, без сахара». Утром открыл, прочитал - и встречает как родного. Этот блокнотик и есть память агента. И весь фокус в том, что и как туда писать.
Зачем вайбкодеру разбираться в памяти ИИ
Ты вайбкодер. Гоняешь агента по своему проекту изо дня в день. Поймёшь, как он запоминает - и сразу несколько вещей встанут на место:
- перестаёшь объяснять одно и то же по десятому кругу - агент сам копит твои привычки;
- знаешь, куда положить важное правило, чтобы оно пережило перезапуск;
- больше не ловишь сюрприз «в новом чате он всё забыл и сделал по-своему»;
- понимаешь, почему агент то уверенно делает «как ты любишь», то осторожничает.
Вся разница между «каждый раз с нуля» и «агент уже знает мой проект» сводится к трём вещам: где живёт память, в каком виде и насколько агент ей доверяет. Сейчас разложим по полочкам.
Как устроена память Claude: инстинкты, уверенность и область
В умных системах памяти (например, в скилле continuous-learning Continuous Learning - система непрерывного обучения: она наблюдает за твоими сессиями и сама вытаскивает из них маленькие правила-привычки. Чем чаще паттерн повторяется, тем сильнее агент в нём уверен. ) агент не сваливает в блокнот всё подряд. Он пишет аккуратные маленькие кусочки. Держится всё на трёх китах.
Инстинкт - это одна привычка, а не простыня текста
Память не пишется абзацами в духе «а вот что у нас было вчера». Она пишется инстинктами Инстинкт - крошечное выученное правило формата «когда X - делай Y». Атомарное: один триггер, одно действие. Например: «когда пишу новую функцию - используй функциональный стиль». . Инстинкт - атомарный кирпичик: один триггер, одно действие. И всё.
Например: «когда пишу новую функцию - делай в функциональном стиле». Или: «когда сохраняю файл - сперва прочитай его». Мелко, конкретно, без воды. Такие кирпичики легко добавить, легко проверить и не жалко выкинуть, когда устарели.
Уверенность - насколько агент доверяет привычке
У каждого инстинкта есть число - уверенность Уверенность (confidence) - число от 0.3 до 0.9, показывающее, насколько агент доверяет привычке. 0.3 - лишь предложит, 0.9 - сделает как само собой разумеющееся. от 0.3 до 0.9. Это и есть разница между «вроде вы без сахара?» и «капучино овсяное, как всегда, уже наливаю».
| Уверенность | Что значит | Как ведёт себя агент |
|---|---|---|
| 0.3 | Робкая догадка | Только предложит, навязывать не станет |
| 0.5 | Серединка | Применит, если к месту |
| 0.7 | Сильная | Сделает сам, не переспрашивая |
| 0.9 | Почти железная | Базовое поведение, само собой |
Уверенность растёт, когда привычка повторяется, а ты её не правишь. И падает, когда говоришь «нет, не так» или паттерн давно не всплывал. То есть память не застывает в камне - она живёт и подстраивается под тебя.
Область памяти - правило для проекта или для всего сразу
Тут штука, на которой новички спотыкаются. Память живёт в двух областях:
- По проекту - действует только внутри этого проекта. Сюда идут конвенции языка и фреймворка: «используй React-хуки», «тесты клади в папку tests», «здесь стиль такой-то».
- Общая - действует везде. Сюда идут универсальные истины: «всегда проверяй пользовательский ввод», «пиши тесты», «сначала прочитай файл, потом меняй».
Хорошая память против плохой: плюсы и минусы
- Важные правила лежат в файлах, а не в одном сообщении чата, которое сгинет.
- Память атомарна: одна заметка - один факт, никаких простыней.
- У фактов есть уверенность - слабые предлагаются, сильные применяются сами.
- Память чистится: устаревшее удаляется, а не копится годами.
- Локальные правила лежат по проекту, универсальные - в общей области.
- Память превратилась в свалку - агент жжёт контекст на чтение мусора.
- Заметки спорят друг с другом: в одной «делай так», в другой «никогда так».
- В память попали секреты (пароли, ключи) - а файл потом утёк.
- Привычки из чужого проекта лезут не туда и ломают логику.
- Агент верит старой заметке, хотя в проекте давно всё иначе.
Память агента на практике: реальный пример
Неделю пилишь сайт. И каждый раз заново диктуешь агенту: «отступы по 8 пикселей», «кнопки - скруглённые», «текст на русском». К пятому дню это уже зубная боль, и ты искренне не понимаешь, почему он «не запоминает».
А он и не должен запоминать сам по себе - ты ему не выдал блокнот. Понимающий вайбкодер делает иначе: один раз просит агента завести память и складывать туда привычки. Дальше блокнот ведётся сам.
Заведи в проекте файл MEMORY с моими привычками и веди его сам.
Правила ведения:
- Пиши короткими пунктами в стиле «когда делаю X - делай Y». Один пункт - один факт.
- Что уже знаем: отступы по 8 пикселей, кнопки скруглённые, все тексты на русском.
- Если я тебя поправляю - обнови нужный пункт, не плоди дубли.
- Если факт устарел или спорит с новым - удали старый, не держи оба сразу.
- Никаких паролей, ключей и секретов в этом файле.
- В начале каждой новой сессии сперва прочитай этот файл, потом берись за задачу.
Почему агент забыл привычки: чек-лист диагностики
Агент «забыл» твои привычки? Прежде чем злиться, пробегись по чек-листу:
- Правило вообще в файле? Сказал один раз в чате - после перезапуска его уже нет. Перенеси в память.
- Нет ли дублей и противоречий? Если в памяти «делай А» и «никогда А» - агент будет метаться. Почисти.
- Не свалка ли это? Файл памяти разросся в простыню - разбей на короткие атомарные пункты.
- Не из чужого ли проекта правило? Локальную привычку могло занести не туда. Проверь, где она лежит.
- Факт не протух? Агент честно верит старой заметке. Если в проекте всё поменялось - обнови запись.
Частые ошибки новичка в работе с памятью
- Верить, что «ИИ запомнит сам». Без файла памяти он начинает каждую сессию с чистого листа.
- Держать правила только в переписке. Закрыл чат - правил как не бывало. Выноси в файл.
- Писать в память простынями. Агент утонет в тексте. Дроби на короткие «когда X - делай Y».
- Копить и не чистить. Старые и противоречивые заметки путают агента сильнее, чем вообще пустой файл.
- Складывать секреты в память. Файл однажды утечёт. Пароли и ключи - никогда в память.
- Удивляться, что привычка не сработала в другом проекте. Память по проекту заперта в своём проекте - это фича, а не баг.
TL;DR - если коротко
- Сама модель не помнит ничего между сессиями. Память агента - это файлы на диске, и читает он их заново при каждом запуске.
- Толковая память хранит не простыни текста, а инстинкты - крошечные правила «когда X - делай Y».
- У каждого инстинкта есть уверенность от 0.3 до 0.9: слабые просто предлагаются, сильные срабатывают сами.
- Память делится на проектную и общую: правила React сидят в React-проекте, «всегда проверяй ввод» - работает везде.
- Хорошая память атомарна и чистится: одна заметка - один факт, протухшее удаляем, а не копим.
- Секретам в памяти не место. Пароли и ключи - мимо: файл рано или поздно утечёт.