0 MIN DE LECTURE
0 MIN DE LECTURE

Human-in-the-loop pour agent IA : le guide pratique

Human-in-the-loop pour agent IA : quoi faire valider, et comment LangGraph, OpenAI Agents SDK, Claude Agent SDK et Auth0 gèrent les approbations.

Human-in-the-loop pour agent IA : quoi faire valider, et comment LangGraph, OpenAI Agents SDK, Claude Agent SDK et Auth0 gèrent les approbations.

Human-in-the-loop — Garder la main

Catégorie

Agents et automatisation

Date

Catégorie

Agents et automatisation

Date

Le human-in-the-loop consiste à laisser un agent IA avancer seul sur les actions à faible risque, puis à interrompre son exécution avant une décision sensible. L'humain peut approuver, modifier ou rejeter l'action proposée. Le bon système ne demande donc pas une validation à chaque étape. Il place des points de contrôle uniquement là où une erreur serait coûteuse, difficile à annuler ou visible par un tiers.

Cette architecture résout un faux dilemme. Tu n'as pas à choisir entre un chatbot passif qui demande la permission pour tout et un agent autonome qui peut envoyer, supprimer ou payer sans contrôle.

Tu peux construire une autonomie graduée : lecture libre, préparation autonome, écriture réversible, puis validation humaine avant l'irréversible.

Par Louis LAURENT · Publié le 7 août 2026 · Mis à jour le 12 octobre 2026 : comparatif LangChain, OpenAI Agents SDK, Claude Agent SDK et Auth0, nouvelles questions fréquentes

En bref. Le human-in-the-loop (HITL) met un agent IA en pause avant une action sensible, montre à un humain l'action exacte et ses paramètres, puis reprend le même travail après sa décision : approuver, modifier ou rejeter. En octobre 2026, les principaux outils le proposent nativement : le middleware de LangChain, needs_approval dans l'OpenAI Agents SDK, le callback canUseTool du Claude Agent SDK et l'autorisation asynchrone d'Auth0 pour valider depuis son téléphone. La règle de base : validation obligatoire avant tout envoi externe, publication, paiement, suppression ou déploiement.

Ce que human-in-the-loop veut dire

Un agent exécute une boucle : il observe, raisonne, choisit un outil, lit le résultat et continue. Le human-in-the-loop ajoute une condition avant certains outils.

Quand la condition est déclenchée, l'agent ne lance pas l'action. Il crée une demande structurée qui contient :

  • l'action prévue

  • les paramètres exacts

  • la raison de l'action

  • le risque ou l'effet attendu

  • les décisions autorisées

  • l'état nécessaire pour reprendre

L'humain répond ensuite par une décision. Les trois décisions minimales sont l'approbation, la modification et le rejet.

La documentation Human-in-the-Loop de LangChain décrit exactement ce cycle. Le middleware inspecte les appels d'outils avant leur exécution, interrompt ceux qui correspondent à une politique, sauvegarde l'état du graphe, puis reprend après la décision humaine.

Le framework compte moins que la mécanique : pause durable, décision structurée et reprise du même travail.

Pourquoi demander une validation partout ne fonctionne pas

Un agent qui interrompt l'utilisateur après chaque lecture, recherche ou calcul ne fait pas gagner du temps. Il transforme l'humain en opérateur de clics.

Trois problèmes apparaissent.

La fatigue d'approbation

Quand dix demandes sans risque sont mélangées à une demande critique, l'utilisateur finit par tout accepter machinalement. La validation existe encore dans l'interface, mais plus dans l'attention.

Le travail se bloque

Une tâche de vingt minutes peut attendre plusieurs heures parce qu'une permission triviale n'a pas été donnée. Les agents asynchrones perdent leur intérêt.

Le risque reste mal classé

Une action sensible peut être présentée avec le même bouton qu'une lecture de fichier. L'interface ne montre ni l'impact ni la possibilité de retour arrière.

Le but est donc la qualité des décisions humaines : moins d'approbations, mieux placées.

La matrice de risque à quatre niveaux

Classe chaque outil selon son effet réel.

Niveau 0 : lecture

Exemples : lire un document autorisé, lister des fichiers, consulter une page publique, calculer un total.

Ces actions peuvent généralement s'exécuter sans interruption dans un périmètre défini. Elles doivent quand même respecter les accès et la confidentialité.

Niveau 1 : préparation réversible

Exemples : créer un brouillon, écrire dans un dossier de travail, produire un rapport séparé, modifier une branche isolée.

