Когда использовать фреймворк вроде LangChain, LangGraph или LlamaIndex, а когда писать тонкий слой над SDK?
- Зачем нужен LangChain?
- Что такое LangGraph?
Фреймворк ускоряет прототип: готовые загрузчики документов, интеграции с векторными базами, цикл агента, граф шагов с состоянием (LangGraph). Цена — скрытые промпты и вызовы, лишние абстракции, сложная отладка и зависимость от быстро меняющегося API. В продакшене часто оставляют тонкий слой над SDK провайдера и берут из фреймворка отдельные части, которые реально экономят время.
- Важно понимать, что фреймворк делает под капотом: какие промпты отправляет и сколько вызовов
- LangGraph полезен для агентов с явным состоянием, ветвлениями и паузой на подтверждение человека
- LlamaIndex — сильнее в индексации и поиске по документам
А ещё Решение принимают по трассам: если не видно, что уходит в модель, отлаживать нечего
Подробно
Что дают фреймворки:
- загрузчики и разбивка документов, интеграции с десятками баз;
- абстракции модели, инструментов, памяти;
- готовые схемы: RAG, агент ReAct, граф состояний;
- интеграцию с трассировкой (LangSmith, Langfuse).
Чем платят:
- внутренние промпты, которые вы не писали и не видите сразу;
- несколько вызовов модели там, где ожидался один;
- частые несовместимые изменения API;
- слои абстракций, сквозь которые сложно добраться до ошибки.
Практика. Прототип собирают на фреймворке, чтобы быстро проверить идею. В продакшене ядро (вызов модели, инструменты, цикл агента) часто проще написать самим: это десятки строк над SDK. Фреймворк оставляют там, где он даёт много готового — например, загрузчики форматов или граф с сохранением состояния.
Что хотят услышать
- Плюсы фреймворков для прототипа.
- Скрытые промпты, вызовы и сложность отладки.
- Понимание того, что происходит под капотом.
- Тонкий слой над SDK как вариант для продакшена.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Фреймворк стоит брать всегда: он делает ровно один вызов модели на запрос, поэтому дешевле и прозрачнее собственного кода над SDK
- ✓Фреймворк — для прототипа; в продакшене часто тонкий слой над SDK
- ✗Фреймворки делают ровно один вызов модели на запрос, поэтому всегда дешевле
- ✗Если фреймворк работает, разбираться в его промптах не нужно
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.