Данная лекция предназначена в первую очередь для студентов магистратуры и аспирантов непрофильных специальностей, применяющих ИИ в учебной, исследовательской и профессиональной деятельности. Материал носит вводный характер и содержит упрощения. В то же время он может быть полезен более широкой аудитории.
Серия «Базовый минимум» включает четыре части:
- Базовый минимум. Часть 1: большие языковые модели
- Базовый минимум. Часть 2: промпт-инжиниринг
- Базовый минимум. Часть 3: RAG-системы
- Базовый минимум. Часть 4: ИИ-агенты (текущая часть)
«Что такое воля, как не мысль, переходящая в дело?» — Александр Александрович Бестужев-Марлинский
От RAG-систем к ИИ-агентам
RAG-системы эффективно решают задачу доступа к актуальной информации, но сами по себе представляют лишь механизм подстановки контекста перед генерацией ответа. В базовом виде они не управляют процессом: не планируют, не проверяют результаты и не делают повторных попыток.
Если поиск вернул нерелевантные фрагменты, модель просто сгенерирует ответ на их основе.
На практике многие запросы являются многошаговыми: требуется собрать данные из разных источников, сравнить их, переформулировать вопрос или проверить промежуточные выводы.
В таких случаях нужна не просто база знаний, а управляемый процесс — система, способная выбирать стратегию и действовать до достижения цели. Здесь и появляется агентный подход.
Согласно документации Google Cloud, ИИ-агент (AI agent) — это система, использующая искусственный интеллект для достижения целей и выполнения задач от имени пользователя. Он анализирует задачу, формирует план, выбирает инструменты и выполняет последовательность действий до получения результата.
Агент может взаимодействовать с внешними сервисами: запускать код, изменять файлы, обращаться к API или работать с базами данных. То есть он не просто описывает решение, а влияет на окружение.
Важная особенность агентов — самокоррекция. Если информации недостаточно или результат некорректен, агент может уточнить запрос, повторить поиск или пересчитать данные перед тем, как сформировать итоговый ответ.
Во многих реализациях агент сам предлагает следующие шаги и может выполнять их автоматически или с подтверждением пользователя — особенно при выполнении критичных операций.
Благодаря этому агенты подходят для задач, выходящих за рамки однократной генерации текста: анализ больших объёмов документов, автоматизация работы с кодом или создание презентаций.
Компоненты ИИ-агента
Для автономной работы ИИ-агенту необходимы несколько ключевых компонентов.
В центре остаётся LLM. На каждом шаге она генерирует инструкции, промежуточные выводы, запросы к инструментам, а также редактирует текст и код.
Для взаимодействия со средой используются инструменты. Это может быть поиск в базе знаний, вызов API, выполнение кода и другие операции.
Агент обладает памятью. Краткосрочная хранит текущий контекст и промежуточные результаты, чтобы не терять ход рассуждений. Долгосрочная — например, векторные базы данных или корпоративные знания — позволяет накапливать и использовать информацию в будущем.
Для решения многоэтапных задач нужен планировщик. Он разбивает задачу на шаги, выбирает инструменты и следит за прогрессом, чтобы агент не зациклился и довёл процесс до завершения.
Контроль ошибок — ещё один важный элемент. Агент оценивает результаты, выявляет несогласованности, сверяет факты и при необходимости делает повторные попытки.
Окружение — это всё, с чем агент может взаимодействовать: сервисы, данные, пользователи.
Что такое ReAct
Один из ранних и эффективных паттернов агентного поведения — ReAct. Его логика проста: модель действует по циклу «думать — действовать — наблюдать».
Сначала она рассуждает (reason), что нужно сделать. Затем выполняет действие (act) через инструмент. После получения результата (observe) решает, какой шаг будет следующим.
Преимущество ReAct в прозрачности: видна вся цепочка — план, вызовы инструментов, результаты. Это позволяет контролировать процесс. Многие современные агенты строятся на этом паттерне.
Мультиагентные системы
Когда один агент способен планировать и действовать, логичный следующий шаг — распределить задачи между несколькими специализированными агентами.
Мультиагентная система (MAS, Multi-Agent System) — это совокупность агентов, которые координируют действия и совместно решают задачу. Это похоже на команду: есть планировщик, исследователь, исполнитель и валидатор. Их результаты объединяются в итоговый ответ.
Такой подход даёт преимущества:
- Параллелизм: подзадачи выполняются одновременно.
- Качество: агенты могут проверять друг друга, снижая риск ошибок.
- Масштабируемость: проще управлять сложными сценариями с множеством инструментов и данных.
Чаще всего используется агент-координатор (или «оркестратор»), который разбивает цель на подзадачи, распределяет их и собирает результат. В простых случаях это конвейер ролей, в сложных — динамическая схема с обратными вызовами между агентами.
Однако рост числа агентов усложняет координацию, повышает риск противоречий, увеличивает затраты (токены, время) и требует усиленной защиты: агенты работают с внешними источниками и могут получить вредоносные инструкции.
ИИ-агенты в современных сервисах
Крупные компании активно внедряют агентные технологии в массовые продукты.
Например, в ChatGPT развиваются сценарии с агентным поведением, включая работу с кодом через Codex. GitHub Copilot интегрируется в IDE (например, VSCode), анализирует проекты, предлагает правки и создаёт тесты — всё это признаки перехода к агентности.
Microsoft представила Microsoft 365 Copilot — помощника, встроенного в приложения Office (Word, Excel, PowerPoint, Outlook, Teams). Он обрабатывает документы, письма, встречи и автоматически формирует отчёты и презентации.
К моменту чтения этой статьи, вероятно, уже появилось ещё больше подобных инструментов.
Практический пример: минимальный ИИ-агент-помощник
Целью примера было создать максимально простого агента без сложной инфраструктуры, но с чётко выраженными признаками агентного поведения.
Результат — MVP помощника в путешествиях, который умеет:
- Проверять погоду в городах
- Искать мероприятия в городах
- Отправлять письма на почту
Полный код доступен в Google Colab для экспериментов. Ниже — разбор ключевых компонентов.
Инициализация модели
Использовалась модель Qwen 3.5 (9B), запущенная локально в Colab через Ollama.
Модель выбрана так, чтобы быть достаточно мощной для агентных задач и умещаться в ресурсы Colab, что позволяет воспроизвести пример любому желающему.
Инструменты агента
В коде определены три инструмента: get_weather, get_events и send_email.
Агент может находить мероприятия в городе, предлагать их пользователю и давать рекомендации по одежде на основе погоды.
Пример условно «игрушечный», но демонстрирует реальное принятие решений: агент сам выбирает, какие инструменты использовать.
Функции реализованы с помощью декоратора @tool из langchain_core.tools. Он превращает обычную Python-функцию в инструмент, доступный для вызова агентом.
Модель видит описание функции (docstring), понимает её аргументы и решает, когда её применить.
В продвинутых системах инструменты часто реализуют через MCP (Model Context Protocol), например с fastmcp. Это даёт больше гибкости и возможность выносить инструменты в отдельные сервисы. В данном примере это избыточно, поэтому используется простой подход.
Промпт и контекст пользователя
Здесь задаётся поведение агента и передаётся персональная информация о пользователе для более осмысленных ответов.
Инструменты объединяются в список. Модель и список передаются в create_agent из langchain.agents вместе с SystemMessage из langchain_core.messages. На этом этапе LLM превращается в агента.
В примере используется LangChain версии 1.2.12.
Цикл работы
Реализован цикл взаимодействия с пользователем.
Ввод пользователя добавляется в историю диалога и передаётся агенту вместе с системным промптом. Внутри agent.invoke происходит вся логика.
Промежуточные шаги (вызовы инструментов и их результаты) выводятся отдельно — чтобы было видно, как агент рассуждает и действует.
Пример диалога
В примере агент самостоятельно решает вызвать два инструмента — погоду и события. Получив данные, он формирует итоговый ответ.
При этом он учитывает контекст: обращается к пользователю по имени, даёт рекомендации по одежде и предлагает мероприятия.
При уточнении действия пользователем агент корректно вызывает инструмент отправки письма. Адрес подставляется правильно, письмо формируется — даже если функция реализована как заглушка.
Заключение
В этой серии мы прошли путь от базовой языковой модели к сложным системам на её основе.
RAG подключает внешние знания, делая ответы точнее и проверяемыми. Промпт-инжиниринг помогает управлять качеством и форматом вывода. Агенты расширяют возможности LLM до выполнения многошаговых, автономных задач.
Но есть и недостатки: галлюцинации, чувствительность к формулировкам, ограничения контекстного окна, риски безопасности. Важно выстраивать процессы так, чтобы результаты можно было проверять и воспроизводить.