Tools

Уровни рассуждения

Что это делает

  • Встроенная директива в любом входящем тексте: /t <level>, /think:<level> или /thinking <level>.
  • Уровни (псевдонимы): off | minimal | low | medium | high | xhigh | adaptive | max
    • minimal → «думать»
    • low → «думать глубоко»
    • medium → «думать глубже»
    • high → «ultrathink» (максимальный бюджет)
    • xhigh → «ultrathink+» (модели GPT-5.2+ и Codex, а также усилие Anthropic Claude Opus 4.7+)
    • adaptive → управляемое поставщиком адаптивное мышление (поддерживается для Claude 4.6 на Anthropic/Bedrock, Anthropic Claude Opus 4.7+ и динамического мышления Google Gemini)
    • max → максимальное рассуждение поставщика (Anthropic Claude Opus 4.7+; Ollama сопоставляет это со своим самым высоким нативным усилием think)
    • x-high, x_high, extra-high, extra high и extra_high сопоставляются с xhigh.
    • highest сопоставляется с high.
  • Заметки о поставщиках:
    • Меню и средства выбора мышления управляются профилем поставщика. Plugin поставщиков объявляют точный набор уровней для выбранной модели, включая метки вроде бинарного on.
    • adaptive, xhigh и max показываются только для профилей поставщика/модели, которые их поддерживают. Типизированные директивы для неподдерживаемых уровней отклоняются с перечнем допустимых вариантов для этой модели.
    • Существующие сохраненные неподдерживаемые уровни переназначаются по рангу профиля поставщика. adaptive откатывается к medium на неадаптивных моделях, а xhigh и max откатываются к наибольшему поддерживаемому уровню не off для выбранной модели.
    • Модели Anthropic Claude 4.6 по умолчанию используют adaptive, когда явный уровень мышления не задан.
    • Anthropic Claude Opus 4.8 и Opus 4.7 оставляют мышление выключенным, если вы явно не задали уровень мышления. Собственный для поставщика уровень усилия Opus 4.8 по умолчанию равен high после включения адаптивного мышления.
    • Anthropic Claude Opus 4.7+ сопоставляет /think xhigh с адаптивным мышлением плюс output_config.effort: "xhigh", потому что /think является директивой мышления, а xhigh — настройкой усилия Opus.
    • Anthropic Claude Opus 4.7+ также предоставляет /think max; она сопоставляется с тем же собственным для поставщика путем максимального усилия.
    • Прямые модели DeepSeek V4 предоставляют /think xhigh|max; оба варианта сопоставляются с DeepSeek reasoning_effort: "max", а более низкие уровни не off сопоставляются с high.
    • Модели DeepSeek V4, маршрутизируемые через OpenRouter, предоставляют /think xhigh и отправляют поддерживаемые OpenRouter значения reasoning.effort вместо нативного для DeepSeek верхнеуровневого reasoning_effort. Более низкие уровни не off сопоставляются с high, а сохраненные переопределения max откатываются к xhigh.
    • Модели Ollama с поддержкой мышления предоставляют /think low|medium|high|max; max сопоставляется с нативным think: "high", потому что нативный API Ollama принимает строки усилия low, medium и high.
    • Модели OpenAI GPT сопоставляют /think через поддержку усилия в Responses API, зависящую от модели. /think off отправляет reasoning.effort: "none" только когда целевая модель это поддерживает; иначе OpenClaw опускает отключенную полезную нагрузку рассуждения вместо отправки неподдерживаемого значения.
    • Пользовательские записи каталога, совместимые с OpenAI, могут включить поддержку /think xhigh, задав models.providers.<provider>.models[].compat.supportedReasoningEfforts так, чтобы он включал "xhigh". При этом используются те же метаданные совместимости, которые сопоставляют исходящие полезные нагрузки усилия рассуждения OpenAI, поэтому меню, проверка сессии, CLI агента и llm-task согласуются с поведением транспорта.
    • Устаревшие настроенные ссылки OpenRouter Hunter Alpha пропускают внедрение рассуждения через прокси, потому что этот выведенный из эксплуатации маршрут мог возвращать текст финального ответа через поля рассуждения.
    • Google Gemini сопоставляет /think adaptive с собственным для Gemini динамическим мышлением поставщика. Запросы Gemini 3 опускают фиксированный thinkingLevel, а запросы Gemini 2.5 отправляют thinkingBudget: -1; фиксированные уровни по-прежнему сопоставляются с ближайшим Gemini thinkingLevel или бюджетом для этого семейства моделей.
    • MiniMax M2.x (minimax/MiniMax-M2*) на Anthropic-совместимом потоковом пути по умолчанию использует thinking: { type: "disabled" }, если вы явно не задали мышление в параметрах модели или параметрах запроса. Это предотвращает утечки дельт reasoning_content из ненативного Anthropic-формата потока M2.x. MiniMax-M3 (и M3.x) является исключением: M3 выдает корректные блоки мышления Anthropic и возвращает пустое содержимое при отключенном мышлении, поэтому OpenClaw оставляет M3 на пути опущенного/адаптивного мышления поставщика.
    • Z.AI (zai/*) является бинарным (on/off) для большинства моделей GLM. GLM-5.2 — исключение: он предоставляет /think off|low|high|max, сопоставляет low и high с Z.AI reasoning_effort: "high" и сопоставляет max с reasoning_effort: "max".
    • Moonshot Kimi K2.7 Code (moonshot/kimi-k2.7-code) всегда думает. Его профиль предоставляет только on, а OpenClaw опускает исходящее поле thinking, как требует Moonshot. Другие модели moonshot/* сопоставляют /think off с thinking: { type: "disabled" }, а любой уровень не off — с thinking: { type: "enabled" }. Когда мышление включено, Moonshot принимает только tool_choice auto|none; OpenClaw нормализует несовместимые значения до auto.

Порядок разрешения

  1. Встроенная директива в сообщении (применяется только к этому сообщению).
  2. Переопределение сессии (задается отправкой сообщения, состоящего только из директивы).
  3. Значение по умолчанию для агента (agents.list[].thinkingDefault в конфигурации).
  4. Глобальное значение по умолчанию (agents.defaults.thinkingDefault в конфигурации).
  5. Резервный вариант: объявленное поставщиком значение по умолчанию, если оно доступно; иначе модели с поддержкой рассуждения разрешаются в medium или ближайший поддерживаемый уровень не off для этой модели, а модели без рассуждения остаются off.

Настройка значения сессии по умолчанию

  • Отправьте сообщение, которое содержит только директиву (пробелы допускаются), например /think:medium или /t high.
  • Это закрепляется за текущей сессией (по умолчанию для каждого отправителя). Используйте /think default, чтобы очистить переопределение сессии и наследовать настроенное/поставщиком значение по умолчанию; псевдонимы включают inherit, clear, reset и unpin.
  • /think off сохраняет явное переопределение выключения. Оно отключает мышление, пока вы не измените или не очистите переопределение сессии.
  • Отправляется ответ с подтверждением (Thinking level set to high. / Thinking disabled.). Если уровень недопустим (например, /thinking big), команда отклоняется с подсказкой, а состояние сессии остается неизменным.
  • Отправьте /think (или /think:) без аргумента, чтобы увидеть текущий уровень мышления.

Применение агентом

  • Встроенный OpenClaw: разрешенный уровень передается во внутрипроцессную среду выполнения агента OpenClaw.
  • Бэкенд Claude CLI: уровни не off передаются в Claude Code как --effort при использовании claude-cli; см. бэкенды CLI.

Быстрый режим (/fast)

  • Уровни: auto|on|off|default.
  • Сообщение, состоящее только из директивы, переключает переопределение быстрого режима сессии и отвечает Fast mode set to auto., Fast mode enabled. или Fast mode disabled.. Используйте /fast default, чтобы очистить переопределение сессии и наследовать настроенное значение по умолчанию; псевдонимы включают inherit, clear, reset и unpin.
  • Отправьте /fast (или /fast status) без режима, чтобы увидеть текущее эффективное состояние быстрого режима.
  • OpenClaw разрешает быстрый режим в таком порядке:
    1. Встроенное/состоящее только из директивы переопределение /fast auto|on|off (/fast default очищает этот слой)
    2. Переопределение сессии
    3. Значение по умолчанию для агента (agents.list[].fastModeDefault)
    4. Конфигурация для модели: agents.defaults.models["<provider>/<model>"].params.fastMode
    5. Резервный вариант: off
  • auto сохраняет режим сессии/конфигурации как auto, но разрешает каждый новый вызов модели независимо. Вызовы, начатые до отсечки auto, имеют включенный быстрый режим; последующие повторные попытки, резервные варианты, вызовы с результатами инструментов или продолжения запускаются с отключенным быстрым режимом. Отсечка по умолчанию составляет 60 секунд; задайте agents.defaults.models["<provider>/<model>"].params.fastAutoOnSeconds на активной модели, чтобы изменить ее.
  • Для openai/* быстрый режим сопоставляется с приоритетной обработкой OpenAI путем отправки service_tier=priority в поддерживаемых запросах Responses.
  • Для моделей openai/* / openai-codex/* на базе Codex быстрый режим отправляет тот же флаг service_tier=priority в Codex Responses. Нативные ходы app-server Codex получают уровень только на turn/start или при старте/возобновлении потока, поэтому auto не может изменить уровень уже выполняющегося хода app-server; он применяется к следующему ходу модели, который запускает OpenClaw.
  • Для прямых публичных запросов anthropic/*, включая трафик с OAuth-аутентификацией, отправляемый на api.anthropic.com, быстрый режим сопоставляется с уровнями сервиса Anthropic: /fast on задает service_tier=auto, /fast off задает service_tier=standard_only.
  • Для minimax/* на Anthropic-совместимом пути /fast on (или params.fastMode: true) переписывает MiniMax-M2.7 в MiniMax-M2.7-highspeed.
  • Явные параметры модели Anthropic serviceTier / service_tier переопределяют значение быстрого режима по умолчанию, когда заданы оба. OpenClaw по-прежнему пропускает внедрение уровня сервиса Anthropic для базовых URL прокси, не относящихся к Anthropic.
  • /status показывает Fast, когда быстрый режим включен, и Fast:auto, когда настроенный режим — auto.

Директивы подробного вывода (/verbose или /v)

  • Уровни: on (минимальный) | full | off (по умолчанию).
  • Сообщение, состоящее только из директивы, переключает подробный вывод сессии и отвечает Verbose logging enabled. / Verbose logging disabled.; недопустимые уровни возвращают подсказку без изменения состояния.
  • /verbose off сохраняет явное переопределение сессии; очистите его через UI сессий, выбрав inherit.
  • Авторизованные отправители внешних каналов могут сохранять переопределение подробного вывода сессии. Внутренним клиентам gateway/webchat требуется operator.admin, чтобы сохранять его.
  • Встроенная директива влияет только на это сообщение; в остальных случаях применяются значения сессии/глобальные значения по умолчанию.
  • Отправьте /verbose (или /verbose:) без аргумента, чтобы увидеть текущий уровень подробного вывода.
  • Когда подробный вывод включен, агенты, выдающие структурированные результаты инструментов, отправляют каждый вызов инструмента обратно как отдельное сообщение только с метаданными, с префиксом <emoji> <tool-name>: <arg>, когда доступно. Эти сводки инструментов отправляются сразу при запуске каждого инструмента (отдельными пузырями), а не как потоковые дельты.
  • Сводки сбоев инструментов остаются видимыми в обычном режиме, но суффиксы с необработанными деталями ошибок скрыты, если подробный вывод не равен full.
  • Когда подробный вывод равен full, выходные данные инструментов также пересылаются после завершения (отдельным пузырем, усеченные до безопасной длины). Если вы переключаете /verbose on|full|off во время выполнения запуска, последующие пузыри инструментов учитывают новую настройку.
  • agents.defaults.toolProgressDetail управляет формой сводок инструментов /verbose и строк инструментов в черновике прогресса. Используйте "explain" (по умолчанию) для компактных человекочитаемых меток вроде 🛠️ Exec: checking JS syntax; используйте "raw", когда также хотите добавить необработанную команду/детали для отладки. agents.list[].toolProgressDetail для агента переопределяет значение по умолчанию.
    • explain: 🛠️ Exec: check JS syntax for /tmp/app.js
    • raw: 🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js

Директивы трассировки Plugin (/trace)

  • Уровни: on | off (по умолчанию).
  • Сообщение, состоящее только из директивы, переключает вывод трассировки Plugin сессии и отвечает Plugin trace enabled. / Plugin trace disabled..
  • Встроенная директива влияет только на это сообщение; в остальных случаях применяются значения сессии/глобальные значения по умолчанию.
  • Отправьте /trace (или /trace:) без аргумента, чтобы увидеть текущий уровень трассировки.
  • /trace уже, чем /verbose: она показывает только принадлежащие Plugin строки трассировки/отладки, например отладочные сводки Active Memory.
  • Строки трассировки могут появляться в /status и как последующее диагностическое сообщение после обычного ответа ассистента.

Видимость рассуждения (/reasoning)

  • Уровни: on|off|stream.
  • Сообщение, состоящее только из директивы, переключает, показываются ли блоки мышления в ответах.
  • Когда включено, рассуждение отправляется как отдельное сообщение с префиксом Thinking.
  • stream: передает рассуждение потоком во время генерации ответа, когда активный канал поддерживает предпросмотр рассуждения, затем отправляет финальный ответ без рассуждения.
  • Псевдоним: /reason.
  • Отправьте /reasoning (или /reasoning:) без аргумента, чтобы увидеть текущий уровень рассуждения.
  • Порядок разрешения: встроенная директива, затем переопределение сессии, затем значение по умолчанию для агента (agents.list[].reasoningDefault), затем глобальное значение по умолчанию (agents.defaults.reasoningDefault), затем резервный вариант (off).

Теги рассуждений локальной модели с неправильной структурой обрабатываются консервативно. Закрытые блоки <think>...</think> остаются скрытыми в обычных ответах, а незакрытые рассуждения после уже видимого текста также скрываются. Если ответ полностью обернут в один незакрытый открывающий тег и иначе был бы доставлен как пустой текст, OpenClaw удаляет неправильный открывающий тег и доставляет оставшийся текст.

Связанные материалы

Heartbeat

  • Тело проверки Heartbeat — это настроенный запрос Heartbeat (по умолчанию: 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.). Встроенные директивы в сообщении Heartbeat применяются как обычно (но избегайте изменения настроек сеанса по умолчанию из Heartbeat).
  • Доставка Heartbeat по умолчанию отправляет только финальную полезную нагрузку. Чтобы также отправлять отдельное сообщение Thinking (когда доступно), задайте agents.defaults.heartbeat.includeReasoning: true или для отдельного агента agents.list[].heartbeat.includeReasoning: true.

Веб-интерфейс чата

  • Селектор рассуждений в веб-чате при загрузке страницы отражает сохраненный уровень сеанса из входного хранилища сеансов/конфигурации.
  • Выбор другого уровня немедленно записывает переопределение сеанса через sessions.patch; он не ждет следующей отправки и не является одноразовым переопределением thinkingOnce.
  • Первый вариант всегда очищает переопределение. Он показывает Inherited: <resolved level>, включая Inherited: Off, когда унаследованные рассуждения отключены.
  • Явные варианты в селекторе используют свои прямые метки уровней, сохраняя метки провайдера, когда они есть (например, Maximum для варианта max с меткой провайдера).
  • Селектор использует thinkingLevels, возвращенные строкой сеанса Gateway/настройками по умолчанию, а thinkingOptions сохраняется как устаревший список меток. Интерфейс браузера не хранит собственный список регулярных выражений провайдеров; плагины владеют наборами уровней для конкретных моделей.
  • /think:<level> по-прежнему работает и обновляет тот же сохраненный уровень сеанса, поэтому директивы чата и селектор остаются синхронизированными.

Профили провайдеров

  • Плагины провайдеров могут предоставлять resolveThinkingProfile(ctx), чтобы определить поддерживаемые моделью уровни и значение по умолчанию.
  • Плагины провайдеров, которые проксируют модели Claude, должны повторно использовать resolveClaudeThinkingProfile(modelId) из openclaw/plugin-sdk/provider-model-shared, чтобы прямые каталоги Anthropic и прокси-каталоги оставались согласованными.
  • Каждый уровень профиля имеет сохраненный канонический id (off, minimal, low, medium, high, xhigh, adaptive или max) и может включать отображаемую label. Бинарные провайдеры используют { id: "low", label: "on" }.
  • Хуки профиля получают объединенные факты каталога, когда они доступны, включая reasoning, compat.thinkingFormat и compat.supportedReasoningEfforts. Используйте эти факты, чтобы раскрывать бинарные или пользовательские профили только тогда, когда настроенный контракт запроса поддерживает соответствующую полезную нагрузку.
  • Плагины инструментов, которым нужно проверять явное переопределение рассуждений, должны использовать api.runtime.agent.resolveThinkingPolicy({ provider, model }) вместе с api.runtime.agent.normalizeThinkingLevel(...); им не следует хранить собственные списки уровней провайдеров/моделей.
  • Плагины инструментов с доступом к настроенным пользовательским метаданным модели могут передавать catalog в resolveThinkingPolicy, чтобы явные включения compat.supportedReasoningEfforts отражались в проверке на стороне плагина.
  • Опубликованные устаревшие хуки (supportsXHighThinking, isBinaryThinking и resolveDefaultThinkingLevel) остаются адаптерами совместимости, но новые пользовательские наборы уровней должны использовать resolveThinkingProfile.
  • Строки Gateway/настройки по умолчанию раскрывают thinkingLevels, thinkingOptions и thinkingDefault, чтобы клиенты ACP/чата отображали те же идентификаторы и метки профилей, которые использует проверка во время выполнения.
Was this useful?
On this page

On this page