OpenAI et Anthropic : l'avenir des agents LLM avec supervision humaine
Le brief IA que les pros lisent chaque soir
Les 7 actus IA du jour, décryptées en 5 min. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
Introduction aux agents LLM et à l'intervention humaine
Les modèles de langage avancés, tels que GPT-5.4 développé par OpenAI et Opus 4.6 d'Anthropic, ont prouvé leur efficacité dans la gestion de tâches agentiques complexes et prolongées. Ces modèles sont de plus en plus intégrés dans des environnements personnels et professionnels, où ils sont utilisés pour des tâches variées allant de l'analyse financière à la création d'applications, en passant par des recherches approfondies.
Ces agents, qu'ils soient intégrés dans des systèmes hautement autonomes ou dans des flux de travail prédéfinis, sont capables de mener à bien des tâches en plusieurs étapes. Ils utilisent divers outils pour atteindre leurs objectifs, tout en nécessitant une supervision humaine réduite. Cependant, cette supervision, bien que minimale, est indispensable. En effet, en raison de la nature probabiliste des modèles de langage, des erreurs peuvent survenir et se propager au sein du flux de travail, surtout lorsque de nombreux composants agentiques sont enchaînés.
Exemple de flux de travail
Prenons l'exemple d'un flux de travail conçu pour générer du contenu destiné aux réseaux sociaux. Voici comment il fonctionne :
- L'utilisateur entre un sujet d'intérêt, tel que "dernières nouvelles sur Anthropic".
- Un nœud de recherche web utilise l'outil Tavily pour trouver des articles en ligne correspondant au sujet.
- Le meilleur résultat de recherche est sélectionné et transmis à un modèle de langage dans le nœud de création de contenu, qui génère un post pour les réseaux sociaux.
- Dans le nœud de révision, deux points de contrôle permettent une intervention humaine :
- Le contenu généré est présenté pour approbation, rejet ou modification par un humain.
- Après approbation, le flux de travail active l'outil API de Bluesky et demande une confirmation finale avant publication.
Concepts clés
Le concept central de la configuration HITL (Human-In-The-Loop) dans LangGraph repose sur les interruptions. Ces interruptions, mises en œuvre via interrupt() et Command dans LangGraph, permettent de suspendre l'exécution du flux à des moments précis pour afficher des informations à l'utilisateur et attendre son retour avant de poursuivre.
Commandest un objet polyvalent qui permet de mettre à jour l'état du graphique (update), de spécifier le prochain nœud à exécuter (goto), ou de capturer la valeur nécessaire pour reprendre l'exécution (resume).
Voici comment cela fonctionne :
- Lorsqu'une fonction
interrupt()est atteinte, l'exécution est suspendue et les informations pertinentes sont présentées à l'utilisateur. - Après la réponse de l'utilisateur, les valeurs de réponse sont transmises au graphique pour reprendre l'exécution.
- La valeur de réponse dans
resumeest renvoyée dans la variabledecision, que le nœud utilisera pour la suite de l'exécution.
Les interruptions sont dynamiques et peuvent être placées n'importe où dans le code, contrairement aux points d'arrêt statiques, qui sont fixes.
Code Walkthrough
Configuration initiale
Pour commencer, nous installons les dépendances nécessaires et générons des clés API pour Bluesky, OpenAI, LangChain, LangGraph, et Tavily.
# requirements.txt
langchain-openai>=1.1.9
langgraph>=1.0.8
langgraph-checkpoint-sqlite>=3.0.3
tavily-python>=0.7.21
export OPENAI_API_KEY=your_openai_api_key
export TAVILY_API_KEY=your_tavily_api_key
export BLUESKY_HANDLE=yourname.bsky.social
export BLUESKY_APP_PASSWORD=your_bluesky_app_password
Définir l'état
Nous configurons l'état, qui est l'objet de données structuré partagé servant de mémoire centrale au graphique. Il inclut des champs qui capturent des informations clés, comme le contenu du post et le statut d'approbation.
Interruption au niveau du nœud
Les interruptions peuvent se produire au niveau du nœud ou au sein des appels d'outils. Le nœud de révision humaine est configuré pour mettre en pause l'exécution et présenter le contenu préliminaire à l'utilisateur pour révision.
Interruption au niveau de l'outil
Les interruptions peuvent également être définies au niveau de l'appel d'outil. Cela est démontré dans le prochain point de contrôle de révision humaine dans le nœud d'approbation avant que le contenu ne soit publié en ligne sur Bluesky.
Configuration du graphique avec un point de contrôle
Ensuite, nous connectons les nœuds dans un graphique pour compilation et introduisons un point de contrôle SQLite pour capturer des instantanés de l'état à chaque interruption.
Conclusion
Nous avons exploré les concepts d'interruptions, de Command, de points de contrôle et de threads. Pour une mise en œuvre complète, veuillez consulter le dépôt GitHub.
Brief IA — L'actualité IA en français
L'essentiel de l'actualité de l'intelligence artificielle, décrypté et expliqué chaque jour.