LangChain es el framework IA más mencionado en tutoriales, conferencias y ofertas de trabajo. Pasé varias semanas construyendo con él, luego lo reescribí todo directamente contra los SDK. Aquí lo que aprendí.
Lo Que LangChain Hace Bien
Para ser justos: LangChain resuelve problemas reales.
- Inicio rápido: encadenar un retriever + LLM en 10 líneas
- Abstracciones útiles: Document loaders, text splitters, interfaces de vector stores
- Ecosistema: cientos de integraciones prefabricadas
Para un prototipo o POC, es difícil de superar. Tienes las bases en un día.
Por Qué Falla en Producción
1. El debugging se vuelve opaco.
Cuando una cadena LangChain produce un resultado inesperado, rastrear la causa lleva tiempo. Las abstracciones ocultan exactamente lo que se envía al modelo. Con una llamada directa, el problema es inmediatamente visible.
2. Las versiones rompen cosas.
LangChain ha tenido v0.1, v0.2, v0.3 — cada una con breaking changes. He tenido proyectos donde actualizar una dependencia transitiva rompía silenciosamente un pipeline en prod.
3. Overhead de rendimiento.
En pipelines batch, la capa de abstracción de LangChain añade latencia medible. No dramático, pero en 100k llamadas/día importa.
4. No aprendes qué hace realmente el modelo.
Si usas LLMChain sin entender qué prompt envía, no puedes optimizar. Las abstracciones incentivan no mirar bajo el capó.
Lo Que Uso en Su Lugar
SDK oficial de Anthropic (anthropic Python o TypeScript). Estable, documentado, directo.
Pydantic para validación de salidas estructuradas.
Mis propias abstracciones minimalistas — 100-200 líneas de código que entiendo completamente:
class LLMClient:
def __init__(self, model: str = "claude-sonnet-4-6"):
self.client = anthropic.Anthropic()
self.model = model
def complete(self, prompt: str, max_tokens: int = 1024) -> str:
response = self.client.messages.create(
model=self.model,
max_tokens=max_tokens,
messages=[{"role": "user", "content": prompt}]
)
return response.content[0].text
200 líneas que domino > 200.000 líneas que sufro.
La Regla que Aplico
Usa un framework cuando te ahorra tiempo en tu especificidad, no en la parte común que podrías escribir en una hora.
La parte común (llamada API, retry, parsing JSON) se escribe en una hora. Invierte ese tiempo.
Stéphanie Caumont
Product Owner de IA · Saber más