Niveaux de réflexion
Ce que cela fait
Section intitulée « Ce que cela fait »- Directive en ligne dans n’importe quel corps entrant :
/t <level>,/think:<level>, ou/thinking <level>. - Niveaux (alias) :
off | minimal | low | medium | high | xhigh | adaptive | max- minimal → “think”
- low → “think hard”
- medium → “think harder”
- high → “ultrathink” (max budget)
- xhigh → « ultrathink+ » (modèles GPT-5.2+ et Codex, ainsi que l’effort Anthropic Claude Opus 4.7+)
- adaptive → réflexion adaptative gérée par le provider (prise en charge pour Claude 4.6 sur Anthropic/Bedrock, Anthropic Claude Opus 4.7+, et la réflexion dynamique de Google Gemini)
- max → raisonnement maximum du provider (Anthropic Claude Opus 4.7+ ; Ollama mappe ceci vers son AnthropicOllama
thinkeffort natif le plus élevé) x-high,x_high,extra-high,extra high, etextra_highcorrespondent àxhigh.highestcorrespond àhigh.
- Notes du provider :
- Les menus et sélecteurs de réflexion sont pilotés par le profil de provider. Les plugins de provider déclarent l’ensemble exact de niveaux pour le modèle sélectionné, y compris des étiquettes telles que binaire
on. adaptive,xhigh, etmaxne sont proposés que pour les profils provider/modèle qui les prennent en charge. Les directives tapées pour les niveaux non pris en charge sont rejetées avec les options valides de ce modèle.- Les niveaux non pris en charge déjà stockés sont remappés par rang de profil de provider.
adaptiverevient àmediumsur les modèles non adaptatifs, tandis quexhighetmaxreviennent au plus grand niveau non-off pris en charge pour le modèle sélectionné. - Les modèles Anthropic Claude 4.6 sont par défaut sur
adaptivelorsqu’aucun niveau de réflexion explicite n’est défini. - Anthropic Claude Opus 4.8 et Opus 4.7 désactivent la réflexion sauf si vous définissez explicitement un niveau de réflexion. L’effort par défaut détenu par le fournisseur d’Opus 4.8 est Anthropic
highaprès l’activation de la réflexion adaptative. - Anthropic Claude Opus 4.7+ mappe Anthropic
/think xhighvers la réflexion adaptative plusoutput_config.effort: "xhigh", car/thinkest une directive de réflexion etxhighest le paramètre d’effort Opus. - Anthropic Claude Opus 4.7+ expose également Anthropic
/think max; il correspond au même chemin d’effort maximum détenu par le fournisseur. - Les modèles DeepSeek V4 directs exposent
/think xhigh|max; les deux correspondent aureasoning_effort: "max"de DeepSeek tandis que les niveaux non officiels inférieurs correspondent àhigh. - Les modèles DeepSeek V4 acheminés par OpenRouter exposent OpenRouter
/think xhighOpenRouter et envoient des valeursreasoning_effortprises en charge par OpenRouter. Lesmaxde substitution stockées reviennent àxhigh. - Les modèles Ollama capables de réflexion exposent Ollama
/think low|medium|high|max;maxcorrespond authink: "high"OllamaAPI natif car l’API native d’Ollama accepte les chaînes d’effortlow,mediumethigh. - Les modèles GPT d’OpenAI mappent OpenAI
/thinkvia la prise en charge de l’effort de l’API Responses spécifique au modèle. API envoie OpenClawreasoning.effort: "none"``/think offuniquement lorsque le modèle cible le prend en charge ; sinon OpenClaw omet la charge utile de raisonnement désactivée au lieu d’envoyer une valeur non prise en charge. - Les entrées de catalogue personnalisées compatibles OpenAI peuvent opter pour
/think xhighen définissantmodels.providers.<provider>.models[].compat.supportedReasoningEffortspour inclure"xhigh". Cela utilise les mêmes métadonnées de compatibilité qui mappent les charges utiles d’effort de raisonnement OpenAI sortantes, de sorte que les menus, la validation de session, le CLI de l’agent etllm-tasks’accordent avec le comportement du transport. - Stale configured OpenRouter Hunter Alpha refs skip proxy reasoning injection because that retired route could return final answer text through reasoning fields.
- Google Gemini mappe
/think adaptiveà la réflexion dynamique propriétaire du fournisseur de Gemini. Les requêtes Gemini 3 omettent unthinkingLevelfixe, tandis que les requêtes Gemini 2.5 envoientthinkingBudget: -1; les niveaux fixes sont toujours mappés authinkingLevelou budget Gemini le plus proche pour cette famille de modèles. - MiniMax (MiniMax
minimax/*) sur le chemin de streaming compatible Anthropic est réglé par défaut surthinking: { type: "disabled" }, sauf si vous définissez explicitement la réflexion dans les paramètres du modèle ou les paramètres de la requête. Cela évite les fuites de deltasreasoning_contentprovenant du format de flux MiniMax non natif de Anthropic. - Z.AI (
zai/*) prend uniquement en charge la réflexion binaire (on/off). Tout niveau autre queoffest traité commeon(mappé àlow). - Moonshot (Moonshot
moonshot/*) mappe/think offàthinking: { type: "disabled" }et tout niveau autre queoffàthinking: { type: "enabled" }Moonshot. Lorsque la réflexion est activée, Moonshot n’accepte quetool_choiceauto|noneOpenClaw ; OpenClaw normalise les valeurs incompatibles àauto.
- Les menus et sélecteurs de réflexion sont pilotés par le profil de provider. Les plugins de provider déclarent l’ensemble exact de niveaux pour le modèle sélectionné, y compris des étiquettes telles que binaire
Ordre de résolution
Section intitulée « Ordre de résolution »- Directive en ligne sur le message (s’applique uniquement à ce message).
- Remplacement de session (défini en envoyant un message contenant uniquement une directive).
- Par défaut par agent (
agents.list[].thinkingDefaultdans la config). - Par défaut global (
agents.defaults.thinkingDefaultdans la config). - Secours : valeur par défaut déclarée par le fournisseur si disponible ; sinon, les modèles dotés de capacités de raisonnement résolvent à
mediumou au niveau non-offsupporté le plus proche pour ce modèle, et les modèles sans raisonnement restentoff.
Définir une valeur par défaut de session
Section intitulée « Définir une valeur par défaut de session »- Envoyez un message qui est uniquement la directive (espaces autorisés), par ex.
/think:mediumou/t high. - Cela reste en vigueur pour la session en cours (par expéditeur par défaut). Utilisez
/think defaultpour effacer la priorité de session et hériter de la valeur par défaut configurée/du fournisseur ; les alias incluentinherit,clear,resetetunpin. /think offstocke une priorité explicite de désactivation. Il désactive la réflexion jusqu’à ce que vous modifiiez ou effaciez la priorité de session.- Une réponse de confirmation est envoyée (
Thinking level set to high./Thinking disabled.). Si le niveau n’est pas valide (par ex./thinking big), la commande est rejetée avec un indice et l’état de la session reste inchangé. - Envoyez
/think(ou/think:) sans argument pour voir le niveau de réflexion actuel.
Application par l’agent
Section intitulée « Application par l’agent »- OpenClaw intégré : le niveau résolu est transmis à l’exécution de l’agent OpenClaw en cours de processus.
- Backend CLI Claude : les niveaux autres que « off » sont transmis à Claude Code sous la forme CLI
--effortlors de l’utilisation declaude-cliCLI ; voir Backends CLI.
Mode rapide (/fast)
Section intitulée « Mode rapide (/fast) »- Niveaux :
on|off|default. - Un message contenant uniquement une directive active/désactive la priorité du mode rapide de session et répond
Fast mode enabled./Fast mode disabled.. Utilisez/fast defaultpour effacer la priorité de session et hériter de la valeur par défaut configurée ; les alias incluentinherit,clear,resetetunpin. - Envoyez
/fast(ou/fast status) sans mode pour voir l’état actuel effectif du mode rapide. - OpenClaw résout le mode rapide dans cet ordre :
- Priorité de directive en ligne uniquement
/fast on|off(/fast defaultefface ce niveau) - Priorité de session
- Défaut par agent (
agents.list[].fastModeDefault) - Configuration par model :
agents.defaults.models["<provider>/<model>"].params.fastMode - Remplacement (Fallback) :
off
- Priorité de directive en ligne uniquement
- Pour
openai/*OpenAI, le mode rapide correspond au traitement prioritaire OpenAI en envoyantservice_tier=prioritysur les requêtes Responses prises en charge. - Pour les modèles
openai/*pris en charge par Codex, le mode rapide envoie le même indicateurservice_tier=prioritysur les réponses Codex. OpenClaw conserve un commutateur/fastpartagé sur les deux chemins d’authentification. - Pour les requêtes
anthropic/*publiques directes, y compris le trafic authentifié OAuth envoyé àapi.anthropic.com, le mode rapide correspond aux niveaux de service Anthropic :/fast ondéfinitservice_tier=auto,/fast offdéfinitservice_tier=standard_only. - Pour
minimax/*sur le chemin compatible Anthropic,/fast on(ouparams.fastMode: true) réécritMiniMax-M2.7enMiniMax-M2.7-highspeed. - Les paramètres de model
serviceTier/service_tierexplicites de Anthropic remplacent la valeur par défaut du mode rapide lorsque les deux sont définis. OpenClaw ignore toujours l’injection du niveau de service Anthropic pour les URL de base de proxy non Anthropic. /statusafficheFastuniquement lorsque le mode rapide est activé.
Directives de mode verbeux (/verbose ou /v)
Section intitulée « Directives de mode verbeux (/verbose ou /v) »- Niveaux :
on(minimal) |full|off(par défaut). - Un message contenant uniquement la directive bascule le mode verbeux de la session et répond
Verbose logging enabled./Verbose logging disabled.; les niveaux non valides renvoient un indice sans modifier l’état. /verbose offstocke une substitution explicite de session ; effacez-la via l’interface Sessions en choisissantinherit.- Les expéditeurs autorisés de canaux externes peuvent rendre persistante la substitution verbeuse de session. Les clients internes de passerine/webchat ont besoin de
operator.adminpour la rendre persistante. - La directive en ligne n’affecte que ce message ; les valeurs par défaut de session/globales s’appliquent sinon.
- Envoyez
/verbose(ou/verbose:) sans argument pour voir le niveau verbeux actuel. - Lorsque le mode verbeux est activé, les agents qui émettent des résultats d’outil structurés renvoient chaque appel d’outil sous forme de message contenant uniquement des métadonnées, préfixé par
<emoji> <tool-name>: <arg>si disponible. Ces résumés d’outils sont envoyés dès que chaque outil démarre (bulles séparées), et non sous forme de deltas de diffusion en continu. - Les résumés d’échec d’outils restent visibles en mode normal, mais les suffixes de détails d’erreur bruts sont masqués sauf si verbeux est
full. - Lorsque verbeux est
full, les sorties d’outils sont également transmises après achèvement (bulle séparée, tronquée à une longueur sûre). Si vous basculez/verbose on|full|offpendant qu’une exécution est en cours, les bulles d’outils suivantes respectent le nouveau paramètre. agents.defaults.toolProgressDetailcontrôle la forme des résumés d’outils/verboseet des lignes d’outil de brouillon de progression. Utilisez"explain"(par défaut) pour des étiquettes compactes telles que🛠️ Exec: checking JS syntax; utilisez"raw"lorsque vous souhaitez également que la commande brute/détail soit ajoutée pour le débogage.agents.list[].toolProgressDetailpar agent remplace la valeur par défaut.explain:🛠️ Exec: check JS syntax for /tmp/app.jsraw:🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js
Directives de traçage de plugin (/trace)
Section intitulée « Directives de traçage de plugin (/trace) »- Niveaux :
on|off(par défaut). - Un message constitué uniquement d’une directive active/désactive la sortie de trace du plugin de session et répond
Plugin trace enabled./Plugin trace disabled.. - Une directive en ligne n’affecte que ce message ; sinon, les valeurs par défaut de session/globales s’appliquent.
- Envoyez
/trace(ou/trace:) sans argument pour voir le niveau de trace actuel. /traceest plus restrictif que/verbose: il n’expose que les lignes de trace/débogage appartenant au plugin, telles que les résumés de débogage de la Mémoire Active.- Les lignes de trace peuvent apparaître dans
/statuset sous forme de message de diagnostic de suivi après la réponse normale de l’assistant.
Visibilité du raisonnement (/reasoning)
Section intitulée « Visibilité du raisonnement (/reasoning) »- Niveaux :
on|off|stream. - Un message constitué uniquement d’une directive active/désactive l’affichage des blocs de réflexion dans les réponses.
- Lorsqu’elle est activée, le raisonnement est envoyé comme un message distinct préfixé par
Thinking. stream: diffuse le raisonnement pendant la génération de la réponse lorsque le channel actif prend en charge les aperçus de raisonnement, puis envoie la réponse finale sans le raisonnement.- Alias :
/reason. - Envoyez
/reasoning(ou/reasoning:) sans argument pour voir le niveau de raisonnement actuel. - Ordre de résolution : directive en ligne, puis remplacement de session, puis valeur par défaut par agent (
agents.list[].reasoningDefault), puis valeur par défaut globale (agents.defaults.reasoningDefault), puis repli (off).
Les balises de raisonnement de modèle local malformées sont gérées de manière prudente. Les blocs <think>...</think> fermés restent masqués sur les réponses normales, et le raisonnement non fermé après du texte déjà visible est également masqué. Si une réponse est entièrement encapsulée dans une seule balise d’ouverture non fermée et serait autrement livrée comme du texte vide, OpenClaw supprime la balise d’ouverture malformée et livre le texte restant.
Connexes
Section intitulée « Connexes »- La documentation du mode élevé se trouve dans Elevated mode.
Heartbeats
Section intitulée « Heartbeats »- Le corps de la sonde de heartbeat est l’invite de heartbeat configurée (par défaut :
Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.). Les directives en ligne dans un message de heartbeat s’appliquent comme d’habitude (mais évitez de modifier les valeurs par défaut de session via les heartbeats). - La livraison des signaux de cœur (heartbeats) par défaut ne comprend que la charge utile finale. Pour envoyer également le message distinct
Thinking(lorsqu’il est disponible), définissezagents.defaults.heartbeat.includeReasoning: trueouagents.list[].heartbeat.includeReasoning: truepar agent.
Interface utilisateur de chat web
Section intitulée « Interface utilisateur de chat web »- Le sélecteur de réflexion (thinking) du chat web reflète le niveau stocké de la session issu du magasin/paramètres de session entrants lors du chargement de la page.
- Le choix d’un autre niveau écrit immédiatement la priorité (override) de session via
sessions.patch; il n’attend pas le prochain envoi et ce n’est pas une prioritéthinkingOnceunique. - La première option est toujours le choix d’annulation de la priorité. Elle affiche
Inherited: <resolved level>, y comprisInherited: Offlorsque la réflexion héritée est désactivée. - Les choix explicites du sélecteur utilisent leurs libellés de niveau directs tout en préservant les libellés du fournisseur lorsqu’ils sont présents (par exemple
Maximumpour une optionmaxétiquetée par le fournisseur). - Le sélecteur utilise
thinkingLevelsrenvoyé par la ligne/paramètres par défaut de la session de passerelle, avecthinkingOptionsconservé comme une liste de libellés héritée. L’interface utilisateur du navigateur ne conserve pas sa propre liste de regex de fournisseur ; les plugins possèdent des ensembles de niveaux spécifiques au modèle. /think:<level>fonctionne toujours et met à jour le même niveau de session stocké, de sorte que les directives de chat et le sélecteur restent synchronisés.
Profils de fournisseur
Section intitulée « Profils de fournisseur »- Les plugins de fournisseur peuvent exposer
resolveThinkingProfile(ctx)pour définir les niveaux pris en charge et le niveau par défaut du modèle. - Les plugins de fournisseur qui proxyent les modèles Claude doivent réutiliser
resolveClaudeThinkingProfile(modelId)deopenclaw/plugin-sdk/provider-model-sharedafin que les catalogues directs Anthropic et proxy restent alignés. - Chaque niveau de profil possède un
idcanonique stocké (off,minimal,low,medium,high,xhigh,adaptiveoumax) et peut inclure unlabeld’affichage. Les fournisseurs binaires utilisent{ id: "low", label: "on" }. - Les hooks de profil reçoivent les faits de catalogue fusionnés lorsqu’ils sont disponibles, y compris
reasoning,compat.thinkingFormatetcompat.supportedReasoningEfforts. Utilisez ces faits pour exposer des profils binaires ou personnalisés uniquement lorsque le contrat de demande configuré prend en charge la charge utile correspondante. - Les plugins d’outils qui doivent valider une substitution de réflexion explicite doivent utiliser
api.runtime.agent.resolveThinkingPolicy({ provider, model })ainsi queapi.runtime.agent.normalizeThinkingLevel(...); ils ne doivent pas conserver leurs propres listes au niveau fournisseur/modèle. - Les plugins d’outils ayant accès aux métadonnées de modèle personnalisé configurées peuvent transmettre
catalogàresolveThinkingPolicyafin que les opt-inscompat.supportedReasoningEffortssoient reflétés dans la validation côté plugin. - Les hooks hérités publiés (
supportsXHighThinking,isBinaryThinkingetresolveDefaultThinkingLevel) restent en tant qu’adaptateurs de compatibilité, mais les nouveaux ensembles de niveaux personnalisés doivent utiliserresolveThinkingProfile. - Les lignes/valeurs par défaut de Gateway exposent
thinkingLevels,thinkingOptionsetthinkingDefaultafin que les clients ACP/chat affichent les mêmes identifiants et étiquettes de profil que ceux utilisés par la validation à l’exécution.