Stack technique
Interface → Orchestration → LLM → Mémoire/Outils → Infrastructure
Cycles, branches conditionnelles et persistance d'état inter-appels. Checkpointing natif : si le process crash à 3h du matin, il reprend au dernier nœud stable.
vs. LangChain LCEL : LangGraph pour tout ce qui nécessite des cycles ou de l'état. LCEL pour les pipelines linéaires simples.
Quand le problème se découpe naturellement en rôles distincts : Researcher, Writer, Validator. Abstraction plus haute que LangGraph, moins de code pour les cas sans cycles complexes.
vs. LangGraph : CrewAI pour les pipelines séquentiels role-based. LangGraph quand vous avez besoin de cycles ou de state machines précises.
Fenêtre de contexte 200k tokens. Meilleur rapport qualité/coût pour les tâches nécessitant du jugement, de la cohérence et de la précision.
Utilisé pour : extraction structurée complexe, génération de rapports, décisions d'architecture, raisonnement multi-étapes.
Latence < 1s, coût ~15× inférieur à Sonnet. Le choix du bon modèle par tâche est la principale variable de coût dans un pipeline multi-agents.
Utilisé pour : triage de tickets entrants, classification d'intention, parsing de formulaires, validation de schéma JSON.
Extension PostgreSQL pour la recherche vectorielle : pas d'infrastructure séparée. La même base gère l'état applicatif, les embeddings et le Row Level Security pour l'isolation tenant.
vs. Pinecone : pgvector pour < 10M vecteurs quand la cohérence transactionnelle est importante. Pinecone pour les volumes extrêmes (> 100M vecteurs).
API de recherche conçue pour les LLM : snippets pre-cleaned, filtrage par domaine. Utilisé dans les agents de veille concurrentielle et de recherche documentaire.
vs. SerpAPI : Tavily retourne du contenu directement exploitable par un LLM. Coût/requête ~3× plus bas à qualité de snippet équivalente.
Open source, self-hostable, RGPD natif. Chaque appel LLM est tracé : input, output, durée, coût en tokens par modèle. Dashboard de coût par agent, par tenant, par feature.
vs. LangSmith : Langfuse pour la souveraineté des données (self-host sur Scaleway). LangSmith si vous voulez rester 100% cloud Langchain.
Docker-native, hébergement fr-par, RGPD et HDS disponible, facturation à la seconde. Préféré pour les clients avec contraintes de souveraineté (santé, finance, secteur public).
vs. AWS/GCP : Scaleway pour la souveraineté européenne et le coût. AWS pour les workloads à scaling extrême ou l'écosystème AWS existant.
App Router + Server Components : zéro JS client sur les pages SEO. Streaming RSC pour les interfaces avec latence LLM.
Server Components rendent le streaming de réponses LLM naturel sans useState ni useEffect. L'API Route Handler gère les webhooks entrants.
Stateful par défaut. Chaque agent maintient son état via LangGraph checkpointing. En cas de timeout ou d'erreur réseau, le pipeline reprend au dernier nœud stable, sans recommencer depuis le début. Critique sur les pipelines longs (> 2 min de traitement).
Fallbacks explicites. Chaque appel LLM a un timeout (défini), un nombre de retry (défini) et un chemin de fallback (défini). Si Sonnet timeout, on retente sur Haiku. Si Haiku timeout, on escalade vers un humain. Rien n'est implicite.
Modèle ≠ fournisseur. L'abstraction LangChain/LangGraph permet de swapper Claude pour GPT-4o ou Mistral sans toucher à la logique métier. On code contre des interfaces (system_message, invoke, stream), pas contre des SDKs propriétaires.
Coût maîtrisé. Le routing modèle est une décision d'architecture, pas un détail. Chaque nœud du graphe spécifie son modèle. Langfuse calcule le coût réel par run. Objectif : Haiku sur 60-70% des appels, Sonnet sur les 30-40% qui en ont besoin.