1. Что такое AI-агент и почему ему нужна память
Что такое AI-агент и почему ему нужна память
Представьте, что вы наняли нового сотрудника. Он умный, быстро соображает, отлично справляется с задачами — но каждое утро приходит на работу, не помня ничего из того, что делал вчера. Вы объясняете ему задачу, он выполняет её блестяще, но завтра всё начинается заново. Это не просто неудобно — это делает его практически бесполезным для любой сложной, многошаговой работы. Именно в такой ситуации находится большинство AI-систем без памяти. И именно поэтому понятие AI-агента — это не просто «умный чат-бот», а принципиально другая архитектура.
Чем агент отличается от обычного чат-бота
Обычный чат-бот — это, по сути, очень умный автоответчик. Вы задаёте вопрос, он отвечает. Всё. Он не планирует, не принимает решений, не использует инструменты и не помнит, что было три сообщения назад (если это не заложено явно).
AI-агент — это система, которая умеет делать четыре вещи, недоступные простому чат-боту:
Хорошая аналогия: чат-бот — это справочная служба, которая отвечает на вопросы. Агент — это менеджер проекта, который получает задачу, составляет план, делегирует подзадачи, следит за результатами и доводит дело до конца.
Анатомия агента: четыре ключевых компонента
Любой AI-агент, независимо от фреймворка и модели, состоит из одних и тех же базовых блоков.
Языковая модель (LLM, Large Language Model) — это «мозг» агента. Она принимает текст на входе и генерирует текст на выходе. Именно она решает, что делать дальше, как интерпретировать результаты и что ответить пользователю.
Инструменты (tools) — это «руки» агента. Функции, которые агент может вызывать: поиск в интернете, выполнение кода на Python, чтение файлов, запросы к базам данных, вызов внешних API. Без инструментов агент — это просто умный генератор текста.
Память (memory) — это то, что отличает агента от чат-бота. Способность помнить прошлые взаимодействия, результаты действий, факты о пользователе и контексте задачи.
Цикл рассуждений (reasoning loop) — механизм, по которому агент работает. Самый популярный — ReAct (Reasoning + Acting): агент думает вслух, выбирает действие, выполняет его, смотрит на результат, снова думает — и так до достижения цели.
!Архитектура AI-агента: четыре компонента и цикл работы
Почему память — это не опция, а необходимость
Вернёмся к аналогии с сотрудником без памяти. Теперь представьте, что вы просите его проанализировать кодовую базу из 50 000 строк и найти все места, где нарушается принцип единственной ответственности. Без памяти он может прочитать только небольшой кусок кода — тот, что помещается в его «голову» прямо сейчас. Прочитал, забыл, читает следующий кусок — но уже не помнит, что видел в первом.
Это реальная проблема. Современные языковые модели имеют контекстное окно — максимальный объём текста, который они могут «держать в голове» одновременно. Даже у самых продвинутых моделей это ограничение существует, и для реальных задач backend-разработчика оно критично.
Вот несколько сценариев, где отсутствие памяти делает агента бесполезным:
Три уровня памяти агента
Память агента — это не одна вещь, а целая иерархия, похожая на то, как работает память у человека.
Кратковременная память — это текущий контекст разговора. Всё, что сейчас находится в контекстном окне модели. Быстрая, но ограниченная. Аналог: то, о чём вы думаете прямо сейчас.
Долговременная память — информация, сохранённая во внешних хранилищах: векторных базах данных, обычных базах данных, файлах. Агент может обращаться к ней по запросу. Аналог: ваши записные книжки, документы, архивы.
Процедурная память — знание о том, как делать вещи: инструкции, шаблоны, алгоритмы. Обычно хранится в системном промпте или специальных хранилищах. Аналог: ваши профессиональные навыки и привычки.
| Тип памяти | Где хранится | Объём | Скорость доступа | |---|---|---|---| | Кратковременная | Контекстное окно | Ограничен | Мгновенно | | Долговременная | Векторная БД, SQL | Практически неограничен | Секунды | | Процедурная | Системный промпт, файлы | Ограничен | Мгновенно |
Первый рабочий агент на Python
Достаточно теории — посмотрим, как это выглядит в коде. Вот минимальный агент с инструментами и простой памятью, использующий локальную модель через Ollama:
Этот код уже работает — запустите Ollama с любой моделью, и агент сможет писать и выполнять код, читать файлы и сохранять факты между сессиями.
Неочевидная ловушка: агент без памяти повторяет ошибки
Один из самых важных практических уроков: агент без долговременной памяти не только забывает успехи, но и повторяет ошибки. Если он попробовал подход A, он не сработал, агент попробовал подход B — в следующей сессии он снова начнёт с подхода A. Это не просто неэффективно, это может быть опасно в production-системах.
Именно поэтому в реальных агентах память — это не «приятная добавка», а архитектурный фундамент. Как именно устроено контекстное окно, почему оно ограничено и как с этим бороться — тема следующей статьи. Но уже сейчас важно понять: агент без памяти — это не агент, а дорогой автоответчик.