As abstrações principais do LangChain: Models (interface unificada para provedores de LLM), Prompts (templates com variáveis), Chains (sequências de chamadas de LLM e etapas de processamento), Agents (LLMs que decidem quais ferramentas usar), Memory (gerenciamento de estado de conversação), e Retrievers (conexões com bancos de dados vetoriais e outras fontes de dados). Estes se compõem: uma chain de RAG conecta um retriever a um modelo via template de prompt.
LangChain é divisivo na comunidade de desenvolvedores. Defensores valorizam as abstrações unificadas, a amplitude de integrações e a velocidade de prototipagem. Críticos argumentam que as abstrações são vazadas (você precisa entender as APIs subjacentes de qualquer forma), o código é difícil de depurar (muitas camadas entre você e a chamada de API) e que aplicações simples são melhor servidas por chamadas diretas de API. O consenso parece ser: LangChain é bom para prototipagem e workflows complexos de múltiplos passos, mas aplicações simples frequentemente não precisam dele.
O ecossistema LangChain se expandiu além da biblioteca principal. LangGraph lida com workflows complexos de agentes como máquinas de estado (melhor para agentes de múltiplos passos do que chains lineares). LangSmith fornece observabilidade — rastreamento, avaliação e monitoramento para aplicações LLM. O ecossistema atende necessidades reais, mas a complexidade da stack completa é uma preocupação válida para equipes que precisam manter e depurar esses sistemas em produção.