lenec ru

← все посты

LangChain vs LlamaIndex vs Vercel AI SDK: что выбрать в 2026

14K

В разное время я писала продакшн-код на всех трёх. LangChain — год, LlamaIndex — полгода, Vercel AI SDK — последние полтора года. Расскажу, что у каждого болит, что радует, и кому какой брать.

Эти библиотеки делают разное

Главная путаница: люди их сравнивают, как будто это конкуренты на одном поле. Это не так.

  • LangChain — оркестратор. Цепочки, агенты, абстракции над всем подряд: модели, vector stores, document loaders, output parsers, retrievers.
  • LlamaIndex — RAG-фреймворк. Сильнее всего в индексации документов, поиске, гибридных стратегиях извлечения.
  • Vercel AI SDK — тонкий клиент-первого-уровня для LLM-провайдеров. Streaming, tool use, structured output, единый интерфейс.

Пересечения есть, но фокусы разные. Если у тебя задача «сделай RAG с нуля по 1000 PDF» — это LlamaIndex. Если задача «построй сложного агента с десятью шагами рассуждений» — LangChain. Если задача «дёрни Claude/GPT/Gemini единым кодом и засунь стрим в React» — Vercel AI SDK.

LangChain

Сила: огромное сообщество, документация на каждый чих, интеграции с сотнями инструментов. Если у тебя нестандартный stack (Weaviate, Cohere rerankers, MongoDB Atlas Vector), LangChain почти точно знает, как с этим работать.

Слабость: абстракции. LangChain любит обернуть всё в свои классы, и в результате простой запрос «давай отправлю промпт и получу ответ» превращается в цепочку из четырёх классов. Когда что-то ломается — копаешь полчаса, чтобы понять, на каком уровне.

Ещё минус — частые breaking changes. У меня в коде в 2024-м было 80 импортов из langchain.* Сейчас они все из @langchain/core, @langchain/community, @langchain/openai. Миграция заняла два дня.

LlamaIndex

Сила: RAG из коробки. SimpleDirectoryReader, VectorStoreIndex, query_engine — пять строк, и ты уже задаёшь вопросы своим документам. Дальше идут сложные стратегии: hybrid retrieval, reranking, query routing, multi-document agents.

Слабость: за пределами RAG слабее. Чисто диалоговые сценарии или сложные агенты в LlamaIndex выглядят неудобно. Документация большая, но скачет между Python и JS, и часто JS-документация отстаёт.

В моём проекте LlamaIndex выиграл сценарий «технические документы клиентов, 50000 файлов разных форматов»: его loader-ы лучше LangChain справились с PDF-таблицами, его HierarchicalNodeParser реально полезен для длинных текстов.

Vercel AI SDK

Сила: простота. Один интерфейс на все провайдеры, отличный Reactовский useChat, useCompletion и useObject. Streaming работает «из коробки». Tool use унифицирован.

import { generateText } from 'ai';
import { anthropic } from '@ai-sdk/anthropic';

const { text } = await generateText({
  model: anthropic('claude-sonnet-4-5'),
  prompt: 'Расскажи про SSR',
});

Это всё. Хочешь сменить провайдера — меняешь импорт. Хочешь structured output — generateObject. Хочешь стрим — streamText.

Слабость: не RAG-фреймворк и не оркестратор. Если тебе нужны цепочки рассуждений с десятью шагами, document loaders, выбор retrieval-стратегий — это придётся писать самой или брать LangChain/LlamaIndex параллельно.

Что я обычно беру

На фронт-проекты Next.js с LLM-фичей — Vercel AI SDK. Готовый useChat в React, structured output через Zod, переключение провайдеров одной строкой. Никаких лишних абстракций.

На бэковые сервисы с RAG — LlamaIndex или нативный код на pgvector + Vercel AI SDK для самих запросов. LangChain я уже почти не использую: оркестрацию мне проще написать руками 50 строк, чем разбираться в текущей версии Runnable, RunnableLambda и Runnable.

На сложных агентов — комбинирую. Логику агента (цикл, выбор инструмента, память) пишу руками или беру маленький фреймворк типа BAML/Mastra. Сами LLM-вызовы — через Vercel AI SDK.

Что у меня вызывало боль

  • В LangChain случайно подключил deprecated-class и оно работало неделю в проде, пока не упало с непонятной ошибкой. Старый класс в новой версии прокидывал параметры в слегка другом порядке.
  • В LlamaIndex JS-версии нашёл баг с парсингом markdown-таблиц. Завёл issue, пофиксили через 3 недели. На Python-версии бага нет.
  • Vercel AI SDK 4 поломал API стрим-частей. Пришлось мигрировать с onFinish/onChunk на новые. На двух местах в проекте — около часа.

Скорость разработки

На простых задачах — Vercel AI SDK быстрее, потому что меньше абстракций. На сложных RAG-сценариях — LlamaIndex, потому что не нужно собирать половину инфраструктуры самой. На «одной общей системе со всем сразу» — LangChain даёт самый широкий охват, но цена входа высокая.

Что в итоге

В 2026-м моя дефолтная связка для нового проекта: Vercel AI SDK для всех LLM-вызовов, LlamaIndex или ручной pgvector-код для RAG, минимальная самописная оркестрация для агентов. LangChain я вынимаю только в редких случаях, когда нужна интеграция, которой нет нигде ещё.

Главный совет — не выбирай фреймворк сразу под всё. Возьми задачу, поставь её просто, реши минимально. Если задача RAG — LlamaIndex или собственный код. Если задача чат — Vercel AI SDK. Если задача оркестрация — пиши руками или бери LangChain. Не нужно «один правильный фреймворк навсегда».

Комментарии 0

  • Будьте первым, кто оставит комментарий.

Войдите, чтобы оставить комментарий.