L'agent peut avancer seul si la sortie est clairement marquée et facile à annuler. La preuve de résultat reste obligatoire.

Niveau 2 : modification partagée

Exemples : mettre à jour un CRM, modifier une base interne, pousser une branche, changer le statut d'un ticket, créer un accès temporaire.

Ces actions demandent souvent une politique conditionnelle. Une mise à jour ordinaire peut être automatique, tandis qu'un changement de propriétaire, de montant ou de permission déclenche une revue.

Niveau 3 : action externe ou irréversible

Exemples : envoyer un email, publier un post, supprimer des données, transférer de l'argent, signer, ouvrir un checkout, déployer en production.

Ces actions doivent rester derrière une validation explicite tant que le système n'a pas une autorisation étroite, documentée et testée.

Cette matrice prolonge le principe expliqué dans pourquoi un agent ne doit pas être autonome partout. Ici, on le transforme en règle d'exécution.

Les quatre décisions utiles

Approuver

L'action part avec ses paramètres d'origine.

Modifier

L'humain corrige un argument avant exécution : destinataire, montant, date, texte ou ressource visée.

La modification doit rester bornée. Si elle change complètement la mission, il vaut mieux rejeter puis relancer avec un nouveau brief.

Rejeter

L'action ne s'exécute pas. Le motif du rejet retourne dans le contexte pour que l'agent adapte son plan.

Répondre

Dans certains workflows, l'agent a besoin d'une information plutôt que d'une autorisation. L'humain peut fournir la valeur attendue et la boucle reprend.

La documentation frontend de LangChain ajoute cette décision respond aux trois choix classiques. Elle est utile pour une donnée manquante, mais ne doit pas remplacer un formulaire ou une source officielle quand la mission exige une preuve.

Construire une interruption exploitable

Une mauvaise demande dit : "L'agent veut utiliser un outil. Autoriser ?"

Une bonne demande dit :

Envoyer le brouillon "Compte rendu du 7 août" à finance@entreprise.fr depuis operations@entreprise.fr. Cette action contacte un tiers et ne peut pas être retirée de sa boîte mail. Options : approuver, modifier le destinataire ou rejeter avec un commentaire.

La carte d'approbation doit montrer :

  • un verbe clair

  • la cible exacte

  • les paramètres qui changent l'impact

  • la source du contenu

  • le niveau de risque

  • ce qui se passe après l'accord

  • le moyen d'annuler si disponible

Ne cache pas les arguments dans un menu technique. L'utilisateur doit comprendre l'action sans lire un log.

Comment les principaux outils gèrent le human-in-the-loop en octobre 2026

Les frameworks d'agents ont convergé vers le même modèle : l'appel d'outil s'arrête, la décision est structurée, l'état est sauvegardé et l'exécution reprend au même endroit. Voici ce que dit la documentation de chacun.

Outil

Comment déclencher la pause

Décisions possibles

Reprise

LangChain / LangGraph

Middleware human-in-the-loop qui inspecte les appels d'outils selon une politique

Approuver, modifier, rejeter ; répondre côté frontend

Checkpointer et même thread_id

OpenAI Agents SDK

needs_approval (Python) ou needsApproval (JS) sur l'outil, à True ou en fonction qui décide appel par appel

state.approve() ou state.reject(), avec option « toujours » pour le reste du run

RunState sérialisable, reprise du même run même dans un autre processus

Claude Agent SDK

Modes de permission, règles allow / ask / deny, puis callback canUseTool pour le reste

Autoriser (avec une entrée modifiée si besoin) ou refuser avec un message que Claude lit

Pause tant que le callback n'a pas répondu ; un hook PreToolUse peut différer la décision

Auth0 for AI Agents

Outil enveloppé par l'autorisation asynchrone (protocole CIBA, détails riches via RAR)

Approuver ou refuser sur un autre appareil : notification Guardian ou email

L'agent interroge Auth0 jusqu'à la réponse ; la demande expire après 300 s par défaut, 72 h au maximum

Pour choisir un agent prêt à l'emploi plutôt qu'un framework, notre comparatif des meilleurs agents IA d'octobre 2026 indique lesquels demandent une validation avant d'agir. Si tu construis sur OpenAI sans coder, lis notre guide d'Agent Builder.

Auth0 prend-il en charge les approbations human-in-the-loop ?

