Las abstracciones centrales de LangChain: Models (interfaz unificada a proveedores de LLM), Prompts (plantillas con variables), Chains (secuencias de llamadas al LLM y pasos de procesamiento), Agents (LLMs que deciden qué herramientas usar), Memory (gestión del estado de conversación), y Retrievers (conexiones a bases de datos vectoriales y otras fuentes de datos). Estos se componen: una cadena RAG conecta un retriever a un modelo vía una plantilla de prompt.
LangChain es divisivo en la comunidad de desarrolladores. Los defensores valoran las abstracciones unificadas, la amplitud de integraciones y la velocidad de prototipado. Los críticos argumentan que las abstracciones tienen fugas (necesitas entender las APIs subyacentes de todos modos), el código es difícil de depurar (demasiadas capas entre tú y la llamada a la API), y que aplicaciones simples se sirven mejor con llamadas directas a la API. El consenso parece ser: LangChain es bueno para prototipado y flujos de trabajo complejos de múltiples pasos, pero las aplicaciones simples a menudo no lo necesitan.
El ecosistema de LangChain se expandió más allá de la biblioteca central. LangGraph maneja flujos de trabajo de agentes complejos como máquinas de estado (mejor para agentes de múltiples pasos que cadenas lineales). LangSmith proporciona observabilidad — trazado, evaluación y monitoreo para aplicaciones LLM. El ecosistema aborda necesidades reales, pero la complejidad del stack completo es una preocupación válida para equipos que necesitan mantener y depurar estos sistemas en producción.