Главная / Статьи / Создание ИИ-агента с нуля: Patterns, ReAct и LangGraph

Создание ИИ-агента с нуля: Patterns, ReAct и LangGraph

Изучите основные концепции, лежащие в основе ИИ-агентов — планирование, использование инструментов, рефлексия и шаблон ReAct — а также то, как LangChain и LangGraph помогают создавать такие агенты вручную.

1021 слов

Системы ИИ больше не ограничиваются ответами на отдельные вопросы. Благодаря агентам ИИ модель может планировать последовательность действий, использовать внешние инструменты, оценивать полученные результаты и выполнять задачи, требующие нескольких шагов для завершения.

Что делает что-то агентом ИИ?

Стандартная модель ИИ реагирует на один запрос и выдает один ответ. Агент ИИ действует более активно. Он может:

  • Понять, чего на самом деле хочет пользователь
  • Разделить эту цель на последовательность действий
  • Выбрать и использовать подходящие инструменты
  • Проанализировать результаты работы этих инструментов
  • Продолжать работу до полного завершения задачи

Возьмем в пример виртуального планировщика поездок, который составляет двухдневную поездку в Канди. Ему необходимо собрать информацию из разных источников, а затем преобразовать её в практический маршрут, а не просто описать его в общих чертах.

Как выглядит рабочий процесс агента

Многие реальные задачи слишком сложны для выполнения за один проход. Рабочий процесс агента решает эту проблему путем разделения задачи на отдельные этапы.

К типичным этапам относятся:

  1. Планирование
  2. Исследование
  3. Написание
  4. Проверка
  5. Усовершенствование

Такая структура работы позволяет агенту использовать результаты предыдущих этапов и постоянно совершенствовать свой окончательный ответ.

Повторяющиеся шаблоны в проектировании агентов

При проектировании ИИ-агентов используется несколько устоявшихся шаблонов:

  • Планирование: разделение одной крупной задачи на набор более мелких.
  • Использование инструментов: обращение к внешним ресурсам, таким как калькуляторы, поисковые системы или базы данных.
  • Рефлексия: проверка качества чернового ответа и его усовершенствование.
  • Коммуникация между несколькими агентами: возможность совместной работы нескольких агентов над одной проблемой.
  • Память: хранение полезных деталей для последующих шагов или будущих сессий.
  • Эти паттерны дают агентам возможность решать проблемы, которые сложнее для решения с помощью одного лишь обмена запросом и ответом.

    Роль LangChain и LangGraph

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

    LangGraph объединяет отдельные действия в целостную цепочку. Он особенно полезен, когда агенту требуются циклы, постоянная память, вызовы инструментов или возможность вмешательства человека.

    Чтобы подвести итог различиям:

    • LangChain предоставляет компоненты.
  • LangGraph определяет порядок их выполнения.
  • Понимание шаблона ReAct

    Шаблон ReAct сочетает в себе процесс рассуждений и действий.

    Агент, следующий этому шаблону, циклически выполняет следующие действия:

    1. Рассуждение о том, что делать дальше
    2. Выполнение действия
    3. Проверка результата
    4. Рассуждение о следующем шаге

    Этот цикл продолжается до тех пор, пока агент не будет уверен в возможности получения окончательного ответа.

    Цикл ReAct объединяет процессы мышления, действия, наблюдения и предоставления окончательного результата.

    Ручное создание простого агента

    Рассмотрим возможность создания минимального агента, оснащенного двумя инструментами:

    • Инструмент для поиска среднего веса породы собак
    • Инструмент для выполнения сложения

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

    Столкнувшись с такой просьбой, агент выполняет короткую последовательность действий:

    1. Смотрим вес бордер-колли: 37 фунтов
    2. Смотрим вес шотландского терьера: 20 фунтов
    3. Проводим вычисление с помощью калькулятора по формуле 37 + 20
    4. Сообщаем общий результат: 57 фунтов

    Этот пример показывает, как агент объединяет несколько вызовов инструментов вместо того, чтобы просто догадываться о ответе.

    Разделение работы между моделью и средой выполнения

    Языковая модель и окружающий её Python-код выполняют отдельные части задачи.

    LLM отвечает за:

    • Понимание сути заданного вопроса
  • Определение следующего действия
  • Выбор подходящего инструмента для этого действия
  • Составление окончательного ответа
  • Среда выполнения Python занимается следующим:

    • Фактической работой выбранных инструментов
    • Отслеживанием результатов
    • Управлением циклом, управляющим агентом
    • Подачей результатов работы инструментов обратно в модель

    Короче говоря, модель решает, что необходимо сделать, а код на Python выполняет это.

    Преобразование цикла в автоматизированный процесс

    Вместо того чтобы вручную запускать каждый вызов инструмента, можно автоматизировать весь цикл агента. Система проверяет, хочет ли модель вызвать инструмент:

    • Если да, этот инструмент выполняется.
    • Результат передается обратно в модель.
    • Как только больше не требуются инструменты, агент возвращает окончательный ответ.

    Автоматизация цикла в таком виде превращает агента в инструмент, который можно использовать для множества различных запросов пользователей, а не просто в одноразовый скрипт.

    Основные моменты, которые следует запомнить

    • Агенты ИИ решают задачи, выполняя последовательность шагов.
    • Рабочие процессы с участием агентов основаны на планировании, вызове инструментов, наблюдении и постоянной отладке.
    • Распространённые шаблоны проектирования включают планирование, использование инструментов, рефлексию, координацию нескольких агентов и управление памятью.
    • LangChain предоставляет базовые элементы для создания приложений ИИ.
    • LangGraph отвечает за организацию связей между этими элементами в рабочем процессе.
    • Подход ReAct объединяет процессы рассуждения, действий и анализа результатов.
    • Большие языковые модели принимают решения, в то время как среда выполнения на Python обеспечивает их реализацию.
    • Автоматизированный цикл агента продолжает вызывать инструменты до завершения задачи.

    Эти основы лежат в основе создания более сложных агентов с использованием LangGraph в будущем.

    Следующий этап развития ИИ — это не просто получение более качественных ответов, а создание систем, способных самостоятельно принимать правильные действия.

    Связанные статьи

  • Создание безопасных ИИ-агентов с использованием механизмов контроля LangChain и промежуточного программного обеспечения — Узнайте, как механизмы контроля, основанные на детерминированности и моделях, функционируют в LangChain для выявления утечек персональных данных, обеспечения соблюдения бизнес-правил и добавления этапов утверждения со стороны человека в ИИ-агенты.
  • Создание готовых к использованию в производстве промптов для LLM: семислойная структура — Ознакомьтесь со структурированной, вдохновлённой API семислойной моделью промптов — инструкции, контекст, ограничения и другие элементы — для создания надёжных систем LLM промышленного уровня.
  • Выбор фреймворка для Python AI Agent в 2026 году: практическое сравнение — Сравнивает пять фреймворков для Python AI Agent с точки зрения их подхода к обработке сбоев и сложности, помогая читателям подобрать подходящий инструмент для своей рабочей процедуры.