Зимородок сидит на ветке, яркие сине-оранжевые перья, природа, крупный план.

Уроки, извлеченные из перехода на LangChain 1.0 в производственной среде

Что сработало, что сломалось и почему я это сделал.

Делиться

0ae524ef4d52e5b0424a2d071f811b29

В конце октября 2025 года LangChain выпустил свою первую стабильную версию 1.0. После двух месяцев работы с их новыми API я искренне считаю, что это самая согласованная и продуманная версия LangChain на сегодняшний день.

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

Это не рекламный пост — мне бы очень хотелось узнать ваше мнение, пишите мне в личные сообщения!

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

Краткий обзор: LangChain, LangGraph и LangSmith.

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

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

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

Мой стек

Для контекста, большая часть моей недавней работы сосредоточена на разработке многоагентных функций для клиентской платформы искусственного интеллекта. В качестве бэкенда я использую FastAPI, а Pydantic обеспечивает проверку схем и работу с контрактами данных.

Урок 1: Отказ от поддержки моделей Pydantic

Важным изменением при переходе на версию 1.0 стало введение нового метода create_agent. Он упрощает определение и вызов агентов, но также исключает поддержку моделей Pydantic и классов данных в состоянии агента. Теперь все должно быть выражено как TypedDicts, расширяющие AgentState.

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

Для решения этой проблемы я добавил небольшой вспомогательный класс, который преобразует модель Pydantic в TypedDict, расширяющий AgentState, непосредственно перед передачей его в create_agent. Важно отметить, что LangChain добавляет пользовательские метаданные к аннотациям типов, которые необходимо сохранять. Утилиты Python, такие как get_type_hints(), удаляют эти аннотации, а это значит, что простое преобразование не сработает.

Урок 2: Глубоко устроенные агенты изначально имеют собственное мнение.

Наряду с новым API create_agent в LangChain 1.0 появилось нечто, что привлекло мое внимание: библиотека deepagents. Вдохновленная такими инструментами, как Claude Code и Manus, библиотека deepagents позволяет планировать, разбивать задачи на этапы и даже создавать подагентов.

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

Библиотека deepagents довольно специфична и создана именно так. Каждый deep-агент поставляется с некоторыми встроенными промежуточными программами — такими как ToDoListMiddleware, FilesystemMiddleware, SummarizationMiddleware и т. д. Они определяют, как агент мыслит, планирует и управляет контекстом. Однако загвоздка в том, что вы не можете точно контролировать, когда именно запускаются эти промежуточные программы по умолчанию, и не можете отключить те, которые вам не нужны.

Изучив исходный код deepagents, можно увидеть, что параметр middleware — это дополнительное ПО, применяемое после стандартного. Любое ПО, переданное в middleware=[…], добавляется после значений по умолчанию.

Вся эта дополнительная оркестровка также внесла заметную задержку и может не принести существенной пользы. Поэтому, если вам нужен более детальный контроль, используйте более простой метод create_agent.

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

Моя любимая функция: структурированный вывод.

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

В LangChain 1.0 это значительно упрощено. Вы можете определить схему (например, модель Pydantic) и передать ее функции create_agent через параметр response_format. Затем агент выдает результат, соответствующий этой схеме , в рамках одного цикла работы агента без каких-либо дополнительных шагов.

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

Что я хочу изучить подробнее: промежуточное программное обеспечение (Middleware).

Одна из самых сложных задач при создании надежных агентов — это проектирование контекста , то есть обеспечение того, чтобы агент всегда имел нужную информацию в нужное время. Для предоставления разработчикам точного контроля над каждым этапом цикла работы агента было введено промежуточное ПО (middleware), и я думаю, что стоит подробнее изучить этот вопрос.

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

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

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

Этот список промежуточного ПО постоянно пополняется, и очень помогает то, что он остается независимым от провайдера. Если вы экспериментировали с промежуточным ПО в своей работе, мне было бы интересно узнать, что оказалось для вас наиболее полезным!

В заключение

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

Удачи в строительстве!

Источник: towardsdatascience.com

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Аспирант решил давнюю проблему узла Конвея.
Аспирант решил давнюю проблему узла Конвея.
Ученые дали лососю кокаин, и вы непременно поверите, что произошло дальше.
Ученые дали лососю кокаин, и вы непременно поверите, что произошло дальше.
Тайваньский ценник ноутбука ASUS ROG Zephyrus Duo 2026 с Core Ultra 9 386H и RTX 5090M составляет $8500
Тайваньский ценник ноутбука ASUS ROG Zephyrus Duo 2026 с Core Ultra 9 386H и RTX 5090M составляет $8500
От Карфагена до Второй мировой: испанские археологи нашли 124 кораблекрушения в одной бухте
По мере приближения к смерти наши сны становятся более эмоциональными и символичными.
Почти треть человечества столкнётся с экстремальными погодными явлениями к концу XXI века: новое исследование
Image Not Found
Тайваньский ценник ноутбука ASUS ROG Zephyrus Duo 2026 с Core Ultra 9 386H и RTX 5090M составляет $8500

Тайваньский ценник ноутбука ASUS ROG Zephyrus Duo 2026 с Core Ultra 9 386H и RTX 5090M составляет $8500

Тайваньское подразделение ASUS оповестило пользователей о доступности премиального ноутбука ASUS ROG Zephyrus Duo 2026 на местном рынке, вот только приобрести его смогут только самые обеспеченные пользователи, которым, похоже, не жалко отдавать огромную денежную сумму. Этот ноутбук с…

Апр 23, 2026
Тайваньский ценник ноутбука ASUS ROG Zephyrus Duo 2026 с Core Ultra 9 386H и RTX 5090M составляет $8500

Тайваньский ценник ноутбука ASUS ROG Zephyrus Duo 2026 с Core Ultra 9 386H и RTX 5090M составляет $8500

Тайваньское подразделение ASUS оповестило пользователей о доступности премиального ноутбука ASUS ROG Zephyrus Duo 2026 на местном рынке, вот только приобрести его смогут только самые обеспеченные пользователи, которым, похоже, не жалко отдавать огромную денежную сумму. Этот ноутбук с…

Апр 23, 2026
Переосмысление будущего разработки программного обеспечения

Переосмысление будущего разработки программного обеспечения

Как агентный ИИ изменит подход к разработке и управлению программным обеспечением. В этом столетии разработка программного обеспечения пережила два кардинальных сдвига. Во-первых, это подъем движения за открытый исходный код, которое постепенно сделало код доступным для разработчиков и…

Апр 23, 2026
IPO компании SpaceX — это триллионная авантюра, связанная с будущим космоса.

IPO компании SpaceX — это триллионная авантюра, связанная с будущим космоса.

Это либо блестящая дорожка к звездам, либо финансовая черная дыра. Фрилансер Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего сайта. Все работы Джорджины Торбет Ракета-носитель…

Апр 23, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых