Память
Память агента - это его возможность самостоятельно получать доступ к информации (загружать в контекст), которая не находится в контексте прямо сейчас, но он знал ее раньше.
Это может быть его личность, информация о пользователе, история предыдущих диалогов, знания о доменной области - что угодно.
С точки зрения реализации, память - это просто набор инструментов, которые позволяют писать, читать и искать по воспоминаниям.
Что-то вроде этого
class Memory: def write_conversation_memory(summary: str) -> None: ...
def list_conversations() -> list[tuple[UUID, datetime]]: ...
def read_conversation(conversation_id: UUID) -> str: ...
В самом простом случае, память - это просто директория на файловой системе. Например, вот такая (OpenClaw):
memory/ ├── PERSONALITY.md // личность агента ├── USER.md // профиль юзера ├── 04_16_2026/ // история диалогов │ ├── Write_Blogpost.md │ └── Make_Presentation.md └── 04_17_2026/ └── Find_NN_Restaurants.md
Имея такую директорию и парочку инструментов для работы с ней, OpenClaw уже умеет:
- самодописывать свой системный промпт (PERSONALITY.md)
- обновлять информацию о своем хозяине (USER.md)
- писать историю диалогов, искать по ним и доставать оттуда факты
К слову, RAG - это точно такой же набор инструментов с точно такими же возможностями. Отличается только реализация тулов: вместо файловой системы внутри - векторная база данных.
Вот и вся магия космических агентов, которые самодописывают свои промпты, узнают пользователя и помнят все.