Les abstractions centrales de LangChain : Models (interface unifiée vers les fournisseurs LLM), Prompts (templates avec variables), Chains (séquences d'appels LLM et d'étapes de traitement), Agents (LLM qui décident quels outils utiliser), Memory (gestion de l'état conversationnel) et Retrievers (connexions aux bases de données vectorielles et autres sources de données). Elles se composent : une chaîne RAG connecte un retriever à un modèle via un template de prompt.
LangChain divise la communauté des développeurs. Les partisans apprécient les abstractions unifiées, l'étendue des intégrations et la rapidité de prototypage. Les critiques arguent que les abstractions sont perméables (tu dois comprendre les API sous-jacentes de toute façon), que le code est difficile à déboguer (trop de couches entre toi et l'appel API), et que les applications simples sont mieux servies par des appels API directs. Le consensus semble être : LangChain est bon pour le prototypage et les workflows complexes en plusieurs étapes, mais les applications simples n'en ont souvent pas besoin.
L'écosystème LangChain s'est étendu au-delà de la bibliothèque centrale. LangGraph gère les workflows d'agents complexes comme des machines à états (mieux pour les agents multi-étapes que les chaînes linéaires). LangSmith fournit l'observabilité — traçage, évaluation et surveillance pour les applications LLM. L'écosystème répond à des besoins réels, mais la complexité de la stack complète est une préoccupation légitime pour les équipes qui doivent maintenir et déboguer ces systèmes en production.