Tools

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

Что делает

  • Встроенная директива в любом теле входящего сообщения: /t <level>, /think:<level> или /thinking <level>.
  • Уровни (псевдонимы): off | minimal | low | medium | high | xhigh | adaptive | max | ultra, примерно соответствующие классической лестнице ключевых слов Anthropic «think» < «think hard» < «think harder» < «ultrathink»:
    • minimal ~ «think»
    • low ~ «think hard»
    • medium ~ «think harder»
    • 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)
    • ultra → максимальное рассуждение провайдера и проактивная оркестрация субагентов, если выбранная модель или среда выполнения это поддерживает
    • x-high, x_high, extra-high, extra high и extra_high сопоставляются с xhigh.
    • highest сопоставляется с high.
  • Примечания о провайдерах:
    • Меню и селекторы мышления определяются профилем провайдера. Плагины провайдеров объявляют точный набор уровней для выбранной модели, включая такие метки, как двоичный on.
    • adaptive, xhigh, max и ultra предлагаются только для поддерживающих их профилей провайдера, модели и среды выполнения. Типизированные директивы с неподдерживаемыми уровнями отклоняются с указанием допустимых для этой модели вариантов.
    • Существующие сохранённые неподдерживаемые уровни переназначаются по рангу профиля провайдера. Для моделей без адаптивного режима adaptive заменяется на medium, а xhigh и max — на наибольший поддерживаемый выбранной моделью уровень, отличный от отключённого.
    • Если уровень мышления явно не задан, модели 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; он сопоставляется с тем же определяемым провайдером путём максимальных усилий.
    • Модели Direct DeepSeek V4 предоставляют /think xhigh|max; оба значения сопоставляются с DeepSeek reasoning_effort: "max", а более низкие уровни, отличные от отключённого, — с high.
    • Модели DeepSeek V4, маршрутизируемые через OpenRouter, предоставляют /think xhigh и отправляют поддерживаемые OpenRouter значения reasoning.effort вместо нативного для DeepSeek верхнеуровневого reasoning_effort. Более низкие уровни, отличные от отключённого, сопоставляются с 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 не включает отключённую полезную нагрузку рассуждений, а не отправляет неподдерживаемое значение.
    • GPT-5.6 Sol и Terra предоставляют нативный /think ultra через среду выполнения Codex. GPT-5.6 Luna предоставляет уровни вплоть до max, поскольку её каталог Codex не объявляет Ultra.
    • Встроенная среда выполнения OpenClaw предоставляет логический /think ultra для GPT-5.6 Sol, Terra и Luna. Она отправляет максимальный уровень усилий провайдера и добавляет действующие в рамках запуска инструкции по проактивной оркестрации субагентов.
    • Пользовательские записи каталога, совместимые с 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: при использовании claude-cli конкретные уровни, отличные от отключённого, передаются в Claude Code как --effort; adaptive удаляет настроенные флаги усилий и передаёт определение фактических усилий окружению, настройкам и значениям модели по умолчанию в Claude Code. См. серверные части 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 сохраняет для сеанса или конфигурации автоматический режим, но разрешает каждый новый вызов модели независимо. Для вызовов, начавшихся до порогового времени автоматического режима, быстрый режим включён; более поздние повторные, резервные, последующие вызовы или вызовы с результатами инструментов начинаются с отключённым быстрым режимом. Пороговое время по умолчанию составляет 60 секунд; чтобы изменить его, задайте agents.defaults.models["<provider>/<model>"].params.fastAutoOnSeconds для активной модели.
  • Для openai/* быстрый режим сопоставляется с приоритетной обработкой OpenAI путём отправки service_tier=priority в поддерживаемых запросах Responses.
  • Для моделей openai/* / openai-codex/*, работающих через Codex, быстрый режим отправляет тот же флаг service_tier=priority в Codex Responses. Нативные ходы сервера приложений Codex получают уровень только при turn/start либо при запуске или возобновлении потока, поэтому auto не может изменить уровень уже выполняющегося хода сервера приложений; настройка применяется к следующему ходу модели, запущенному OpenClaw.
  • Для прямых публичных запросов anthropic/*, включая трафик с аутентификацией OAuth, отправляемый в api.anthropic.com, быстрый режим сопоставляется с уровнями обслуживания Anthropic: /fast on задаёт service_tier=auto, а /fast offservice_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, когда настроен автоматический режим.

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

  • Уровни: on (минимальный) | full | off (по умолчанию).
  • Сообщение, содержащее только директиву, переключает подробный режим сеанса и отвечает Verbose logging enabled. / Verbose logging disabled.; при недопустимом уровне возвращается подсказка без изменения состояния.
  • /verbose off сохраняет явное переопределение для сеанса; сбросьте его в интерфейсе Sessions, выбрав inherit.
  • Авторизованные отправители из внешних каналов могут сохранять переопределение подробного режима для сеанса. Внутренним клиентам Gateway и веб-чата для его сохранения требуется 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

Директивы трассировки плагинов (/trace)

  • Уровни: on | off (по умолчанию).
  • Сообщение, содержащее только директиву, переключает вывод трассировки плагинов для сеанса и отвечает Plugin trace enabled. / Plugin trace disabled..
  • Встроенная директива влияет только на это сообщение; в остальных случаях применяются значения по умолчанию для сеанса или глобальные значения.
  • Отправьте /trace (или /trace:) без аргумента, чтобы увидеть текущий уровень трассировки.
  • /trace имеет более узкую область действия, чем /verbose: он показывает только строки трассировки и отладки, принадлежащие плагину, например отладочные сводки 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 или ultra) и может содержать отображаемую метку label. Двоичные провайдеры используют { id: "low", label: "on" }.
  • Обработчики профилей получают объединённые данные каталога при их наличии, включая reasoning, compat.thinkingFormat и compat.supportedReasoningEfforts. Используйте эти данные для предоставления двоичных или пользовательских профилей только тогда, когда настроенный контракт запроса поддерживает соответствующую полезную нагрузку.
  • Плагины инструментов, которым требуется проверять явное переопределение размышлений, должны использовать api.runtime.agent.resolveThinkingPolicy({ provider, model, agentRuntime }) совместно с api.runtime.agent.normalizeThinkingLevel(...); им не следует хранить собственные списки уровней провайдеров и моделей. Передавайте agentRuntime, когда инструмент управляет путём выполнения, например при всегда встроенном запуске.
  • Плагины инструментов, имеющие доступ к настроенным пользовательским метаданным модели, могут передавать catalog в resolveThinkingPolicy, чтобы явно включённые параметры compat.supportedReasoningEfforts учитывались при проверке на стороне плагина.
  • Опубликованные устаревшие обработчики (supportsXHighThinking, isBinaryThinking и resolveDefaultThinkingLevel) сохраняются как адаптеры совместимости, но для новых пользовательских наборов уровней следует использовать resolveThinkingProfile.
  • Строки и значения по умолчанию Gateway предоставляют thinkingLevels, thinkingOptions и thinkingDefault, чтобы клиенты ACP и чата отображали те же идентификаторы и метки профилей, которые используются при проверке во время выполнения.
Was this useful?
On this page

On this page