Raisonnement et planification
Dans le processus de création d'agents IA autonomes, si le grand modèle de langage (LLM) est le cerveau de l'agent et que l'utilisation d'outils représente ses mains et ses pieds, alorsRaisonnement et planificationest le moteur central qui le fait passer d'une simple machine de questions-réponses à un résolveur autonome de problèmes.
Les tâches complexes du monde réel ne peuvent souvent pas être accomplies par une génération en une seule passe. L'IA a besoin de la capacité de décomposer des objectifs, d'effectuer un raisonnement logique, d'explorer des chemins, de s'autocorriger et d'orchestrer des outils.
Voici les frameworks de raisonnement et de planification les plus répandus du secteur aujourd'hui.
Chaîne de pensée (CoT)
Capacité de raisonnement étape par étape
Les LLM traditionnels génèrent souvent des réponses intuitivement en une seule étape.
L'idée centrale de la chaîne de pensée (Chain of Thought, CoT) est :Forcer le modèle à produire explicitement des étapes de raisonnement intermédiaires (Réfléchissons étape par étape). Cette approche peut considérablement activer le potentiel du modèle dans les mathématiques complexes, le raisonnement logique et les questions-réponses de bon sens.
La CoT ne donne pas seulement au modèle plus de temps de calcul (le nombre de tokens représente l'effort de calcul), mais permet aussi à la génération suivante de s'appuyer sur la logique correcte des étapes précédentes.
Exemple : conception de prompt CoT few-shot
prompt = """
Problème : Roger a 5 balles de tennis. Il achète 2 boîtes de balles de tennis supplémentaires. Chaque boîte contient 3 balles de tennis. Combien de balles de tennis a-t-il au total ?
Solution : Roger a initialement 5 balles de tennis. 2 boîtes de balles de tennis, 3 chacune, donnent 2 * 3 = 6 balles de tennis. 5 + 6 = 11. La réponse est 11.
Problème : La cafétéria a 23 pommes. Si elle en utilise 20 pour le déjeuner et en achète 6 de plus, combien de pommes y a-t-il maintenant ?
Solution : La cafétéria avait initialement 23 pommes. Après en avoir utilisé 20, il en reste 23 - 20 = 3. Après en avoir acheté 6 de plus, il y en a maintenant 3 + 6 = 9. La réponse est 9.
Problème : {user_question}
Solution : """
Cadre ReAct (raisonnement + action)
Boucle de raisonnement + action
Si le CoT ne fait que construire un chariot à huis clos à l'intérieur du modèle, alorsReAct(Reason + Act)c'est permettre au modèle d'ouvrir les yeux et de voir le monde. Il entrelace le raisonnement logique interne (Thought) avec l'interaction externe avec les outils (Action) pour former un système de rétroaction dynamique en boucle fermée.
Sous le paradigme ReAct, l'Agent suitThought -> Action -> Observationboucle jusqu'à atteindre une conclusion finale.
Limites :ReAct excelle dans les tâches à court terme aux étapes claires. Cependant, comme tout l'historique des pensées et des actions est contenu dans la même fenêtre de contexte, lorsque la chaîne de tâches est trop longue, il est très facile de tomber dans une boucle infinie ou d'oublier l'objectif initial en raison d'une surcharge du contexte.
Plan-and-Execute (mode d'exécution avec planification préalable)
Pour remédier à la faiblesse de ReAct dans les tâches à long horizon, Plan-and-Execute dissocie la réflexion et l'action, en adoptant une stratégie semblable à la façon dont les humains gèrent les grands projets :d'abord créer un planning, puis exécuter les tâches une par une.。
Le système est généralement divisé en deux rôles indépendants :
- Planificateur: Responsable de recevoir l'objectif global et de générer une liste détaillée de sous-tâches étape par étape.
- Exécuteur: Responsable de l'exécution de ces sous-tâches dans l'ordre. L'exécuteur est généralement un petit Agent ReAct qui se concentre uniquement sur l'achèvement du petit objectif courant à chaque fois.
Arbre de pensées (ToT) et exploration arborescente multi-chemins
Exploration arborescente multi-chemins
Qu'il s'agisse de CoT ou de Plan-and-Execute, il s'agit essentiellement d'une exploration de cheminlinéaire. Cependant, lorsqu'ils écrivent du code, résolvent des problèmes mathématiques ou font de l'écriture créative, les humains envisagent souvent plusieurs options, les évaluent, choisissent la meilleure, et même reviennent en arrière lorsqu'ils découvrent des erreurs.
ToT (Tree of Thoughts)Il modélise le processus de raisonnement comme un arbre : les nœuds sont les états de pensée actuels. À chaque point de branchement, le modèle génère des pensées candidates, puis utilise un évaluateur interne pour noter ces nœuds (par exemple, faisable, potentiellement risqué, infaisable). Combiné avecBFS (Breadth-First Search)ouDFS (Depth-First Search)algorithme, il décide de continuer plus profondément ou de revenir en arrière et de réessayer.
Planification de tâches et MCTS (Monte Carlo Tree Search)
Décomposition et recherche de tâches complexes
Lorsqu'on traite des jeux de stratégie ou des tâches de raisonnement extrêmement difficiles (comme la vérification mathématique de pointe et la refactorisation de bases de code complexes), le simple ToT n'est toujours pas assez efficace. L'industrie a commencé à combiner les LLMs avec les algorithmes de recherche traditionnels d'apprentissage par renforcementMCTS(Monte Carlo Tree Search)Les combiner (similaire à la logique centrale d'AlphaGo).
- LLM comme réseau de politique: Fournit des suggestions d'actions heuristiques pour l'étape suivante, réduisant l'expansion de branches inutiles.
- LLM/environnement de code comme réseau de valeur: Grâce à l'exécution simulée (Rollout), il prédit le taux de victoire final ou le taux de réussite d'une séquence d'actions.
- Avantages: Dans un vaste espace de solutions, il peut trouver le chemin de planification avec le plus grand potentiel d'optimalité globale.
Reflexion: auto-réflexion et correction d'erreurs
Lorsque les humains exécutent des tâches, s'ils échouent à la première tentative, ils résument les leçons apprises et évitent les erreurs lors de la tentative suivante.
ReflexionCe cadre donne à l'Agent des capacités similaires.
Dans la boucle fermée de Reflexion, lorsque la sortie de l'agent est jugée comme un échec (par exemple, des cas de test échouent, des erreurs d'API se produisent), cela déclenche unmécanisme de Reviewer。
On demande au LLM d'écrire une réflexion en langage courant (Reflection) à partir des actions historiques et des retours d'échec, par exemple :« Je viens d'utiliser le mauvais format de paramètre d'API. La prochaine fois, je devrais consulter la documentation avant de transmettre du JSON. »Cette réflexion sera stockée dans la mémoire épisodique en tant que prompts contextuels pour la prochaine tentative, ce qui améliore grandement les capacités d'auto-guérison de l'agent.
Exemple : conception du prompt de réflexion de Reflexion
Vous êtes un assistant IA qui essaie d'écrire un crawler Python.
Voici le code que vous venez d'exécuter : {previous_code}
Voici le message d'erreur renvoyé par l'environnement d'exécution : {error_traceback}
Veuillez réfléchir profondément :
1. Quelle est la cause racine de l'erreur ?
2. Quelle est votre stratégie de modification spécifique pour la prochaine tentative ?
Veuillez consigner la réflexion pour guider les actions suivantes.
"""
Stratégies de décomposition des tâches et pratiques d'ingénierie
Dans le développement réel d'agents IA de niveau production, s'appuyer uniquement sur le "zero-shot" du LLM pour une planification complexe est instable. Les stratégies d'intervention hybrides courantes incluent :
| Stratégie d'intervention | Approche principale | Scénarios applicables |
|---|---|---|
| Gabarits de sous-tâches (SOP) | Au lieu de laisser le LLM planifier librement, des procédures d'exploitation standard (SOPs) prédéfinies sont utilisées pour faire évoluer le LLM dans une machine à états fixe. | Systèmes de service client, pipelines de nettoyage de données standardisés. |
| HITL (humain dans la boucle) | Après que le Planner a généré la liste des tâches, interrompre l'exécution et demander à un utilisateur humain de confirmer, modifier ou approuver, puis la remettre à l'Executor pour exécution. | Opérations à haut risque : telles que la suppression d'enregistrements de base de données, l'envoi d'e-mails en masse et les transferts de fonds importants. |
| Planification guidée par RLHF | Utiliser l'apprentissage par renforcement et les retours de préférence humaine pour affiner la capacité de planification des grands modèles, afin de les rendre plus enclins à générer des combinaisons d'étapes sûres et efficaces. | L'étape d'entraînement de la base sous-jacente de grands modèles de langage (par exemple, l'entraînement du modèle o1 d'OpenAI). |
Résumé de comparaison des frameworks
| Modèle | Mécanisme central | Avantages | Inconvénients |
|---|---|---|---|
| CoT | Raisonnement linéaire étape par étape | Implémentation minimale, améliore significativement la précision du raisonnement de base | Ne peut pas appeler d’outils externes, s’engage facilement dans une voie sans issue |
| ReAct | Boucle alternée de réflexion et d’action | S’adapte dynamiquement à l’environnement, peut s’ajuster en temps réel grâce aux observations | Le contexte explose facilement à mesure que les étapes s’accumulent, faisant perdre de vue l’objectif initial |
| Planifier et exécuter | Décomposer d’abord en sous-tâches, puis exécuter de manière isolée | Extrêmement adapté aux tâches complexes à long terme, contexte clair | Pas assez flexible face aux changements soudains (lorsque le plan lui-même est erroné) |
| ToT / MCTS | Recherche arborescente, évaluation et retour arrière | Peut résoudre les problèmes de logique complexe les plus difficiles | Le coût de calcul est extrêmement élevé, et la consommation de tokens est exponentielle. |
| Réflexion | Génère une mémoire réflexive à partir des retours d'échec. | Possède la capacité de s'auto-corriger et d'évoluer continuellement. | S'appuie sur des signaux de rétroaction explicites (tels que les erreurs de compilation du code) |