Oui. Auth0 for AI Agents propose une « autorisation asynchrone » pensée pour ce cas. L'agent envoie une demande à Auth0 avec l'identifiant de l'utilisateur et un message de contexte (64 caractères au maximum), par exemple « acheter 3 actions ACME ». L'utilisateur reçoit une notification push Guardian, ou un email si ce canal est activé, et approuve ou refuse sur son téléphone. Si c'est approuvé, l'agent obtient un jeton d'accès pour cette demande et exécute l'action ; sinon, l'outil ne s'exécute pas. Le SDK Auth0 AI s'intègre à LangChain, LlamaIndex et au Vercel AI SDK.

Le workflow technique minimal

1. L'agent propose l'appel d'outil

Le modèle produit un nom d'action et des arguments structurés.

2. La politique classe l'action

Le moteur compare le nom de l'outil, ses arguments, le contexte et l'utilisateur avec la matrice de risque.

3. Le système sauvegarde l'état

Le fil, les messages, les résultats intermédiaires et l'action proposée sont stockés dans un checkpoint durable.

4. L'interruption est envoyée

L'interface affiche la demande. Une notification peut signaler qu'une décision est attendue, sans exposer de données sensibles.

5. L'humain décide

La réponse contient une décision structurée, pas seulement un texte libre.

6. Le système reprend le même fil

La reprise doit utiliser le même identifiant de thread et le checkpoint correspondant. Sinon, l'agent peut perdre les résultats, répéter une action ou reconstruire un plan différent.

7. L'effet est vérifié

Après l'exécution, l'agent contrôle le résultat observable : message envoyé, ligne mise à jour, fichier présent, statut modifié ou déploiement visible.

LangGraph exige justement un checkpointer et le même thread_id pour reprendre correctement après une interruption. Cette exigence technique révèle une règle générale : une approbation sans état durable n'est pas un vrai workflow.

Cas d'usage 1 : envoyer un email

L'agent peut lire les sources autorisées, préparer le brouillon et vérifier les pièces jointes sans interrompre.

Il s'arrête avant l'envoi et montre :

  • le destinataire

  • l'objet

  • le corps final

  • les pièces jointes

  • le compte expéditeur

L'utilisateur peut approuver, corriger le destinataire ou rejeter. Après envoi, l'agent récupère l'identifiant du message et l'ajoute au suivi.

Ne demande pas une approbation pour chaque phrase du brouillon. Demande-la au moment où le texte quitte l'espace de travail.

Cas d'usage 2 : mettre à jour une base

Une lecture et un calcul peuvent être libres. Une mise à jour doit être classée selon son impact.

Exemple de politique :

  • ajouter une note interne : automatique

  • modifier un champ descriptif : automatique avec journal

  • changer un propriétaire : approbation

  • modifier un montant : approbation

  • supprimer une ligne : approbation sans option d'édition

La validation porte sur le diff, pas sur une description vague. Montre l'ancienne valeur, la nouvelle et la clé de l'enregistrement.

Cas d'usage 3 : publier du contenu

L'agent peut rechercher, rédiger, vérifier les sources et préparer les visuels. Il s'arrête avant publication.

La carte doit afficher le compte, le texte exact, le média, la date et le lien éventuel. Une modification humaine doit revenir dans le draft enregistré, sinon le contenu public et l'archive divergent.

Cette règle protège la réputation. Elle permet aussi de conserver une vraie voix humaine, au lieu de publier un texte que personne n'a relu.

Cas d'usage 4 : exécuter du code

Toutes les commandes ne présentent pas le même risque.

Lire les tests ou lancer un linter dans une sandbox est faible risque. Installer une dépendance, modifier le réseau, accéder aux secrets ou déployer demande un contrôle supérieur.

Le self-hosted runner de Claude Code illustre ce besoin. L'exécution peut rester sur ton infrastructure tout en exigeant une validation avant les actions qui touchent la production.

Cas d'usage 5 : transaction financière

Une transaction ne devrait jamais être cachée derrière un bouton générique.

Montre le montant, la devise, le bénéficiaire, la source des coordonnées, le motif, les frais et la date. Interdis l'édition libre du bénéficiaire si elle contourne un contrôle interne. Après approbation, exige une authentification adaptée au niveau de risque.

Le human-in-the-loop ne remplace pas les contrôles bancaires. Il organise le moment où l'agent remet la décision à la personne autorisée.

Les erreurs fréquentes

Interrompre sur le nom de l'outil seulement

Une requête SQL en lecture et un DELETE n'ont pas le même risque. La politique doit inspecter les arguments ou séparer les outils.

Oublier la persistance

Si l'état vit seulement en mémoire, un redémarrage détruit le contexte de la demande. Utilise un stockage durable en production.

