Вопрос с собеседования · AI и LLM

Когда использовать фреймворк вроде LangChain, LangGraph или LlamaIndex, а когда писать тонкий слой над SDK?

MiddleИнструменты и агенты
Ещё спрашивают так:
  • Зачем нужен LangChain?
  • Что такое LangGraph?
Коротко

Фреймворк ускоряет прототип: готовые загрузчики документов, интеграции с векторными базами, цикл агента, граф шагов с состоянием (LangGraph). Цена — скрытые промпты и вызовы, лишние абстракции, сложная отладка и зависимость от быстро меняющегося API. В продакшене часто оставляют тонкий слой над SDK провайдера и берут из фреймворка отдельные части, которые реально экономят время.

  • Важно понимать, что фреймворк делает под капотом: какие промпты отправляет и сколько вызовов
  • LangGraph полезен для агентов с явным состоянием, ветвлениями и паузой на подтверждение человека
  • LlamaIndex — сильнее в индексации и поиске по документам

А ещё Решение принимают по трассам: если не видно, что уходит в модель, отлаживать нечего

Подробно

Что дают фреймворки:

  • загрузчики и разбивка документов, интеграции с десятками баз;
  • абстракции модели, инструментов, памяти;
  • готовые схемы: RAG, агент ReAct, граф состояний;
  • интеграцию с трассировкой (LangSmith, Langfuse).

Чем платят:

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

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

Что хотят услышать

  • Плюсы фреймворков для прототипа.
  • Скрытые промпты, вызовы и сложность отладки.
  • Понимание того, что происходит под капотом.
  • Тонкий слой над SDK как вариант для продакшена.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Фреймворк стоит брать всегда: он делает ровно один вызов модели на запрос, поэтому дешевле и прозрачнее собственного кода над SDK
  • ✓Фреймворк — для прототипа; в продакшене часто тонкий слой над SDK
  • ✗Фреймворки делают ровно один вызов модели на запрос, поэтому всегда дешевле
  • ✗Если фреймворк работает, разбираться в его промптах не нужно

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

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

Разбор собеседования