LangChain dejó de ser "el framework que hace todo" para convertirse en una capa de composición delgada sobre un ecosistema especializado. Esto es lo que realmente cambió y por qué sigue siendo la opción por defecto en producción.
En 2023 y 2024, LangChain acumuló críticas justificadas: demasiadas abstracciones, cadenas (`LLMChain`, `SimpleSequentialChain`) que ocultaban lo que realmente pasaba con el prompt, y una superficie de API que cambiaba de versión en versión. La respuesta del equipo no fue abandonar el proyecto sino dividirlo: `langchain-core` contiene las interfaces (`Runnable`, `BaseChatModel`, `BaseRetriever`), `langchain` contiene la lógica de orquestación de alto nivel, y cada integración vive en su propio paquete (`langchain-openai`, `langchain-anthropic`, `langchain-postgres`, etc.).
Esta separación es la razón por la que hoy actualizar el SDK de un proveedor no rompe tu cadena de recuperación, y por la que puedes instalar solo lo que usas en producción en lugar de un paquete de cientos de dependencias transitivas.
El cambio más importante fue la consolidación de LangChain Expression Language (LCEL). En lugar de subclases de `Chain`, todo objeto que participa en un flujo implementa la interfaz `Runnable`, con métodos consistentes: `invoke`, `batch`, `stream`, `ainvoke`. Esto permite componer con el operador `|` de forma declarativa.
Esta uniformidad es lo que permitió, después, construir LangGraph encima: un grafo de estado donde cada nodo puede ser, literalmente, un `Runnable` de LangChain sin adaptadores.
Vale la pena ser explícito sobre lo que hoy se considera legado: `LLMChain`, `ConversationChain` y los `AgentExecutor` clásicos con `initialize_agent()` siguen funcionando pero ya no reciben mejoras activas. La documentación actual empuja a construir agentes con `langgraph.prebuilt.create_react_agent` o grafos custom, y a construir cadenas simples con LCEL directo. Si tu base de código de 2023 todavía usa `from langchain.chains import LLMChain`, es momento de migrar: no porque vaya a dejar de funcionar mañana, sino porque el debugging, el streaming de tokens y el soporte de herramientas son sensiblemente peores en esa capa antigua.
Con SDKs nativos de cada proveedor (OpenAI, Anthropic, Google) cada vez más completos, la pregunta razonable es si LangChain sigue aportando valor. En nuestra experiencia con clientes en Guatemala y la región, la respuesta es sí, por tres razones concretas:
Primero, la abstracción de proveedor de modelo real: cambiar de `ChatOpenAI` a `ChatAnthropic` o a un modelo local vía `ChatOllama` es un cambio de una línea si tu cadena está construida con `Runnable`. Segundo, el catálogo de integraciones de recuperación (vector stores, retrievers híbridos, loaders de documentos) sigue siendo el más amplio del mercado. Tercero, la combinación con LangSmith para trazabilidad y con LangGraph para control de flujo cubre todo el ciclo de vida sin salir del mismo ecosistema conceptual.
Para un caso de uso trivial —una sola llamada a un modelo con un prompt fijo, sin recuperación, sin herramientas— añadir LangChain es sobre-ingeniería. El SDK nativo de Anthropic o de OpenAI es más directo y tiene menos capas que depurar. LangChain empieza a pagar dividendos cuando hay composición real: múltiples pasos, múltiples fuentes de datos, necesidad de intercambiar modelos, o requerimiento de observabilidad estructurada.
Si tu equipo arrancó un proyecto en 2023 con la API antigua, planifica una migración incremental a LCEL y, para los flujos con lógica condicional o ciclos, a LangGraph. No es necesario reescribir todo de una vez: `Runnable` y los grafos de LangGraph pueden convivir con cadenas antiguas mientras migras módulo por módulo. Para proyectos nuevos, la recomendación es empezar directamente con `langchain-core` + LCEL para lo simple, y LangGraph para cualquier cosa con estado, bucles o intervención humana.
Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.
Contactar a Carlos Montiel