Reprendre sans identifiant stable

Une réponse attachée au mauvais thread peut approuver une autre action. Lie la décision à l'interruption et à l'utilisateur autorisé.

Autoriser les doubles clics

Une approbation répétée ne doit pas exécuter deux fois la même action. Ajoute une clé d'idempotence et un statut consommé.

Cacher les effets secondaires

Une action nommée "mettre à jour le dossier" peut envoyer une notification ou déclencher un webhook. Liste les effets réels.

Ne pas prévoir l'expiration

Une demande ouverte pendant trois jours peut devenir invalide. Ajoute une durée, puis force un nouveau calcul des paramètres.

Mesurer seulement les approbations

Un taux d'approbation élevé ne prouve pas la qualité. Mesure aussi les modifications, rejets, erreurs évitées, délais et actions annulées.

La règle d'arrêt

Chaque workflow doit savoir quand ne pas demander une validation simple.

Arrête la mission et escalade si :

  • la cible ne peut pas être identifiée précisément

  • les données sources se contredisent

  • l'approbateur n'a pas l'autorité requise

  • le montant ou le périmètre dépasse la limite

  • une donnée sensible apparaît dans la demande

  • l'action a changé depuis la création de l'interruption

  • le retour arrière n'existe pas et l'impact est mal compris

Dans ces cas, un bouton "Approuver" donne une fausse sécurité.

Mesurer si ton human-in-the-loop est bien calibré

Suis cinq indicateurs.

Taux d'interruption

Quelle part des actions demande une intervention ? Un taux très élevé signale une autonomie trop faible ou des outils mal découpés.

Délai de décision

Combien de temps le travail attend-il ? Les interruptions doivent arriver au bon canal et contenir assez de contexte.

Taux de modification

Si presque toutes les actions sont modifiées, l'agent prépare mal ses paramètres. Si aucune ne l'est, l'interface ne permet peut-être pas une vraie revue.

Taux de rejet

Les rejets répétés par catégorie révèlent une règle manquante, une source peu fiable ou un outil trop puissant.

Incidents après approbation

Une action approuvée peut quand même être mauvaise. Conserve la preuve, l'utilisateur, les arguments et le résultat pour améliorer la politique.

Tu peux relier ces mesures à une méthode plus large pour évaluer un agent IA.

Plan de mise en place en une semaine

Jour 1 : inventaire des outils

Liste chaque outil, ses arguments et ses effets secondaires.

Jour 2 : classement du risque

Place les outils dans les quatre niveaux. Sépare les lectures et écritures si nécessaire.

Jour 3 : checkpoint durable

Ajoute l'identifiant de thread, l'état et la reprise après interruption.

Jour 4 : carte d'approbation

Affiche les paramètres critiques et les choix autorisés.

Jour 5 : idempotence et expiration

Empêche les doubles exécutions et invalide les demandes trop anciennes.

Jour 6 : tests hostiles

Teste un mauvais destinataire, une somme excessive, une action modifiée et une approbation rejouée.

Jour 7 : réduction des interruptions

Supprime les validations qui n'apportent aucune décision réelle. Garde l'attention humaine pour les actions qui la méritent.

FAQ

Human-in-the-loop signifie-t-il que l'agent n'est pas autonome ?

Non. L'agent peut exécuter toute la préparation et les actions à faible risque. L'humain intervient uniquement aux frontières définies.

Quelles actions doivent toujours demander une validation ?

Par défaut : envoi externe, publication, paiement, suppression définitive, changement de permission, signature et déploiement en production.

Peut-on modifier une action avant de l'approuver ?

Oui, si la politique autorise edit. Pour une modification majeure, rejette et relance plutôt que de déformer silencieusement le plan.

Pourquoi faut-il un checkpoint ?

Parce que l'interruption peut durer. Le système doit reprendre la même mission avec les mêmes résultats, sans répéter les actions précédentes.

Comment éviter la fatigue d'approbation ?

N'interromps que sur les actions qui changent réellement le risque. Regroupe les décisions compatibles et affiche leur effet de façon lisible.

Un humain peut-il quand même se tromper ?

Oui. La validation n'est pas une garantie. Elle doit être soutenue par des paramètres clairs, une preuve, des limites et un retour arrière.

Qu'est-ce que le human-in-the-loop en IA ?

C'est un mode de fonctionnement où un agent IA travaille seul jusqu'à une action sensible, puis attend la décision d'un humain avant de l'exécuter. L'humain voit l'action exacte, ses paramètres et son impact, et répond par une décision structurée.

