Traduit de l'anglais
EngineeringAugust 22, 202618 min

Construire un agent IA d'entreprise : guide complet

Découvrez l'agent IA 4 couches : Mémoire, Récupération (RAG/Graph), Outils & LangGraph. Stack, code et ordre de construction.

AI AgentsEnterprise AILangGraphRAGKnowledge GraphAgent OrchestrationVector DatabaseNeo4jQdrantLLM Reliability2026 AI ArchitectureRetrieval

By Hussain Nazary

Construire un agent IA d'entreprise : guide complet

TL;DR — Le Blueprint Agent d'Entreprise 2026 Un agent de démo est un prompt + outil de recherche. Un agent de production est 4 couches : Mémoire/État → Récupération (RAG / RAG Graph / Graphe de connaissances) → Outils (lecture vs écriture avec approbation humaine) → Orchestration (boucle LangGraph avec retry borné + évaluation). RAG, RAG Graph & Graphe de connaissances ne sont pas des produits séparés — ce sont trois outils de récupération à l'intérieur d'un seul agent, routés par question. Ordre de construction : RAG simple → boucle RAG Graph → Graphe de connaissances (uniquement pour questions de relations) → actions avec garde-fou → évaluation/observabilité — pas d'autonomie totale dès le premier jour. Stack 2026 : LangGraph + Qdrant/Weaviate/pgvector + BGE-M3 + Neo4j + LangMem/Graphiti. Définition rapide (pour Featured Snippet) Un agent IA d'entreprise est une boucle de raisonnement (Penser → Agir via outils → Observer → Décider) construite sur 4 couches : 1) Mémoire & État (AgentState), 2) Récupération (RAG / RAG Graph / Graphe de connaissances), 3) Outils (schémas typés, actions d'écriture nécessitent approbation humaine), 4) Orchestration (LangGraph graphe d'état avec MAX_ITERATIONS + point de contrôle est-ce vraiment terminé ?). Préparation entreprise = résidence des données + évaluation + observabilité + coût — conçus dès le premier jour.

Pourquoi c'est important en 2026 : La récupération est la défaillance n°1 des agents — pas le LLM. Les équipes qui livrent un « modèle plus gros » au lieu d'une meilleure architecture de récupération livrent des agents fragiles. Ce guide vivant (dernière revue août 2026) connecte nos deep-dives RAG Graph et Graphe de connaissances en un seul système zéro-à-entreprise avec squelette de code, stack open-source GitHub par couche et ordre de construction qui évite de payer pour une complexité que vous n'avez pas encore méritée.


Table des matières


Le premier « agent » de la plupart des gens est un chatbot avec un prompt système et accès à un outil de recherche. Il fonctionne en démo. Il s'effondre dès que quelqu'un lui demande quelque chose qui exige plus d'une étape, ou dès qu'il doit prendre une décision au lieu de simplement répondre à une question.

Un agent qui fonctionne vraiment — le genre auquel on peut faire confiance pour tourner à l'intérieur d'une entreprise, sur de vraies données, prenant de vraies décisions — est un système d'un genre entièrement différent. Ce guide en construit un à partir de zéro, en utilisant tout ce qu'un vrai déploiement d'entreprise nécessite réellement : pas seulement un LLM avec un prompt, mais de la mémoire, des outils, de la récupération, de la vérification et le jugement de savoir quand il ne sait pas quelque chose.

À la fin, les concepts RAG, RAG Graph et Graphe de connaissances que vous connaissez peut-être déjà ne sont plus trois systèmes séparés — ce sont trois outils à l'intérieur de la boîte à outils d'un seul agent, et vous saurez exactement quand l'agent doit tendre la main vers lequel. En bref : Un agent de production est quatre couches — mémoire/état, récupération, outils et orchestration — pas un prompt avec un outil de recherche attaché. RAG, RAG Graph et Graphe de connaissances vivent tous à l'intérieur de la couche de récupération, sélectionnés en fonction de la question posée, pas adoptés en bloc. Les actions d'écriture nécessitent une approbation humaine ; un point de contrôle explicite « est-ce vraiment terminé ? » empêche à la fois l'arrêt prématuré et les boucles infinies ; et la préparation entreprise (résidence des données, évaluation, observabilité, coût) doit être conçue dès le premier jour, pas rattrapée après un incident. Ce guide couvre l'architecture complète, un squelette de code fonctionnel, une stack open-source pour chaque couche et un ordre de construction qui évite d'ajouter de la complexité avant qu'elle ne soit méritée.

Dernière revue : août 2026. Ce guide est maintenu comme référence vivante — les principes d'architecture sont stables ; la section stack open-source (Partie 9) est la partie la plus susceptible de nécessiter des mises à jour à mesure que l'outillage évolue.


Partie 1 : Ce que « Agent » signifie réellement (Et ce qu'il ne signifie pas)

Avant de construire quoi que ce soit, il vaut d'être précis sur un mot utilisé de façon lâche.

Un chatbot avec un prompt système répond à des questions. Vous demandez, il répond, conversation terminée. Il n'a aucune mémoire des décisions, aucune capacité à entreprendre une action multi-étapes et aucun moyen de vérifier si sa propre réponse était réellement correcte.

Un agent fait quelque chose de significativement différent : il peut décider quoi faire, entreprendre des actions en utilisant des outils, observer les résultats de ces actions et décider quoi faire ensuite en fonction de ce qu'il vient d'apprendre — en boucle, jusqu'à ce que la tâche soit réellement terminée, pas seulement jusqu'à ce qu'il ait produit une réponse au son plausible.

Tâche
  ↓
Réfléchir : de quoi cela a-t-il besoin ?
  ↓
Agir : utiliser un outil
  ↓
Observer : qu'est-ce qui est revenu ?
  ↓
Réfléchir à nouveau : est-ce suffisant ?  ──Non──→ Agir à nouveau
  ↓ Oui
Répondre

Cette boucle — souvent appelée boucle de raisonnement ou, plus formellement, des patterns comme ReAct (Reason + Act) — est la définition réelle d'un agent. Tout le reste dans ce guide vise à rendre cette boucle fiable, sûre et suffisamment utile pour lui confier du vrai travail.

Pourquoi « niveau entreprise » change les exigences

Un projet d'agent de week-end doit fonctionner une fois, pour vous, en démo. Un agent d'entreprise doit :

  • Fonctionner correctement sur des questions jamais vues auparavant, pas seulement celles que vous avez testées.
  • Échouer de façon sûre et visible, au lieu de produire avec assurance une mauvaise réponse.
  • Respecter les frontières des données — qui peut voir quoi, et où les données sont autorisées à vivre.
  • Être débogable quand quelque chose tourne mal, des semaines après que cela a mal tourné.
  • Gérer le désordre du monde réel : informations incomplètes, requêtes ambiguës, sources contradictoires.

Chaque section ci-dessous est construite spécifiquement vers ces cinq exigences, pas seulement « un agent qui répond ».


Partie 2 : Les quatre couches dont tout vrai agent a besoin

Otez les choix technologiques spécifiques, et chaque agent de qualité production est construit à partir de quatre couches empilées les unes sur les autres.

┌─────────────────────────────────────┐
│   4. Orchestration (le workflow)    │
├─────────────────────────────────────┤
│   3. Outils (ce qu'il peut FAIRE)          │
├─────────────────────────────────────┤
│   2. Récupération (ce qu'il SAIT)       │
├─────────────────────────────────────┤
│   1. Mémoire & État (ce qu'il        │
│      RETIENT)                      │
└─────────────────────────────────────┘

Nous allons construire cela de bas en haut, car chaque couche dépend de celle en dessous.


Partie 3 : Couche 1 — Mémoire et État

Un agent sans mémoire re-dérive tout depuis zéro à chaque étape, ce qui est lent, coûteux et perd le fil de ce qu'il a déjà compris trois étapes plus tôt. Les vrais agents portent un état.

Deux types différents de mémoire, faciles à confondre

La mémoire à court terme (de travail) est l'état de la tâche en cours — ce qui a été demandé, ce qui a été essayé, ce qui a été trouvé jusqu'ici, ce qui manque encore. Cela ne vit que pendant la durée d'une tâche et disparaît quand elle est terminée.

La mémoire à long terme persiste à travers des sessions entièrement séparées — des faits que l'agent devrait retenir à propos d'un utilisateur, d'un projet ou d'une relation client, jours ou mois plus tard.

Au niveau du code, cela est généralement implémenté comme un objet d'état qui est passé entre chaque étape du workflow de l'agent et mis à jour au fur et à mesure :

AgentState:
  original_task: "..."
  steps_taken: [...]
  evidence_gathered: [...]
  tools_called: [...]
  current_confidence: "sufficient" | "insufficient"

Cet objet d'état est l'épine dorsale à laquelle tout le reste s'attache. Chaque appel d'outil lit depuis lui et y réécrit. Sans lui, un agent n'a aucun moyen de savoir qu'il a déjà essayé quelque chose, ou de construire sur une réponse partielle au lieu de recommencer.


Partie 4 : Couche 2 — Récupération (Ce que l'agent sait réellement)

C'est là où les deep-dives précédents sur RAG, RAG Graph et Graphes de connaissances cessent d'être des articles de blog séparés et commencent à être des composants parmi lesquels vous choisissez, en fonction du type de connaissance auquel votre agent doit accéder.

Tous les agents n'ont pas besoin des trois

C'est l'erreur la plus courante en conception d'agents : saisir l'architecture de récupération la plus sophistiquée disponible au lieu de celle dont la tâche réelle a besoin.

Si votre agent doit...Tournez-vous vers...
Répondre à des questions depuis un jeu de documents, un passage à la foisRAG simple
Répondre à des questions multi-parties ou comparatives à travers de nombreux documentsUn RAG Graph
Répondre à des questions de relations (« lesquels », « combien », « retracer la connexion »)Un graphe de connaissances, appelé comme outil
Tout ce qui précède, selon la questionUn RAG Graph qui peut appeler à la fois un store vectoriel et un graphe de connaissances
Deep Dives liés : Workflow RAG simple & RAG Graph (décomposition, validation des preuves, retry) → Au cœur d'un RAG Graph : comment les systèmes d'IA apprennent à vérifier leur propre travail · Parcours de relations & résolution d'entités → Graphes de connaissances expliqués : comment l'IA apprend à relier les points · Taxonomie complète → Stop Confusing RAG, RAG Graph, and Knowledge Graph

La couche de récupération n'est pas « l'agent ». C'est l'un des outils de l'agent — celui spécifiquement responsable de répondre « que sais-je réellement à ce sujet ». Tout ce qui vient des guides précédents — découpage, embeddings, résolution d'entités, validation des preuves — vit à l'intérieur de cette seule couche.

Outil de récupération de l'agent
        ↓
  Analyse de la question
        ↓
   ┌────┴────┐
   ↓         ↓
Recherche  Graphe de
vectorielle connaissances
   ↓         ↓
   └────┬────┘
        ↓
  Validation des preuves
        ↓
   Faits ancrés

Tout ce bloc — tout ce qui est couvert dans les guides RAG Graph et Graphe de connaissances précédents — est un seul appel d'outil du point de vue de l'agent. L'agent n'a pas besoin de savoir comment fonctionne la récupération en interne ; il a juste besoin de savoir qu'il peut poser une question à cet outil et récupérer des faits ancrés, ou un honnête « preuves insuffisantes trouvées ».


Partie 5 : Couche 3 — Outils (Ce que l'agent peut réellement faire)

La récupération répond aux questions. Les outils entreprennent des actions. Un agent d'entreprise qui ne peut que répondre à des questions reste juste une boîte de recherche plus intelligente. L'étape qui le transforme en quelque chose qui « travaille pour vous » est de lui donner la capacité de faire réellement des choses — envoyer un email, créer un ticket, interroger une base de données live, appeler une API interne, mettre à jour un enregistrement.

Concevoir des outils qu'un agent peut réellement bien utiliser

Chaque outil a besoin de trois choses clairement définies, sinon l'agent l'utilisera mal :

  • Une description précise d'exactement ce qu'il fait et quand l'utiliser — des descriptions vagues poussent l'agent à appeler le mauvais outil, ou le bon outil avec de mauvais inputs.
  • Un schéma d'entrée étroit et bien typé — l'agent ne devrait jamais avoir à deviner quel format un outil attend.
  • Une sortie prévisible et structurée — si un outil retourne parfois du texte et parfois du JSON et échoue parfois silencieusement, l'agent ne peut pas utiliser sa sortie de façon fiable à l'étape suivante.

La distinction critique : outils de lecture vs outils d'écriture

Cela compte énormément pour les déploiements d'entreprise spécifiquement :

  • Les outils de lecture/récupération (chercher dans une base de connaissances, chercher un enregistrement, vérifier un statut) sont généralement sûrs à laisser l'agent appeler librement — aucune conséquence réelle s'il en appelle un inutilement.
  • Les outils d'écriture/action (envoyer un email, supprimer un enregistrement, approuver une requête, dépenser de l'argent) ont besoin d'un point de contrôle humain dans la boucle avant exécution, surtout au début de la vie d'un déploiement. L'agent propose l'action ; un humain la confirme ; alors seulement il l'exécute.

L'agent décide : "Je devrais envoyer cet email"
        ↓
  Brouillon préparé, NON envoyé
        ↓
  Humain examine
        ↓
  ┌─────┴─────┐
  ↓           ↓
Approuver     Rejeter
  ↓           ↓
Envoyé      L'agent révise

Ce seul choix de conception est souvent la différence entre un agent auquel les équipes font réellement confiance en production et un qui est éteint après la première erreur embarrassante.


Partie 6 : Couche 4 — Orchestration (Le workflow réel)

C'est la couche qui lie la mémoire, la récupération et les outils ensemble dans la boucle de raisonnement de la Partie 1 — et c'est exactement la même catégorie de chose que le RAG Graph précédent, juste appliquée à une tâche plus large que « répondre à une question ». Elle est le plus couramment construite avec un framework de workflow basé sur graphe (LangGraph est le choix standard ici), car le comportement d'un vrai agent n'est pas une ligne droite — il branche, boucle et révise en fonction de ce qu'il apprend à chaque étape.

Tâche reçue
      ↓
Comprendre & Planifier
      ↓
   ┌──┴───────────────┐
   ↓                  ↓
Besoin d'info ?         Besoin d'action ?
   ↓                  ↓
Appeler récupération     Appeler un outil
   ↓                  ↓
   └────────┬─────────┘
            ↓
    Évaluer le progrès
            ↓
   Tâche réellement terminée ?
      /              Non            Oui
    ↓              ↓
  Boucler     Répondre

Pourquoi l'étape d'évaluation n'est pas optionnelle

Tout comme l'étape de validation des preuves dans un RAG Graph, un agent d'entreprise a besoin d'un point de contrôle explicite qui demande : la tâche est-elle réellement terminée, ou semble-t-elle simplement terminée ? Sans cela, les agents ont un mode de défaillance bien documenté de déclaration de succès prématurée — s'arrêtant après un résultat partiel parce que rien ne les a forcés à vérifier leur propre travail.

C'est aussi là que les retries bornés comptent. Un agent bloqué dans une boucle improductive, appelant le même outil avec des inputs légèrement différents pour toujours, est un mode de défaillance réel et courant. Chaque boucle a besoin d'un nombre maximal d'itérations et d'une solution de repli définie : si l'agent ne peut pas terminer la tâche après N tentatives, il devrait le dire clairement, plutôt que de boucler pour toujours ou de fabriquer un résultat pour échapper à la boucle.

À quoi cela ressemble en vrai code

Le diagramme ci-dessus correspond directement à une machine d'état LangGraph. C'est un squelette minimal — les vrais nœuds de production appelleraient vos fonctions réelles de récupération et d'outils, mais la forme ci-dessous est tout le pattern :

from typing import TypedDict, Literal
from langgraph.graph import StateGraph, END

class AgentState(TypedDict): task: str steps_taken: list evidence: list iterations: int done: bool

MAX_ITERATIONS = 5

def plan(state: AgentState) -> AgentState: # LLM décide : récupérer plus d'info, appeler un outil, ou répondre ... return state

def retrieve(state: AgentState) -> AgentState: # Appelle la couche de récupération (outil RAG / RAG Graph / Graphe de connaissances) ... return state

def call_tool(state: AgentState) -> AgentState: # Les actions d'écriture pausent ici pour approbation humaine avant exécution ... return state

def evaluate(state: AgentState) -> AgentState: # Le point de contrôle "est-ce vraiment terminé ?" ci-dessus state["iterations"] += 1 ... return state

def route_after_evaluate(state: AgentState) -> Literal["plan", "respond"]: if state["done"] or state["iterations"] >= MAX_ITERATIONS: return "respond" return "plan" # reboucle — borné par MAX_ITERATIONS

graph = StateGraph(AgentState) graph.add_node("plan", plan) graph.add_node("retrieve", retrieve) graph.add_node("call_tool", call_tool) graph.add_node("evaluate", evaluate) graph.add_node("respond", lambda s: s)

graph.set_entry_point("plan") graph.add_edge("plan", "retrieve") graph.add_edge("plan", "call_tool") graph.add_edge("retrieve", "evaluate") graph.add_edge("call_tool", "evaluate") graph.add_conditional_edges("evaluate", route_after_evaluate, { "plan": "plan", "respond": "respond", }) graph.add_edge("respond", END)

agent = graph.compile()

Lien de pattern : Ce squelette LangGraph reflète le workflow RAG Graph (validation + retry borné) — même pattern de graphe, boîte à outils plus large.

Les deux détails à ne pas sauter quand vous construisez la vraie version : MAX_ITERATIONS est ce qui transforme « boucler jusqu'à terminer » en « boucler jusqu'à terminer, ou jusqu'à être honnête sur le fait de ne pas avoir terminé » — n'expédiez jamais une boucle sans cela. Et call_tool est là où appartient le point de contrôle d'approbation humaine de la Partie 5 pour toute action d'écriture — dans LangGraph cela est typiquement implémenté avec une interruption qui met le graphe en pause et attend une confirmation externe avant que le nœud ne se termine.


Partie 7 : Assembler l'agent complet

Voici l'architecture complète, les quatre couches assemblées en un seul système :

                    ┌─────────────────────┐
                    │   Tâche entrante      │
                    └──────────┬───────────┘
                               ↓
                    ┌─────────────────────┐
                    │  ORCHESTRATION        │
                    │  (planifier, boucler, décider)  │
                    └──────────┬───────────┘
                               ↓
              ┌────────────────┼────────────────┐
              ↓                                  ↓
   ┌─────────────────────┐          ┌──────────────────────┐
   │   COUCHE RÉCUPÉRATION     │          │      COUCHE OUTILS       │
   │  ┌─────┐  ┌────────┐ │          │  Outils lecture (libres)     │
   │  │ RAG │  │Graphe de│ │          │  Outils écriture (nécessite    │
   │  │     │  │ connaissances│ │          │  approbation humaine)       │
   │  └─────┘  └────────┘ │          └──────────────────────┘
   └─────────────────────┘
              ↓                                  ↓
              └────────────────┬─────────────────┘
                               ↓
                    ┌─────────────────────┐
                    │  ÉTAT / MÉMOIRE       │
                    │  (suit tout            │
                    │   à travers toute      │
                    │   la tâche)                 │
                    └──────────┬───────────┘
                               ↓
                    ┌─────────────────────┐
                    │  Tâche terminée ?        │
                    │  Non → reboucler         │
                    │  Oui → répondre          │
                    └─────────────────────┘

Remarquez ce que ce diagramme montre réellement : le RAG Graph et le Graphe de connaissances des guides précédents ne sont pas tout le système — ils sont une boîte à l'intérieur d'une plus grande. L'agent est la couche d'orchestration autour d'eux, décidant quand la récupération est même le bon mouvement versus quand une action doit être entreprise à la place.


Partie 8 : Préoccupations spécifiques à l'entreprise que personne ne met dans les tutoriels

C'est là où la plupart des tutoriels d'agents s'arrêtent, et où la plupart des déploiements réels vivent ou meurent.

Résidence des données et où le traitement se produit

Pour les industries réglementées (juridique, santé, finance) ou toute organisation sous RGPD, chaque couche s'exécute compte autant que la qualité de son fonctionnement. Auto-héberger la couche de récupération — exécuter votre propre modèle d'embedding, votre propre base vectorielle, votre propre modèle d'extraction fine-tuné, votre propre instance Neo4j, sur une infrastructure que vous contrôlez — signifie que les données client ne quittent jamais votre périmètre à aucune étape. C'est une vraie décision architecturale, pas une réflexion après coup : elle détermine si vous pouvez même servir certains clients.

Évaluation — comment savez-vous que cela fonctionne réellement ?

Un agent qui « semble fonctionner » en test occasionnel et un agent qui a été correctement évalué sont à des niveaux de fiabilité très différents. Un vrai jeu d'évaluation signifie :

  • Une collection curated de tâches réalistes, avec des résultats corrects connus, contre laquelle l'agent est testé avant que chaque changement significatif ne soit expédié.
  • Suivre non seulement « a-t-il obtenu la bonne réponse » mais « a-t-il correctement identifié quand il n'avait pas assez d'information » — un agent qui ne dit jamais « je ne sais pas » n'est pas plus capable, il est moins honnête.
  • Rejouer ce jeu d'évaluation régulièrement, pas seulement une fois au lancement, puisque de petits changements à un prompt ou un outil peuvent silencieusement casser le comportement ailleurs.

Observabilité — que se passe-t-il quand cela tourne mal à 2h du matin

Voir : Setup complet tracing/évals/dérive dans LLM Observability in Production — la discipline qui attrape la dérive silencieuse de qualité où les dashboards restent verts.

Chaque transition d'état, chaque appel d'outil, chaque récupération et chaque point de décision doit être loggé d'une façon qu'un humain peut reconstruire après coup. C'est la différence entre « l'agent a fait une erreur et nous pouvons voir exactement pourquoi » et « l'agent a fait une erreur et nous n'avons aucune idée de ce qui s'est passé ». Un log en append-only et rejouable de chaque étape qu'un agent a entreprise sur une tâche donnée — pas seulement la réponse finale — n'est pas un nice-to-have à l'échelle entreprise ; c'est ce qui rend le système débogable du tout.

Coût, au volume d'usage réel

Un agent qui boucle, réessaie et appelle plusieurs outils par tâche peut accumuler bien plus d'appels LLM par requête utilisateur qu'un simple chatbot. Avant de déployer largement, mesurez réellement : combien d'appels LLM une tâche typique prend-elle, de bout en bout ? Que coûte cela au volume d'usage attendu ? C'est la même pensée débit-et-coût qui compte lors de la construction du pipeline d'extraction du graphe de connaissances — connaissez vos vrais chiffres avant de scaler, pas après.


Partie 9 : La stack open-source, mappée à chaque couche

Tout ce qui précède est de l'architecture. Cette section est la vraie boîte à outils — de vraies options open-source auto-hébergeables pour chacune des quatre couches, pour que cela cesse d'être théorique.

Couche d'orchestration

LangGraph est le choix standard pour exactement le workflow ramifié, bouclant et stateful décrit en Partie 6 — c'est un framework d'orchestration basé sur graphe construit spécifiquement pour ce pattern, pas un wrapper d'agent général. Alternatives à connaître : CrewAI (équipes multi-agents basées sur rôles, plus rapide à prototyper, moins de contrôle fin sur la logique de branchement) et AutoGen (framework de conversation multi-agent de Microsoft). Pour la plupart des workflows d'agent unique d'entreprise avec vrai branchement et logique de retry, LangGraph reste le plus adapté.

Couche de récupération — recherche vectorielle

Pour la recherche vectorielle auto-hébergée, Qdrant est un point de départ fort et opérationnellement efficace pour les déploiements auto-hébergés mono-nœud — un seul binaire, faible latence de requête et une API propre, ce qui explique pourquoi il apparaît à plusieurs reprises dans les déploiements sensibles à la conformité où les embeddings sont générés à l'intérieur d'un périmètre sécurisé avec un modèle déployé localement afin qu'aucune donnée ne quitte le bâtiment à aucune étape. Weaviate est l'alternative la plus forte si vous voulez une recherche hybride et des modules de reranking intégrés dans la base elle-même plutôt que comme services séparés, et Milvus vaut d'être considéré spécifiquement à l'échelle du milliard de vecteurs. Si vous exécutez déjà PostgreSQL, pgvector garde les embeddings dans la même base que le reste de vos données, troquant un peu de performance brute contre la cohérence transactionnelle et un système de moins à opérer.

Pour les embeddings, des modèles auto-hébergeables comme BGE-M3 ou nomic-embed-text tournent localement via Ollama ou sentence-transformers, évitant tout coût d'API par appel ou données quittant votre infrastructure — directement pertinent si la résidence des données est une exigence stricte.

Pour le reranking, BGE-reranker (poids ouverts, auto-hébergeable) est le choix standard open-source cross-encoder ; Cohere Rerank est l'option managée équivalente si l'auto-hébergement n'est pas requis.

Couche de récupération — construction du graphe de connaissances

C'est là où l'outillage a le plus mûri. Quelques options vraiment différentes, pas juste des marques concurrentes de la même idée :

  • Neo4j's GraphRAG ecosystem (le neo4j-graphrag-python package plus le LLM Knowledge Graph Builder) est le chemin first-party si vous êtes déjà engagé sur Neo4j comme base graphe — il gère le découpage, l'extraction entité/relation et le chargement en un pipeline, avec une UI de référence pour visualiser ce qui a été extrait.
  • LightRAG est une alternative plus légère qui découpe les documents, utilise un LLM pour extraire entités et relations, construit le graphe et combine parcours de graphe avec récupération vectorielle automatiquement. Notamment pour votre cas, il supporte des modèles open-source pour chaque étape, donc l'extraction peut tourner entièrement sur infrastructure locale pour garder les données sensibles on-premises, et en mars 2026 il supporte Neo4j, MongoDB, PostgreSQL et OpenSearch comme backends de stockage.
  • Microsoft GraphRAG est l'option plus lourde et plus académique — plus forte pour produire des résumés au niveau communauté sur de grands graphes, mais elle doit re-clusteriser tout le graphe quand de nouvelles données arrivent, ce qui compte si vous faites des mises à jour incrémentales fréquentes plutôt que des reconstructions complètes périodiques.

Pour la qualité d'extraction spécifiquement : un benchmarking indépendant sur le raisonnement spécifique au domaine a trouvé une vraie dispersion dans le coût et la qualité de construction à travers ces outils — LightRAG et GraphRAG ont tous deux montré des coûts élevés en tokens pour la construction du graphe par rapport à des méthodes comme HippoRAG ou G-Retriever, donc cela vaut de piloter sur un échantillon réel de vos documents avant de s'engager sur l'un à pleine échelle, exactement comme couvert en Partie 3 du guide Graphe de connaissances.

Couche mémoire

Cette catégorie s'est réellement séparée en outils distincts selon ce que « mémoire » doit signifier pour votre agent — à ne pas choisir par défaut celui dont on parle le plus, puisqu'ils résolvent des problèmes différents :

  • LangMem est le premier choix naturel si votre orchestration est déjà LangGraph — l'intégration est un SDK first-party plutôt qu'un plugin tiers, donc elle n'ajoute aucune nouvelle infrastructure ou relation fournisseur. Son trade-off est un vrai lock-in d'écosystème et un jeu de fonctionnalités plus étroit que les options standalone ci-dessous.
  • Mem0 est l'option standalone la plus largement adoptée, combinant stockage vecteur, graphe et clé-valeur avec extraction automatique de mémoire — une valeur par défaut raisonnable généraliste si vous voulez qu'un agent se souvienne des préférences utilisateur et des faits à travers les sessions sans raisonnement temporel profond.
  • Graphiti (construit par l'équipe Zep) est le bon choix spécifiquement quand les faits changent réellement au fil du temps et que cet historique compte — chaque arête porte un intervalle de validité, donc il gère correctement des faits comme le rôle d'une personne changeant d'une entreprise à une autre au fil du temps. C'est une capacité significativement différente des autres options, pas juste une variante de la même chose.
  • Cognee se positionne comme un moteur de mémoire plus modulaire et natif graphe — pipelines composables pour ingérer et interroger la mémoire, avec support pour plusieurs backends graphe. À évaluer si vous voulez plus de contrôle architectural sur la façon dont la mémoire est structurée plutôt qu'un schéma fixe.
  • Letta (anciennement MemGPT) est le plus adapté pour les agents de longue durée qui ont besoin d'un tiering de mémoire explicite à la OS — décider quoi reste dans le contexte actif versus ce qui est déplacé vers le stockage à plus long terme, plutôt que de traiter la mémoire comme un seul store plat.

Pour votre situation spécifique — auto-hébergé, orienté RGPD, déjà natif LangGraph — le point de départ pratique est LangMem pour la mémoire à court terme/de travail (puisqu'il est déjà natif de votre couche d'orchestration) plus Graphiti ou Cognee pour la mémoire à long terme si les cas d'usage de vos clients impliquent des faits qui changent au fil du temps (avenants de contrat, mises à jour de statut de dossier, relations client évolutives) — les deux sont entièrement open-source et auto-hébergeables sans dépendance cloud requise.

Une mise en garde honnête avant de choisir quoi que ce soit

Certains frameworks sont en open-core avec des fonctionnalités avancées — capacités de graphe de connaissances en particulier — derrière des paliers payants, donc vérifiez ce qui est réellement inclus dans la licence sous laquelle vous avez l'intention de vous auto-héberger avant de figer des décisions d'architecture sur un outil spécifique. C'est une vérification de cinq minutes qui vous évite une reconstruction plus tard.


Partie 10 : Un ordre de construction réaliste

Voici l'ordre qui fonctionne réellement, en allant d'un prototype fonctionnel à quelque chose de prêt pour l'entreprise, sans construire de complexité inutile trop tôt.

1. Commencez avec un seul outil et pas de boucle. Juste la récupération, RAG simple, répondant à des questions depuis les documents. Rendez cela réellement fiable avant d'ajouter quoi que ce soit d'autre. 2. Ajoutez la boucle de raisonnement, mais gardez-la aux outils en lecture seule. Laissez l'agent décider quand récupérer et s'il en a assez — c'est le pattern RAG Graph précédent, et il vaut d'être maîtrisé seul avant d'ajouter des outils d'action. 3. Ajoutez un graphe de connaissances comme outil de récupération (Neo4j + GraphRAG / LightRAG), seulement une fois que vous avez observé de vraies questions que la récupération simple ne peut structurellement pas répondre — voir blueprint de construction dans Graphes de connaissances expliqués — questions de relations, pas juste de recherche. 4. Ajoutez des outils d'écriture/action, avec garde-fou d'approbation humaine. Ne laissez pas l'agent entreprendre des actions conséquentes de façon autonome jusqu'à ce que vous ayez bâti une vraie confiance dans son jugement à travers les étapes précédentes. 5. Ajoutez évaluation et observabilité avant de scaler l'usage — pas après que quelque chose a mal tourné. C'est l'étape que la plupart des équipes sautent, et celle qui détermine si les problèmes sont attrapés tôt ou découverts par un client mécontent. 6. Alors seulement envisagez l'autonomie totale pour les actions d'écriture, et uniquement pour les catégories spécifiques et étroites d'action où le coût d'une erreur est réellement faible.


Partie 11 : Checklist pré-lancement

Une checklist condensée et pratique — utilisez-la pour auditer un agent avant qu'il ne soit présenté à de vrais utilisateurs, pas juste comme résumé de lecture.

Architecture

  • [ ] Chaque outil a une description précise, un schéma d'entrée typé étroit et une sortie structurée prévisible.
  • [ ] Les outils de lecture et d'écriture sont explicitement séparés dans le code, pas seulement dans la documentation.
  • [ ] Chaque outil d'écriture/action nécessite une approbation humaine avant exécution.
  • [ ] La boucle d'orchestration a un nombre maximal d'itérations dur avec une réponse de repli honnête définie.
  • [ ] Il existe un nœud explicite « cette tâche est-elle réellement terminée ? » — l'agent ne traite jamais « a produit une sortie » comme équivalent à « a résolu la tâche ».

Récupération

  • [ ] Vous avez confirmé quel(s) outil(s) de récupération — recherche vectorielle, graphe de connaissances, ou les deux — correspondent réellement aux vraies questions de vos utilisateurs, sur la base de l'usage observé, pas d'une supposition.
  • [ ] La validation des preuves existe comme étape distincte avant génération ; l'agent peut dire « pas assez d'information » au lieu de toujours répondre.
  • [ ] Si vous utilisez un graphe de connaissances, la résolution d'entités a été testée sur un échantillon réel de vos données, pas seulement l'étape d'extraction.

Préparation entreprise

  • [ ] Vous savez exactement où vivent les données de chaque couche, et si cela satisfait votre exigence réelle de conformité (pas juste « auto-hébergé semble conforme »).
  • [ ] Un vrai jeu d'évaluation existe — tâches réalistes avec résultats corrects connus — et est rejoué avant que chaque changement significatif ne soit expédié.
  • [ ] Chaque transition d'état, appel d'outil et récupération est loggé de façon à ce qu'un humain puisse reconstruire après coup, des semaines plus tard.
  • [ ] Vous avez mesuré les vrais appels LLM-par-tâche et projeté le coût réel au volume d'usage attendu — pas estimé.
  • [ ] Les licences ont été vérifiées pour chaque framework dans votre stack, surtout l'outillage mémoire et graphe où les fonctionnalités avancées sont parfois paywalled même dans des projets « open-source ».


Glossaire

Agent — Un système qui décide quoi faire, entreprend des actions via des outils, observe les résultats et décide quoi faire ensuite en boucle, plutôt que de produire une réponse à une entrée.

Couche d'orchestration — La logique de workflow (couramment construite dans LangGraph) qui régit branchements, boucles et retries à travers la tâche d'un agent.

Couche de récupération — La partie d'un agent responsable de répondre « que sais-je réellement à ce sujet », typiquement composée de RAG, d'un RAG Graph et/ou d'un graphe de connaissances.

RAG (Retrieval-Augmented Generation) — Récupérer du texte pertinent via recherche par similarité et le donner à un modèle de langage pour qu'il réponde à partir de là, en une seule passe linéaire.

RAG Graph — Une couche de workflow LangGraph enveloppée autour des composants RAG qui ajoute décomposition, récupération parallèle, validation des preuves et retries — améliorant la fiabilité sur les questions multi-parties sans améliorer les embeddings, reranking ou génération sous-jacents.

Graphe de connaissances — Un data store Neo4j d'entités (nœuds) et de relations explicites et typées (arêtes) entre elles, interrogé par parcours plutôt que par similarité.

Résolution d'entités — Le processus de reconnaissance que différentes mentions (« Affaire A », « Affaire n° A-2019 ») se réfèrent à la même entité du monde réel, afin que les faits à son sujet provenant de différents documents se connectent en un seul nœud au lieu de rester déconnectés.

Validation des preuves — Un point de contrôle explicite qui juge si l'information récupérée suffit réellement à répondre à une question, avant que la génération ne procède.

Humain dans la boucle — Un pattern de conception où un agent propose une action mais un humain doit l'approuver avant qu'elle ne s'exécute, utilisé pour toute action avec conséquences réelles.

Mémoire de travail (court terme) — État qui ne persiste que pendant la durée d'une tâche : ce qui a été essayé, ce qui a été trouvé, ce qui manque encore.

Mémoire à long terme — État qui persiste à travers des sessions séparées — faits à propos d'un utilisateur, projet ou relation mémorisés jours ou mois plus tard.


Sources & Lectures complémentaires

Ce guide s'appuie sur la documentation d'outillage actuelle et le benchmarking indépendant d'août 2026 :

  • LightRAG overview — RAG léger basé sur graphe avec support de modèles open-source dans tout son pipeline
  • GraphRAG-Bench — benchmark comparant coût et qualité de construction de graphe à travers GraphRAG, LightRAG, HippoRAG et autres méthodes

Pièces compagnes dans cette série : Stop Confusing RAG, RAG Graph, and Knowledge Graph (comparaison d'architecture), Au cœur d'un RAG Graph : comment les systèmes d'IA apprennent à vérifier leur propre travail, et Graphes de connaissances expliqués : comment l'IA apprend à relier les points.


Points clés

  • Un agent est défini par une boucle — penser, agir, observer, décider à nouveau — pas par le fait d'avoir un LLM qui répond à des questions avec un prompt système.
  • Chaque vrai agent est construit à partir de quatre couches : mémoire/état, récupération, outils et orchestration — et les concepts RAG, RAG Graph et Graphe de connaissances vivent tous à l'intérieur de la couche de récupération, pas comme tout le système.
  • Les outils de lecture peuvent généralement être appelés librement ; les outils d'écriture qui entreprennent une action réelle ont besoin d'un point de contrôle humain dans la boucle, surtout tôt dans le déploiement.
  • Un point de contrôle explicite « cette tâche est-elle réellement terminée ? », avec retries bornés, est ce qui empêche un agent soit d'abandonner trop tôt soit de boucler pour toujours.
  • La préparation entreprise n'est pas une fonctionnalité que vous ajoutez à la fin — résidence des données, évaluation, observabilité et coût doivent être conçus dès le début, pas boulonnés après que quelque chose casse.
  • Construisez dans l'ordre : récupération d'abord, puis boucle de raisonnement, puis graphe de connaissances si vous avez réellement besoin de requêtes de relations, puis actions avec garde-fou, puis évaluation et observabilité — avant, pas après, scaler l'usage.

Vous souhaitez implémenter cela dans votre organisation ?

Nous aidons les équipes à déployer des systèmes IA prêts pour la production. Partagez vos besoins et nous discuterons de la meilleure approche pour votre cas d'utilisation.

Discuter de votre projet
FAQ

Questions fréquemment posées

Réponses rapides aux questions courantes sur ce sujet.

Qu'est-ce qui définit réellement un agent IA par rapport à un chatbot avec un prompt système ?

Un chatbot répond à une question par tour. Un agent exécute une boucle de raisonnement : Réfléchir (de quoi a-t-on besoin ?) → Agir via des outils → Observer les résultats → Décider à nouveau — jusqu'à ce que la tâche soit réellement terminée, pas seulement jusqu'à avoir produit du texte. Tout agent fiable a besoin de mémoire/état, de récupération, d'outils et d'orchestration (typiquement LangGraph) — pas seulement d'un prompt + outil de recherche. Voir nos deep-dives RAG Graph et Graphe de connaissances pour la couche de récupération.

Quelles sont les 4 couches dont tout agent d'entreprise a besoin ?

1) Mémoire & État — AgentState suit la tâche, les étapes, les preuves, la confiance au fil de la tâche et éventuellement une mémoire long terme. 2) Récupération — ce qu'il Sait : RAG simple pour les recherches ponctuelles, RAG Graph (LangGraph : décomposition + validation + retry) pour les questions multi-parties, Graphe de connaissances (Neo4j) pour les questions de relations. 3) Outils — schémas typés étroits ; les outils de lecture sont libres, les outils d'écriture nécessitent une approbation humaine. 4) Orchestration — graphe d'état LangGraph avec MAX_ITERATIONS borné + point de contrôle « est-ce vraiment terminé ? ». Tous les premiers guides vivent dans la couche 2.

Quand un agent utilise-t-il RAG vs RAG Graph vs Graphe de connaissances ?

Routage par question : recherche d'un seul passage → RAG simple (Qdrant/Weaviate/pgvector + BGE-M3 + reranker). Questions multi-parties/comparatives sur de nombreux documents → RAG Graph (décomposition LangGraph, récupération parallèle, validation des preuves, retry) — voir Au cœur d'un RAG Graph. Questions de relations (lesquels/combien/retracer) → parcours de graphe de connaissances (Neo4j/Cypher, la résolution d'entités est la partie difficile) — voir Graphes de connaissances expliqués. Mixte → RAG Graph qui appelle vecteur + graphe en parallèle. N'adoptez pas les trois en bloc.

Pourquoi chaque agent a-t-il besoin d'un point de contrôle « est-ce vraiment terminé ? » et d'un MAX_ITERATIONS ?

Sans étape d'évaluation explicite, les agents s'arrêtent trop tôt sur des résultats partiels ou bouclent indéfiniment en appelant le même outil avec de légères variations — deux échecs majeurs en production. Le point de contrôle demande : la tâche est-elle réellement terminée de façon ancrée ou simplement plausible ? MAX_ITERATIONS (ex. 5) transforme « boucler jusqu'à finir » en « boucler jusqu'à finir ou échouer honnêtement », empêchant les boucles infinies et forçant un « preuves insuffisantes » au lieu d'halluciner. LangGraph l'implémente comme une arête conditionnelle après evaluate.

Quelle stack open-source construit chaque couche en 2026 (avec GitHub) ?

Orchestration : LangGraph (github.com/langchain-ai/langgraph), alternatives CrewAI (crewAIInc/crewAI), AutoGen (microsoft/autogen). Recherche vectorielle : Qdrant (qdrant/qdrant), Weaviate (weaviate/weaviate), Milvus (milvus-io/milvus), pgvector (pgvector/pgvector). Embeddings : BGE-M3 (FlagOpen/FlagEmbedding) via Ollama/sentence-transformers ; reranker BGE-reranker. Graphe de connaissances : Neo4j + neo4j-graphrag-python, LightRAG (HKUDS/LightRAG), Microsoft GraphRAG (microsoft/graphrag). Mémoire : LangMem (langchain-ai/langmem), Mem0 (mem0ai/mem0), Graphiti (getzep/graphiti), Cognee (topoteretes/cognee), Letta (letta-ai/letta). Tous les liens dans la Partie 9.

Comment empêcher les données client de quitter votre périmètre (RGPD, résidence des données) ?

Auto-hébergez la couche de récupération : votre propre modèle d'embedding (BGE-M3 local), votre propre base vectorielle (Qdrant), votre propre extraction (LightRAG/GraphRAG avec LLM locaux), votre propre Neo4j — sur une infrastructure que vous contrôlez. Où chaque couche s'exécute est une décision d'architecture, pas une réflexion après coup. Nos bases vectorielles sont choisies parce que les embeddings sont générés à l'intérieur du périmètre sécurisé afin qu'aucune donnée ne quitte le bâtiment à aucune étape. Vérifiez les licences : certains frameworks mémoire/graphe sont en open-core avec des paliers payants.

Quel est l'ordre de construction réaliste qui évite le sur-dimensionnement ?

1) Un seul outil + pas de boucle : RAG simple répondant depuis les docs. 2) Ajouter la boucle de raisonnement (outils en lecture seule) — le pattern RAG Graph. 3) Ajouter le graphe de connaissances uniquement quand les logs montrent des échecs sur les questions de relations. 4) Ajouter les outils d'écriture avec approbation humaine. 5) Ajouter l'évaluation (tâches étalon + métrique « je ne sais pas ») et l'observabilité (journal rejouable en append-only) avant de scaler. 6) Alors seulement envisager l'autonomie pour les actions d'écriture à faible risque. Cet ordre est la Partie 10 du guide.

Comment évaluer et observer un agent d'entreprise avant de scaler ?

Évaluation : tâches curated avec résultats corrects connus, suivre non seulement l'exactitude mais l'honnêteté (a-t-il dit « preuves insuffisantes » quand il le fallait), rejouer avant chaque changement. Observabilité : logger chaque transition d'état, appel d'outil, récupération et décision — rejouable des semaines plus tard. Coût : mesurer les appels LLM par tâche de bout en bout au volume attendu. Voir LLM Observability in Production pour le setup tracing/évals/dérive qui détecte les demi-réponses silencieuses que les dashboards ratent.

Next

Continue exploring