Ir al contenido

Tabla comparativa

Antes de leer 4 capítulos individuales, esta tabla. Si tu caso encaja claro con uno, podés saltearte los otros tres y pasar directo al cap 07 (mismo input → outputs reales) y al 09 (¿cuál elegir?).

EjeVercel AI SDKLangChain.jsLlamaIndex.TSMastra
DXACBB
Tipos (TS strict)ACCB
Velocidad (latencia base)AABC
Ecosistema (integraciones)CABC
LOC mínimo (un query end-to-end)21151513
Target audienceminimalismo + control”lo quiero todo en una lib”RAG-firstagentes + workflow

Escala A/B/C/D: A es lo mejor en su columna, D sería lo peor. Ningún framework saca D en ningún eje — los 4 son utilizables. Las diferencias son trade-offs, no defectos.

Cuán rápido y placentero es escribir código nuevo. Mide cosas concretas:

  • ¿Tu IDE te autocompleta bien?
  • ¿Los errores son entendibles?
  • ¿La documentación tiene ejemplos del caso simple?
  • ¿Cuándo algo falla, sabés dónde mirar?

Vercel AI SDK = A: API mínima, nombres claros, errores explícitos. LangChain.js = C: muchos conceptos abstractos (Runnables, Chains, LCEL), errores que requieren saber el internals para debuggear.

Qué tan bien funciona tu RAG con tsconfig.strict = true y noUncheckedIndexedAccess.

Vercel AI SDK = A: tipos limpios, generics bien usados, casi cero any en surface. LangChain.js / LlamaIndex.TS = C: ambos tienen any o unknown en lugares donde tu código tiene que castear. Para evals tuvimos que hacer workarounds para acceder a contextos.

Latencia del path base sin optimizaciones (sin caché, sin reranker). Promedio sobre las 12 preguntas del golden set.

Vercel AI SDK / LangChain.js = A (~1800-2000 ms con llama3.2:3b). LlamaIndex.TS = B (~2200 ms — un poco más por capas de abstracción). Mastra = C (~2400 ms en el path Naive — bookkeeping interno extra).

Cuántas baterías incluidas tiene el framework.

LangChain.js = A: docenas de vector stores, providers de LLM, document loaders, retrievers, integraciones con servicios (Slack, Notion, Confluence, etc.). Si necesitás conectar con algo raro, casi seguro tiene módulo. LlamaIndex.TS = B: ecosistema rico para RAG específicamente (índices avanzados, document agents, knowledge graphs). Vercel AI SDK / Mastra = C: minimalistas. Los providers de LLM/embedder están cubiertos pero el resto lo construís vos.

Líneas de código de un script que: lee la pregunta, embedea, retrievea, genera, imprime. Sin imports, sin comentarios.

FrameworkLOCPor qué
Vercel AI SDK21Componés cada paso. Más LOC, más control.
LangChain.js15LCEL pipeline reduce verbosidad.
LlamaIndex.TS15index.asQueryEngine().query() colapsa stages.
Mastra13El más conciso. Costo: más magia.

LOC no es bondad. Más cortó != mejor. La pregunta real: cuando algo falla, ¿cuántas líneas tenés que leer para entender qué pasó? Las 21 líneas de Vercel se leen en orden, las 13 de Mastra requieren entender qué hace Agent.generate() por dentro.

A quién está pensado el framework. No es ranking — es match.

  • Vercel AI SDK apunta a equipos que prefieren control granular y tipos limpios. Si tu equipo migra a edge, este. Si querés implementar tus propios retrievers (Nivel 3), este.
  • LangChain.js apunta a equipos que necesitan moverse rápido con muchas integraciones pre-armadas. Si tu RAG conecta con SharePoint + Confluence + Slack + Postgres, este.
  • LlamaIndex.TS apunta a equipos donde RAG es el centro del producto. Si querés graph indexes, document agents, summary indexes con poco esfuerzo, este.
  • Mastra apunta a equipos donde RAG es uno de varios tools dentro de un agente. Si tu chatbot tiene RAG + búsqueda web + APIs propias + memoria persistente, este.

Los puntajes son cualitativos. Para métricas duras (faithfulness, retrieval@k, latencia mediana), el cap 08 te muestra los números reales del harness side-by-side. Lo que ves acá es DX y trade-offs estructurales, no benchmark.

Y ojo: en software, “mejor” siempre es relativo a tu caso. La tabla te da una orientación; la decisión final pasa por:

  1. Tu equipo: ¿qué framework conoce o quiere aprender?
  2. Tu caso: ¿el RAG es el centro o un componente?
  3. Tu corpus: ¿necesitás integraciones específicas?
  4. Tu deploy target: ¿edge, serverless, container, dedicated?

Los 4 análisis individuales con el mismo template: filosofía, snippets de código real, tipos, brilla/sufre. Empezamos por el minimalista — Vercel AI SDK.