Niveles de pensamiento (directivas /think)

Qué hace

  • Directiva inline en cualquier cuerpo de mensaje entrante: /t <level>, /think:<level>, o /thinking <level>.
  • Niveles (aliases): off | minimal | low | medium | high | xhigh | adaptive
    • minimal -> “think”
    • low -> “think hard”
    • medium -> “think harder”
    • high -> “ultrathink” (presupuesto máximo)
    • xhigh -> “ultrathink+” (solo modelos GPT-5.2 + Codex)
    • adaptive -> presupuesto de razonamiento adaptativo gestionado por el proveedor (admitido para la familia de modelos Anthropic Claude 4.6)
    • x-high, x_high, extra-high, extra high y extra_high se mapean a xhigh.
    • highest, max se mapean a high.
  • Notas de proveedor:
    • Los modelos Anthropic Claude 4.6 usan adaptive por defecto cuando no se establece un nivel de pensamiento explícito.
    • Z.AI (zai/*) solo admite pensamiento binario (on/off). Cualquier nivel que no sea off se trata como on (mapeado a low).
    • Moonshot (moonshot/*) mapea /think off a thinking: { type: "disabled" } y cualquier nivel que no sea off a thinking: { type: "enabled" }. Cuando el pensamiento está habilitado, Moonshot solo acepta tool_choice auto|none; OpenClaw normaliza valores incompatibles a auto.

Orden de resolución

  1. Directiva inline en el mensaje (aplica solo a ese mensaje).
  2. Sobreescritura de sesión (configurada enviando un mensaje que solo contiene la directiva).
  3. Valor global por defecto (agents.defaults.thinkingDefault en la configuración).
  4. Fallback: adaptive para modelos Anthropic Claude 4.6, low para otros modelos con capacidad de razonamiento, off en caso contrario.

Configurar un valor por defecto de sesión

  • Envía un mensaje que sea solo la directiva (se permite espacio en blanco), ej. /think:medium o /t high.
  • Permanece para la sesión actual (por remitente por defecto); se limpia con /think:off o al reiniciar sesión por inactividad.
  • Se envía respuesta de confirmación (Thinking level set to high. / Thinking disabled.). Si el nivel es inválido (ej. /thinking big), el comando se rechaza con una pista y el estado de sesión queda sin cambios.
  • Envía /think (o /think:) sin argumento para ver el nivel de pensamiento actual.

Aplicación por agente

  • Pi embebido: el nivel resuelto se pasa al runtime del agente Pi en proceso.

Modo rápido (/fast)

  • Niveles: on|off.
  • Un mensaje que solo contiene la directiva activa/desactiva una sobreescritura de sesión de modo rápido y responde Fast mode enabled. / Fast mode disabled..
  • Envía /fast (o /fast status) sin modo para ver el estado actual del modo rápido.
  • OpenClaw resuelve el modo rápido en este orden:
    1. Inline/directiva-only /fast on|off
    2. Sobreescritura de sesión
    3. Configuración por modelo: agents.defaults.models["<provider>/<model>"].params.fastMode
    4. Fallback: off
  • Para openai/*, el modo rápido aplica el perfil rápido de OpenAI: service_tier=priority cuando está admitido, más esfuerzo de razonamiento bajo y verbosidad de texto baja.
  • Para openai-codex/*, el modo rápido aplica el mismo perfil de baja latencia en Codex Responses. OpenClaw mantiene un único toggle /fast compartido entre ambas rutas de auth.
  • Para solicitudes directas con API key de anthropic/*, el modo rápido se mapea a tiers de servicio de Anthropic: /fast on configura service_tier=auto, /fast off configura service_tier=standard_only.
  • El modo rápido de Anthropic es solo con API key. OpenClaw omite la inyección de tier de servicio de Anthropic para auth con setup-token / OAuth de Claude y para URLs base que no son proxy de Anthropic.

Directivas verbose (/verbose o /v)

  • Niveles: on (mínimo) | full | off (por defecto).
  • Un mensaje que solo contiene la directiva activa/desactiva verbose de sesión y responde Verbose logging enabled. / Verbose logging disabled.; los niveles inválidos devuelven una pista sin cambiar el estado.
  • /verbose off almacena una sobreescritura de sesión explícita; límpiala desde la UI de Sesiones eligiendo inherit.
  • La directiva inline afecta solo ese mensaje; los valores por defecto de sesión/global aplican en caso contrario.
  • Envía /verbose (o /verbose:) sin argumento para ver el nivel verbose actual.
  • Cuando verbose está habilitado, los agentes que emiten resultados de herramientas estructurados (Pi, otros agentes JSON) envían cada llamada a herramienta como su propio mensaje de solo metadatos, con prefijo <emoji> <tool-name>: <arg> cuando está disponible (ruta/comando). Estos resúmenes de herramientas se envían en cuanto cada herramienta comienza (burbujas separadas), no como deltas de streaming.
  • Los resúmenes de fallos de herramientas permanecen visibles en modo normal, pero el texto de detalle de error raw se oculta a menos que verbose sea on o full.
  • Cuando verbose es full, las salidas de herramientas también se reenvían después del completado (burbuja separada, truncada a una longitud segura). Si activas/desactivas /verbose on|full|off mientras una ejecución está en curso, las burbujas de herramientas subsiguientes respetan la nueva configuración.

Visibilidad del razonamiento (/reasoning)

  • Niveles: on|off|stream.
  • Un mensaje que solo contiene la directiva activa/desactiva si los bloques de pensamiento se muestran en las respuestas.
  • Cuando está habilitado, el razonamiento se envía como un mensaje separado con prefijo Reasoning:.
  • stream (solo Telegram): transmite el razonamiento en la burbuja de borrador de Telegram mientras se genera la respuesta, luego envía la respuesta final sin razonamiento.
  • Alias: /reason.
  • Envía /reasoning (o /reasoning:) sin argumento para ver el nivel de razonamiento actual.

Relacionado

Heartbeats

  • El cuerpo de la sonda de heartbeat es el prompt de heartbeat configurado (por defecto: 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.). Las directivas inline en un mensaje de heartbeat se aplican como es habitual (pero evita cambiar valores por defecto de sesión desde heartbeats).
  • La entrega de heartbeat envía por defecto solo el payload final. Para enviar también el mensaje separado de Reasoning: (cuando está disponible), configura agents.defaults.heartbeat.includeReasoning: true o por agente agents.list[].heartbeat.includeReasoning: true.

UI de web chat

  • El selector de pensamiento del web chat refleja el nivel almacenado de la sesión desde el store/configuración de sesión entrante cuando la página se carga.
  • Elegir otro nivel aplica solo al siguiente mensaje (thinkingOnce); después de enviar, el selector vuelve al nivel de sesión almacenado.
  • Para cambiar el valor por defecto de sesión, envía una directiva /think:<level> (como antes); el selector lo reflejará después de la siguiente recarga.