Quel framework choisir pour ajouter une validation humaine ?

Celui que tu utilises déjà : LangChain, l'OpenAI Agents SDK et le Claude Agent SDK ont chacun leur mécanisme natif. Si l'approbation doit se faire sur le téléphone de l'utilisateur, hors de l'application, l'autorisation asynchrone d'Auth0 ajoute ce canal.

Sources

Avant de partir

Si cet article t'a donné envie de construire au lieu de juste lire : j'ai condensé le démarrage en un guide d'une soirée. Ton premier agent qui produit du travail réel, étape par étape, sans code. Gratuit, contre ton email. Tu recevras aussi Kryve Weekly quand elle sortira : le condensé hebdo de ce qui compte en IA, sans le bruit.

Recevoir le guide

Un email pour te l'envoyer. Pas de spam, désinscription en un clic.

FAQ

Les questions qu’on nous pose avant le call.

Aucun outil à changer. On construit dans ceux que ton équipe utilise déjà : ton drive, ta messagerie, ton CRM, tes outils de design et de prod.

Tu préfères en parler de vive voix ?

15 minutes avec Louis, à l’écran.

Les questions qu’on nous pose avant le call.

Aucun outil à changer. On construit dans ceux que ton équipe utilise déjà : ton drive, ta messagerie, ton CRM, tes outils de design et de prod.

Tu préfères en parler de vive voix ?

15 minutes avec Louis, à l’écran.

FAQ

Les questions qu’on nous pose avant le call.

Aucun outil à changer. On construit dans ceux que ton équipe utilise déjà : ton drive, ta messagerie, ton CRM, tes outils de design et de prod.

Tu préfères en parler de vive voix ?

15 minutes avec Louis, à l’écran.

kryve

Ta première tâche

Montre-nous la tâche qui te coûte le plus.

15 minutes avec Louis LAURENT. Tu repars avec ta première tâche identifiée, même si on ne bosse pas ensemble. Les agences qui passent AI native maintenant fixent la barre pour toutes les autres.

Pivoine blanche, en noir et blanc
kryve

Ta première tâche

Montre-nous la tâche qui te coûte le plus.

15 minutes avec Louis LAURENT. Tu repars avec ta première tâche identifiée, même si on ne bosse pas ensemble. Les agences qui passent AI native maintenant fixent la barre pour toutes les autres.

Pivoine blanche, en noir et blanc
kryve

Ta première tâche

Montre-nous la tâche qui te coûte le plus.

15 minutes avec Louis LAURENT. Tu repars avec ta première tâche identifiée, même si on ne bosse pas ensemble. Les agences qui passent AI native maintenant fixent la barre pour toutes les autres.

Pivoine blanche, en noir et blanc

Prêt à automatiser ce qui te freine le plus ?

Projection du ROI pour ta boîte

La stack qui te correspond

Le planning de mise en place

Je fais chaque diagnostic moi-même, pour être sûr qu’on peut t’apporter une vraie valeur.

Louis LAURENT

Fondateur · ex‑Head of Sales, ACA Agency · 1 M$+ signés en vente

Réserve ton diagnostic gratuit de 15 minutes avec Louis. On passe en revue tes tâches et on te montre exactement ce qui est possible.

Si ça ne tourne pas sur tes vrais projets, on continue sans te facturer un jour de plus

Prêt à automatiser ce qui te freine le plus ?

Projection du ROI pour ta boîte

La stack qui te correspond

Le planning de mise en place

Je fais chaque diagnostic moi-même, pour être sûr qu’on peut t’apporter une vraie valeur.

Louis LAURENT

Fondateur · ex‑Head of Sales, ACA Agency · 1 M$+ signés en vente

Réserve ton diagnostic gratuit de 15 minutes avec Louis. On passe en revue tes tâches et on te montre exactement ce qui est possible.

Si ça ne tourne pas sur tes vrais projets, on continue sans te facturer un jour de plus

Prêt à automatiser ce qui te freine le plus ?

Projection du ROI pour ta boîte

La stack qui te correspond

Le planning de mise en place

Je fais chaque diagnostic moi-même, pour être sûr qu’on peut t’apporter une vraie valeur.

Louis LAURENT

Fondateur · ex‑Head of Sales, ACA Agency · 1 M$+ signés en vente

Réserve ton diagnostic gratuit de 15 minutes avec Louis. On passe en revue tes tâches et on te montre exactement ce qui est possible.

Si ça ne tourne pas sur tes vrais projets, on continue sans te facturer un jour de plus