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+” (GPT-5.2+ and Codex models, plus Anthropic Claude Opus 4.7 effort)
- 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 max du provider (Anthropic Claude Opus 4.7 ; Ollama mappe cela à son effort
thinknatif 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.7 n’a pas par défaut la réflexion adaptative. Son niveau d’effort API par défaut reste la propriété du fournisseur, sauf si vous définissez explicitement un niveau de réflexion.
- Anthropic Claude Opus 4.7 mappe
/think xhighà une réflexion adaptative plusoutput_config.effort: "xhigh", car/thinkest une directive de réflexion etxhighest le paramètre d’effort Opus 4.7. - Anthropic Claude Opus 4.7 expose également
/think max; il correspond au même chemin d’effort maximal appartenant au fournisseur. - Direct DeepSeek V4 models expose
/think xhigh|max; both map to DeepSeekreasoning_effort: "max"while lower non-off levels map tohigh. - OpenRouter-routed DeepSeek V4 models expose
/think xhighand send OpenRouter-supportedreasoning_effortvalues. Storedmaxoverrides fall back toxhigh. - Ollama thinking-capable models expose
/think low|medium|high|max;maxmaps to nativethink: "high"because Ollama’s native API acceptslow,medium, andhigheffort strings. - OpenAI GPT models map
/thinkthrough model-specific Responses API effort support./think offsendsreasoning.effort: "none"only when the target model supports it; otherwise OpenClaw omits the disabled reasoning payload instead of sending an unsupported value. - Custom OpenAI-compatible catalog entries can opt into
/think xhighby settingmodels.providers.<provider>.models[].compat.supportedReasoningEffortsto include"xhigh". This uses the same compat metadata that maps outbound OpenAI reasoning effort payloads, so menus, session validation, agent CLI, andllm-taskagree with transport behavior. - 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 propre au fournisseur de Gemini. Les requêtes Gemini 3 omettent unthinkingLevelfixe, tandis que les requêtes Gemini 2.5 envoientthinkingBudget: -1; les niveaux fixes mappent toujours authinkingLevelGemini le plus proche ou au budget pour cette famille de modèles. - MiniMax (MiniMax
minimax/*Anthropic) sur le chemin de streaming compatible Anthropic est par défautthinking: { type: "disabled" }, sauf si vous définissez explicitement la réflexion dans les paramètres du modèle ou de la requête. Cela évite les fuites de deltasreasoning_contentMiniMaxAnthropic provenant du format de flux Anthropic non natif de MiniMax. - Z.AI (
zai/*) ne prend en charge que 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 configuration). - Par défaut global (
agents.defaults.thinkingDefaultdans la configuration). - Repli : par défaut déclaré par le fournisseur si disponible ; sinon, les modèles capables de raisonnement résolvent à
mediumou au niveau non-offpris en charge le plus proche pour ce modèle, et les modèles non raisonnables 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 exemple
/think:mediumou/t high. - Cela reste 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é de désactivation explicite. 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 exemple/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 »- Pi intégré : le niveau résolu est transmis au runtime de l’agent Pi en cours de processus.
- Backend CLI de Claude : les niveaux autres que « off » sont transmis à Claude Code en tant que
--effortlors de l’utilisation declaude-cli; voir Backends CLI.
Mode rapide (/fast)
Section intitulée « Mode rapide (/fast) »- Niveaux :
on|off|default. - Un message contenant uniquement une directive active une priorité de 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 effectif actuel du mode rapide. - OpenClaw résout le mode rapide dans cet ordre :
- Priorité en ligne/de directive uniquement
/fast on|off(/fast defaultefface ce niveau) - Priorité de session
- Valeur par défaut par agent (
agents.list[].fastModeDefault) - Configuration par modèle :
agents.defaults.models["<provider>/<model>"].params.fastMode - Alternative :
off
- Priorité en ligne/de directive uniquement
- Pour
openai/*, le mode rapide correspond au traitement prioritaire OpenAI en envoyantservice_tier=prioritysur les requêtes Responses prises en charge. - Pour
openai-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 publiques directes
anthropic/*, 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 modèle
serviceTier/service_tierexplicites Anthropic remplacent la valeur par défaut du mode rapide lorsque les deux sont définis. OpenClaw ignore toujours l’injection de 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 une directive active 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 utilisateur Sessions en choisissantinherit.- 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 de verbosité actuel. - Lorsque le mode verbeux est activé, les agents qui émettent des résultats d’outil structurés (Pi, autres agents JSON) renvoient chaque appel d’outil sous forme de message de métadonnées uniquement, préfixé par
<emoji> <tool-name>: <arg>si disponible. Ces résumés d’outils sont envoyés dès le début de chaque outil (bulles séparées), et non sous forme de deltas de flux. - Les résumés d’échecs d’outils restent visibles en mode normal, mais les suffixes de détails d’erreurs bruts sont masqués, sauf si verbeux est
onoufull. - Lorsque verbeux est
full, les sorties des outils sont également transmises après leur 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’outils de brouillon de progression. Utilisez"explain"(par défaut) pour des libellés humains compacts tels 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 trace de plugin (/trace)
Section intitulée « Directives de trace de plugin (/trace) »- Niveaux :
on|off(par défaut). - Le message contenant uniquement la directive bascule la sortie de trace de plugin de session et répond
Plugin trace enabled./Plugin trace disabled.. - La directive en ligne n’affecte que ce message ; les valeurs par défaut de session/globale s’appliquent autrement.
- Envoyez
/trace(ou/trace:) sans argument pour voir le niveau de trace actuel. /traceest plus étroit 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. - Le message contenant uniquement la directive bascule l’affichage des blocs de réflexion dans les réponses.
- Lorsqu’elle est activée, le raisonnement est envoyé sous la forme d’un message distinct préfixé par
Thinking. stream(Telegram uniquement) : diffuse le raisonnement dans la bulle de brouillon Telegram pendant que la réponse est générée, 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 défaut par agent (
agents.list[].reasoningDefault), puis défaut global (agents.defaults.reasoningDefault), puis repli (off).
Les balises de raisonnement de modèle local malformées sont gérées de manière conservatrice. Les blocs <think>...</think> fermés restent masqués dans 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 enveloppée dans une seule balise d’ouverture non fermée et serait autrement livrée comme texte vide, OpenClaw supprime la balise d’ouverture malformée et livre le texte restant.
Connexes
Section intitulée « Connexes »- La documentation sur le mode élevé se trouve dans Elevated mode.
Heartbeats
Section intitulée « Heartbeats »- Le corps de la sonde heartbeat est l’invite 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 heartbeat s’appliquent comme d’habitude (mais évitez de modifier les valeurs par défaut de la session depuis les heartbeats). - La livraison des battements de cœur par défaut concerne uniquement 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 du chat Web
Section intitulée « Interface utilisateur du chat Web »- Le sélecteur de réflexion du chat Web reflète le niveau stocké de la session provenant du magasin/config de session entrante lors du chargement de la page.
- Choisir un autre niveau écrit immédiatement le remplacement de la session via
sessions.patch; il n’attend pas le prochain envoi et ce n’est pas un remplacementthinkingOnceponctuel. - La première option est toujours le choix d’effacer le remplacement. Elle affiche
Inherited: <resolved level>lorsque la session hérite d’un défaut effectif non désactivé, ouOfflorsque la réflexion héritée est désactivée. - Les choix explicites du sélecteur sont étiquetés comme des substitutions, tout en préservant les étiquettes du fournisseur lorsqu’elles sont présentes (par exemple
Override: maximumpour une optionmaxétiquetée par le fournisseur). - Le sélecteur utilise
thinkingLevelsrenvoyé par la ligne/défauts de session de la passerelle, avecthinkingOptionsconservé comme une liste d’étiquettes 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 agissent comme proxy pour les modèles Claude doivent réutiliser
resolveClaudeThinkingProfile(modelId)deopenclaw/plugin-sdk/provider-model-sharedafin que les catalogues directs Anthropic et par 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 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 de niveaux de fournisseur/modèle. - Les plugins d’outils ayant accès aux métadonnées de modèle personnalisé configurées peuvent passer
catalogdansresolveThinkingPolicyafin que les opt-inscompat.supportedReasoningEffortssoient reflétés dans la validation côté plugin. - Les crochets 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 la Gateway exposent
thinkingLevels,thinkingOptionsetthinkingDefault, afin que les clients ACP/chat affichent les mêmes identifiants et étiquettes de profil que ceux utilisés par la validation d’exécution.