Habr AI→ оригинал

LangChain في الإنتاج: شرح Habr AI لماذا تنتقل الأنظمة متعددة الوكلاء إلى Python الخالص

تحليل لـ LangChain في الإنتاج: بنى الكاتب نظامًا متعدد الوكلاء على Python الخالص وأظهر أين يبدأ الإطار في إعاقة العمل. نقاط التعطل الأساسية هي تبديل النماذج وfa

LangChain في الإنتاج: شرح Habr AI لماذا تنتقل الأنظمة متعددة الوكلاء إلى Python الخالص
Источник: Habr AI. Коллаж: Hamidun News.
◐ Слушать статью

На Habr AI вышел подробный разбор того, почему production-мультиагентные системы не всегда выигрывают от LangChain. Автор описывает стек на чистом Python и показывает, где универсальные LLM-абстракции перестают экономить время и начинают ломать предсказуемость.

Где ломается абстракция

Главная претензия к LangChain в статье — обещание «переключить модель одной строкой» почти никогда не работает так же просто в реальном сервисе. На практике даже модели одного провайдера ведут себя по-разному: дорогая версия стабильно возвращает JSON, а более дешёвая начинает менять ключи, забывать системные инструкции и путаться в few-shot примерах. Если к этому добавить другого провайдера вроде YandexGPT, то ломается уже не только формат ответа, но и сами категории, на которых завязана downstream-логика.

«Абстракция вредна, когда она делает вид, что разные вещи одинаковы.»

Из этого вытекает и вторая мысль: фоллбек между OpenAI и YandexGPT — это отдельная инженерная задача, а не галочка в конфиге. Для каждого агента нужны отдельные промпты, единая схема валидации и тестовый набор реальных обращений. В описанной системе порог допуска для резервного провайдера — 85%, а результат любого вызова проходит через Pydantic-схему до отправки клиенту. Поверх этого автор выносит провайдеров в Protocol-интерфейсы, чтобы общее поведение было единым, а различия в промптах, авторизации и форматах оставались явными.

RAG без магии Отдельный блок статьи посвящён RAG, где «три строки кода» тоже быстро заканчиваются.

Смена embedding-модели без переиндексации базы знаний, по сути, обнуляет смысл векторного поиска: запросы и документы оказываются в разных пространствах, а система формально продолжает работать, просто находя не те куски текста. То же самое происходит с изменением chunk size: старые документы нарезаны одним способом, новые другим, и качество поиска превращается в лотерею, которую пользователь замечает раньше команды. Поэтому в production, по версии автора, важнее не удобный chain, а полный контроль над retrieval-конвейером.

Когда ответ уходит реальному клиенту, команде нужно видеть не только красивый итоговый текст, но и всю дорогу до него: какой фильтр применился, какие чанки попали в контекст, какие были score и почему один документ победил другой. Без этой прозрачности отладка превращается в угадайку, а проблемы всплывают уже после жалоб пользователей. score и метаданные каждого чанка кандидатов, которые не прошли отбор фильтрацию по продукту, клиенту или сценарию обновление базы знаний без простоя ## Контроль важнее агента Самым хрупким местом автор называет tool calling.

Модель может выбрать не тот инструмент, передать неправильные параметры или вовсе отказаться от вызова и уверенно сгаллюцинировать ответ. В статье это объясняется на простом примере: пользователь спрашивает про личное расписание, а агент идёт не в CRM, а в базу знаний и отдаёт общее описание курса. Попытка чинить такие ошибки одними промптами часто приводит к новым edge cases, потому что модель принимает решения вероятностно, а не детерминированно.

Из-за этого в собственной архитектуре автор переносит критичную маршрутизацию из LLM в rule-based классификатор, а модель оставляет только для неоднозначных случаев. Поверх него стоят явные контракты у агентов, отдельные клиенты для CRM и базы знаний, типизированные ответы, retry для временных сбоев и эскалация на человека, если валидный результат так и не получен. Дополнительный аргумент — безопасность: чем меньше фреймворк и его транзитивные зависимости, тем ниже attack surface и тем проще понять, что именно защищает систему.

Итоговая система работает на FastAPI, напрямую использует провайдерские SDK, ChromaDB и Bitrix24 API, а не общий orchestration-layer. В open-source версии у проекта около 4500 строк кода, 170 тестов и 84% покрытия. Это больше ручной работы, чем в сценарии с готовым фреймворком, но зато каждый шаг можно логировать, воспроизвести и проверить отдельно.

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

Что это значит

Разбор Habr AI хорошо фиксирует сдвиг в LLM-разработке: фреймворки по-прежнему удобны для прототипов и демо, но в production ценность смещается к явным контрактам, валидации и наблюдаемости. Чем больше у системы провайдеров, интеграций и бизнес-рисков, тем труднее прятать различия за одной абстракцией и тем важнее контролировать каждый стык вручную.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Загружаем комментарии…