Techniques

Le prompting ReAct : raisonner et agir avec des outils

Le prompting ReAct entrelace raisonnement et appels d’outils pour qu’un modèle puisse chercher des informations et agir. Comment fonctionne la boucle, un exemple de prompt et ses modes de défaillance.

Traduit de l’original anglais. Le code, les prompts et les sorties de modèle restent en anglais.

ReAct, abréviation de « reasoning and acting » (raisonner et agir), est un schéma de prompting dans lequel un modèle alterne entre réfléchir à ce qu’il faut faire et le faire avec un outil. Il a été introduit par Yao et ses collègues en 2022, et c’est la boucle de base de la plupart des agents IA actuels.

La boucle

Un agent ReAct répète trois étapes jusqu’à pouvoir répondre.

  1. Pensée. Le modèle raisonne sur ce qu’il sait et sur ce dont il a besoin ensuite.
  2. Action. Il choisit un outil et les arguments avec lesquels l’appeler.
  3. Observation. L’application exécute l’outil et renvoie le résultat au modèle.

Puis le cycle recommence, l’observation faisant désormais partie du contexte.

Question: Is order 8841 eligible for a refund?

Thought: I need the order date and the refund window.
Action: get_order(order_id="8841")
Observation: {"date": "2026-09-02", "status": "delivered", "custom": false}

Thought: Delivered and not custom. I need the policy window.
Action: get_policy(topic="refunds")
Observation: "Refunds within 30 days of delivery, excluding custom items."

Thought: 36 days have passed, so it is outside the window.
Answer: No. The 30-day refund window ended on 2 October 2026.

Raisonner sans agir ne permet pas d’atteindre des faits extérieurs au modèle. Agir sans raisonner revient à appeler les outils à l’aveugle. Les entrelacer permet à chaque observation d’orienter la décision suivante.

ReAct avec l’appel d’outils moderne

La technique d’origine utilisait un format texte que l’application analysait. Les API actuelles des modèles intègrent l’appel d’outils : vous décrivez chaque outil par un nom, une description et un JSON Schema de ses paramètres, et le modèle renvoie une demande structurée d’appel d’un outil. La boucle est la même ; la plomberie est prise en charge par l’API.

L’ingénierie de prompts se déplace ainsi vers trois endroits.

1. Le prompt système

Décrivez l’objectif, les limites et le moment de s’arrêter.

You are an order support agent. Use the tools to answer questions
about a customer's orders.

- Look up facts with tools. Do not guess order details.
- Call a tool only when its result is needed for the answer.
- If a tool returns an error, try once more with corrected arguments,
  then tell the customer what could not be checked.
- Never issue a refund above $200. Escalate instead.
- Stop and answer as soon as you have enough information.

2. Les descriptions d’outils

Un modèle choisit les outils uniquement d’après leurs descriptions. Traitez chaque description comme un prompt.

  • Faible : get_order: gets an order
  • Mieux : get_order: Returns date, status, items, and total for one order. Use when the customer mentions an order number. Does not include payment details.

Dites ce que l’outil renvoie, quand l’utiliser et ce qu’il ne fait pas. Nommez clairement les paramètres et décrivez leurs formats.

3. Les résultats des outils

Les observations retournent dans le contexte, leur forme compte donc. Renvoyez des données compactes et étiquetées, pas une page HTML brute. Incluez un message d’erreur explicite sur lequel le modèle peut agir : « No order with that ID » est utile, une trace de pile ne l’est pas.

Modes de défaillance

Boucles. L’agent répète le même appel. Fixez un nombre maximal d’étapes et dites au modèle quoi faire quand il atteint la limite.

Abus d’outils. Il appelle des outils pour des choses qu’il connaît déjà. Indiquez quand ne pas appeler.

Mauvais arguments. Il invente un identifiant ou un format. Resserrez le schéma des paramètres et renvoyez des erreurs qui expliquent le format attendu.

Croissance du contexte. Chaque observation est relue à chaque étape, donc le coût croît avec le carré du nombre d’étapes. Élaguez ou résumez les anciennes observations. Voir l’optimisation des tokens.

Injection par les observations. Une page web ou un document renvoyé par un outil peut contenir des instructions. Le modèle peut les suivre. C’est de l’injection de prompt indirecte, et c’est le principal risque de sécurité des agents. Marquez les résultats d’outils comme des données, limitez ce que les outils peuvent faire et exigez une approbation pour les actions irréversibles.

Réponses prématurées. Il répond avant de vérifier. Exigez que les affirmations factuelles proviennent d’un résultat d’outil.

Quand utiliser ReAct

Situation Utilisez
Les étapes sont connues à l’avance Une chaîne de prompts : moins chère et prévisible
Le chemin dépend de ce qui est trouvé ReAct
La tâche exige des données en direct ou privées ReAct avec des outils de recherche
La tâche agit dans d’autres systèmes ReAct, avec approbation pour les actions risquées
Une seule recherche, puis une réponse Une étape de recherche, pas une boucle

Un agent est l’option la plus flexible et la plus difficile à rendre fiable. Utilisez-en un quand cette flexibilité est nécessaire.

Donner des outils aux agents avec MCP

Le Model Context Protocol est une façon standard d’offrir des outils à un agent, de sorte qu’un seul serveur d’outils fonctionne avec de nombreuses applications d’IA. Le serveur MCP PromptFlowEngine expose l’analyse, la restructuration et l’assainissement de prompts sous forme d’outils en lecture seule. Un agent peut les utiliser dans sa propre boucle, par exemple pour assainir le contexte avant de le transmettre, ou pour transformer une tâche vague en spécification avant de démarrer.

Pour la conception plus large des instructions d’agents, poursuivez avec les prompts pour agents IA.

Passer à la pratique

Essayez avec l’outil « MCP »

Connectez PromptFlowEngine aux agents d’IA et aux flux compatibles MCP. C’est gratuit, déterministe et sans compte.

Outils PromptFlowEngine associés

Autres guides : Techniques

Parcourir tous les guides d’ingénierie de prompts