Главная / Статьи

Создание вашего первого агента LangChain с помощью LangGraph в 2026 году

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

Издатель: REACTAPP.TOP10 мин чтения2399 слов

Источники: Building AI Agents with LangChain: A Beginner’s Guide for 2026

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

Кратко: агент LangChain сочетает способность больших языковых моделей к логическим рассуждениям с внешними инструментами для выполнения многоэтапных задач. В новых версиях LangChain для создания агентов с состоянием и циклической работой используется LangGraph вместо простого AgentExecutor. Инструменты, механизмы поиска информации и память несут основную нагрузку в любом продакшн-решении.

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

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

Это имеет огромное значение для образовательных продуктов. Представьте студента, который пишет: «Проверь мои знания по главе 5, посмотри мои последние три результаты тестов и сделай задания сложнее, если я продолжу получать более 80% баллов». Статический чат-бот не сможет с этим справиться. Агент может разделить запрос на части, вызвать API для тестов, запросить данные из базы оценок, применить условную логику и вернуть персонализированный набор заданий. Образовательные платформы и стартапы в сфере LMS уже разрабатывают подобную архитектуру.

Дизайн состоит из трех слоев:

  • Основа в виде большой языковой модели, такой как GPT-4o, Claude, Gemini или модель с открытыми весами.
  • Слой инструментов: обычные функции Python, внешние API или встроенные инструменты LangChain, такие как Tavily Search, Wikipedia и пользовательские SQL-запросы.
  • Слой памяти: что угодно от краткосрочного буфера для диалога до долгосрочных векторных хранилищ или памяти сущностей.
  • Соедините их с помощью автомата состояний LangGraph, и у вас получится решение, готовое к использованию в производстве.

    Создание пошагово

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

    1. Установите необходимые компоненты. Запустите команду pip install langchain langchain-openai langgraph langchain-community tavily-python на Python 3.11 или новее. Укажите значения OPENAI_API_KEY и TAVILY_API_KEY в переменных окружения, никогда не сохраняйте их в коде в виде констант.
  • Запишите цель в одном предложении перед тем, как приступать к коду. Например: агент отвечает на вопросы о прогрессе студента по курсу путем запроса к API LMS и обобщения результата. Нечеткие цели приводят к неисправным агентам, а четкое определение цели с самого начала экономит часы на отладке.
  • Настройте модель. Команда ChatOpenAI(model="gpt-4o", temperature=0) обеспечивает более стабильное мышление, а значение температуры в ноль важно при вызове инструментов, поскольку снижает вероятность случайных вызовов. Для реализаций, чувствительных к затратам, gpt-4o-mini может выполнять значительную часть работы за гораздо меньшие деньги.
  • Определите инструменты с помощью декоратора @tool. Каждый из них представляет собой функцию на Python с четким документированием, поскольку модель читает это описание, чтобы решить, когда ее вызвать. Плохое документирование означает, что инструмент никогда не будет вызван или будет вызван в неподходящий момент.
  • Создайте состояние и узлы LangGraph. Определите схему состояния в виде TypedDict, создайте один узел для выполнения логических операций модели и другой — для запуска инструментов, а затем соедините их с помощью StateGraph с условными ребрами. Эти ребра формируют цикл логических операций.
  • Добавьте механизм памяти. Класс MemorySaver из LangGraph отвечает за краткосрочное хранение состояния. Для долгосрочной памяти, от которой зависят персонализированные обучающие агенты, подключите хранилище векторов, такое как Pinecone или Chroma.
  • Скомпилируйте, протестируйте и отслеживайте процесс. Скомпилируйте код с помощью команды graph.compile(checkpointer=memory), вызовите его с тестовым запросом и воспользуйтесь платформой отслеживания LangChain — LangSmith, чтобы проверить каждый шаг: какой инструмент был использован, какие данные поступили к нему и что решила модель в итоге.
  • Усильте его. Добавьте возможность повторных попыток, ограничения бюджета токенов (max_iterations), проверку входных данных и параметр recursion_limit, чтобы агент, потерявший направление, не мог бесконечно циклировать. Логируйте каждый вызов инструмента в систему мониторинга.
  • Роль агентов в технологиях образования

    Платформы LMS, такие как Moodle, Canvas или собственные системы, могут использовать агентов в качестве помощников при преподавании. Они запрашивают оценки студентов, рекомендуют следующий модуль, сообщают преподавателям о студентах, испытывающих трудности, и создают вопросы для тестов на основе загруженных PDF-файлов с использованием технологии RAG. Один из поставщиков LMS среднего масштаба сообщил о сокращении времени, затрачиваемого преподавателями на администрирование, на 40% после того, как агенты начали отвечать на вопросы о прогрессе студентов.

    Ассистенты на основе ИИ работают наилучшим образом в качестве агентов, а не при использовании отдельных вызовов моделей. Ассистент проверяет, что уже знает студент (используя функцию памяти), извлекает соответствующие учебные материалы (система RAG), корректирует способ объяснения информации (с помощью инструмента профиля предпочтений) и планирует дополнительный тест (с использованием календарного инструмента). Механизм объединения инструментов в LangChain позволяет сохранить общий объем кода примерно на уровне 500 строк на Python.

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

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

    Выбор фреймворка

    Сравнение LangChain, LlamaIndex, CrewAI и AutoGen заслуживает отдельной статьи, но существует простое правило, которое может помочь. LangChain в сочетании с LangGraph является лучшим выбором для универсальных агентов, которым нужны инструменты, память и механизмы логического мышления. LlamaIndex оптимизирован для систем поиска информации и ответов на вопросы к документам. Многие производственные системы используют их совместно: LlamaIndex отвечает за загрузку и поиск данных, в то время как LangChain координирует деятельность агента.

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

    Из этого процесса можно выделить несколько важных моментов.

    • Параметр температуры имеет большее значение, чем выбор модели. Установка его в ноль для модели агента обычно значительно снижает количество ложных вызовов инструментов по сравнению с более высокими значениями, независимо от используемой модели. Любой конкретный процент, указанный в интернете, следует рассматривать как приблизительную оценку, и его следует проверять с использованием собственных инструментов.
    • Документация к функциям является руководством для агента. Краткое, нечеткое описание в одной строке чаще всего становится причиной неправильного использования инструментов в начальных версиях агентов.
  • LangGraph заменил AgentExecutor по веской причине. AgentExecutor подходит для простых агентов с однократным обработчиком данных, но любые системы с ветвлением логики, участием человека или параллельными вызовами инструментов требуют состояний, организованных по узлам.
  • Именно сочетание технологии RAG и агента придает образовательным продуктам реальную ценность. Без возможности поиска информации агент может рассуждать только на основе данных обучения; с ней же он может отвечать на вопросы, касающиеся содержания курсов, данных студентов или внутренних знаний организации.
  • Отслеживание действий агента — не опциональная функция. Не выпускайте агент без LangSmith или аналогичных инструментов, поскольку отладка агента с циклической логикой без отслеживания превращается в угадывание, тогда как с его помощью анализ корневых причин занимает всего несколько минут.
  • Пример из практики: служба поддержки боуткампа

    Это был средний по размеру онлайн-курс по программированию, в котором одновременно обучалось около 1 200 студентов, проходивших курсы по Python, науке о данных и веб-разработке. Служба поддержки отвечала на более чем 800 вопросов студентов в неделю, причем примерно 60% из них касались сроков, обратной связи по проектам и поиска информации в учебной программе.

    До внедрения этого агента всем занимались три штатных сотрудника, используя общую почтовую корзину. Среднее время ответа составляло 6,2 часа, уровень удовлетворенности студентов — 62%, а каждый преподаватель тратил около 11 часов в неделю на решение административных вопросов.

    Команда из двух разработчиков за шесть недель создала агента LangGraph с четырьмя инструментами. Один из них искал материалы курсов с помощью технологии RAG в базе знаний LMS. Другой проверял прогресс студентов через API LMS. Третий рассчитывал сроки согласно календарю курса. Четвертый передавал сложные запросы человеку-специалисту вместе со всей необходимой информацией.

    Через девяносто дней после запуска были получены следующие результаты:

    • Агент обработал 74% поступивших запросов.
    • Среднее время ответа сократилось до 8 секунд.
    • Уровень CSAT вырос до 81%.
    • Количество заявок на поддержку от людей снизилось на 52%.
    • Каждый инструктор экономил примерно 7 часов в неделю.
    • Расходы на разработку были возмещены примерно за 4,5 месяца.

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

    Эти цифры взяты из отчетов самой команды, поэтому используйте их как пример тенденции улучшений, а не как эталон, к которому следует стремиться.

    Четыре распространенных ошибки

    Использование AgentExecutor для сложных агентов

    Он не поддерживает условное разветвление, параллельную работу инструментов или сохранение состояния между этапами диалога, а в 2026 году это уже стандартные требования. Переходите на LangGraph. Сначала кривая обучения более крутая, но у вас появляется полный контроль над циклом рассуждений, к тому же собственная документация LangChain теперь указывает на LangGraph в качестве стандарта для любых не простых случаев.

    Отсутствие ограничения на рекурсию

    Без параметра recursion_limit агент может бесконечно циклировать, тратя токены и деньги. Риск увеличивается при использовании агентов с большим количеством инструментов, когда одна неудачная попытка может привести к множественным повторным попыткам. Установите recursion_limit=25 или меньше в настройках компиляции LangGraph и определите явные условия остановки в логике узлов вместо того, чтобы оставлять принятие решений на усмотрение модели.

    Раннее пропускание отслеживания LangSmith

    Когда агент дает неверный ответ, существует множество возможных причин ошибки в цепочке обработки, и без следов вы остаетесь с конечным результатом и должны догадываться. Включите LangSmith с самого начала, поскольку его можно бесплатно использовать в целях разработки. Экспортируйте параметры LANGCHAIN_TRACING_V2=true и LANGCHAIN_API_KEY до того, как напишете первую строку кода агента — это сэкономит вам время во время первой сессии отладки.

    Создание инструментов с нечеткими документациями

    Выбор инструмента полностью определяется моделью, анализирующей ваш документационный текст. Фраза вроде «получает данные пользователя» не даёт ей ничего для работы, поэтому она будет вызывать инструмент случайным образом или вообще не вызывать его. Опишите цель инструмента, входные данные и ситуации, когда он применяется. Хороший описания звучит так: «загружает пять последних результатов теста ученика из базы данных LMS по заданному student_id для использования, когда пользователь спрашивает о прошлых результатах или истории тестов».

    Краткие ответы

    Что предлагает LangChain для начинающих? Это фреймворк на Python, который связывает языковые модели с инструментами, источниками данных и памятью. Вы передаёте модели набор инструментов, и она сама решает, какой из них вызвать для достижения цели. Начните с документации к быстрому старту и простого агента для вызова инструментов, прежде чем пробовать многократные рабочие процессы.

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

    Сколько времени требуется для создания первого агента? Простой агент с одним инструментом может быть разработан программистом с базовыми знаниями Python примерно за два–четыре часа. Агент производственного уровня с несколькими инструментами, памятью, механизмами обработки ошибок и возможностями отслеживания через LangSmith обычно требует от одной до трех недель, в зависимости от сложности API.

    Что такое RAG и нужен ли он? Технология Retrieval-augmented generation позволяет агенту отвечать на вопросы, касающиеся собственных данных — таких как учебный материал, записи студентов или PDF-файлы, — путем поиска соответствующих фрагментов перед тем, как составить ответ. Он необходим тогда, когда агенту требуется знать что-то, чего нет в данных для обучения модели, что почти всегда характерно для образовательных продуктов.

    Заменяет ли LangGraph LangChain? Нет, он его расширяет. LangChain предоставляет базовые компоненты (модели, инструменты, память), а LangGraph добавляет возможности оркестрации графов с учетом состояния для реализации циклов, разветвлений и координации множества агентов. Это рекомендуемый подход для любого сложного агента в экосистеме LangChain.

    Начните с малого

    Вам больше не нужно быть исследователем в области машинного обучения или инженером крупной технологической компании, чтобы создавать агентов. Человек с базовыми знаниями Python может разработать рабочего агента за выходные с помощью LangGraph, LangSmith и четкого процесса. Адаптивные репетиторы, помощники в системах управления обучением и коучи по прогрессу уже в пределах досягаемости, а инструменты достаточно зрелы для использования в производственных условиях.

    Команды, добивающиеся успеха, — это не те, у кого самые большие модели. Они хорошо понимают архитектуру агентов, чтобы создавать разумные наборы инструментов, надежную память и механизмы корректного обработки сбоев. Начните с одного инструмента, одной цели и одного агента, затем вносите улучшения.