Tools

Рівні мислення

Що це робить

  • Вбудована директива в будь-якому вхідному тілі: /t <level>, /think:<level> або /thinking <level>.
  • Рівні (псевдоніми): off | minimal | low | medium | high | xhigh | adaptive | max
    • 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 → максимальне reasoning провайдера (Anthropic Claude Opus 4.7+; Ollama зіставляє це зі своїм найвищим нативним зусиллям think)
    • x-high, x_high, extra-high, extra high і extra_high зіставляються з xhigh.
    • highest зіставляється з high.
  • Примітки щодо провайдерів:
    • Меню та селектори мислення керуються профілем провайдера. Provider plugins оголошують точний набір рівнів для вибраної моделі, включно з мітками на кшталт бінарного 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 замість нативного верхньорівневого reasoning_effort DeepSeek. Нижчі рівні не-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 пропускає вимкнений payload reasoning замість надсилання непідтримуваного значення.
    • Користувацькі записи каталогу, сумісні з OpenAI, можуть увімкнути /think xhigh, задавши models.providers.<provider>.models[].compat.supportedReasoningEfforts так, щоб він містив "xhigh". Це використовує ті самі метадані сумісності, що зіставляють вихідні payload зусилля reasoning OpenAI, тож меню, валідація сеансу, CLI агента й llm-task узгоджуються з поведінкою транспорту.
    • Застарілі налаштовані посилання OpenRouter Hunter Alpha пропускають ін’єкцію proxy reasoning, бо цей вилучений маршрут міг повертати текст фінальної відповіді через поля reasoning.
    • Google Gemini зіставляє /think adaptive з провайдерським динамічним мисленням Gemini. Запити Gemini 3 пропускають фіксований thinkingLevel, тоді як запити Gemini 2.5 надсилають thinkingBudget: -1; фіксовані рівні все одно зіставляються з найближчим Gemini thinkingLevel або бюджетом для цієї сім’ї моделей.
    • MiniMax M2.x (minimax/MiniMax-M2*) на Anthropic-сумісному streaming-шляху за замовчуванням використовує thinking: { type: "disabled" }, якщо ви явно не задасте мислення в параметрах моделі або параметрах запиту. Це запобігає витоку дельт reasoning_content з ненативного Anthropic stream-формату 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. Резервний варіант: оголошене провайдером типове значення, якщо доступне; інакше моделі з підтримкою reasoning визначаються як medium або найближчий підтримуваний рівень не-off для цієї моделі, а моделі без reasoning залишаються 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-відсікання, мають увімкнений швидкий режим; пізніші retry, fallback, tool-result або continuation виклики стартують із вимкненим швидким режимом. Відсікання за замовчуванням становить 60 секунд; задайте agents.defaults.models["<provider>/<model>"].params.fastAutoOnSeconds для активної моделі, щоб змінити його.
  • Для openai/* швидкий режим зіставляється з пріоритетною обробкою OpenAI через надсилання service_tier=priority у підтримуваних запитах Responses.
  • Для моделей openai/* / openai-codex/*, підкріплених Codex, швидкий режим надсилає той самий прапорець service_tier=priority у Codex Responses. Нативні turns app-server Codex отримують tier лише під час turn/start або старту/відновлення thread, тож auto не може змінити tier для вже запущеного app-server turn; він застосовується до наступного model turn, який запускає OpenClaw.
  • Для прямих публічних запитів anthropic/*, включно з трафіком з OAuth-аутентифікацією, надісланим до api.anthropic.com, швидкий режим зіставляється з service tiers 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 усе одно пропускає ін’єкцію service-tier Anthropic для не-Anthropic proxy base URLs.
  • /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>, коли доступно. Ці підсумки інструментів надсилаються щойно кожен інструмент стартує (окремі bubbles), а не як streaming deltas.
  • Підсумки збоїв інструментів залишаються видимими у звичайному режимі, але суфікси сирих деталей помилок приховані, якщо докладність не full.
  • Коли докладність — full, виходи інструментів також пересилаються після завершення (окремий bubble, обрізаний до безпечної довжини). Якщо ви перемкнете /verbose on|full|off, поки виконання триває, наступні bubbles інструментів дотримуватимуться нового налаштування.
  • agents.defaults.toolProgressDetail керує формою підсумків інструментів /verbose і рядків інструментів у progress-draft. Використовуйте "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 (/reasoning)

  • Рівні: on|off|stream.
  • Повідомлення, що містить лише директиву, перемикає, чи показуються блоки мислення у відповідях.
  • Коли ввімкнено, reasoning надсилається як окреме повідомлення з префіксом Thinking.
  • stream: транслює reasoning під час генерації відповіді, коли активний канал підтримує попередні перегляди reasoning, а потім надсилає фінальну відповідь без reasoning.
  • Псевдонім: /reason.
  • Надішліть /reasoning (або /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 зберігається як застарілий список міток. Браузерний UI не зберігає власний список регулярних виразів провайдерів; plugins володіють наборами рівнів для конкретних моделей.
  • /think:<level> досі працює й оновлює той самий збережений рівень сесії, тож директиви чату та селектор залишаються синхронізованими.

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

  • Plugins провайдерів можуть надавати resolveThinkingProfile(ctx), щоб визначати підтримувані моделлю рівні та стандартне значення.
  • Plugins провайдерів, які проксіюють моделі 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. Використовуйте ці факти, щоб показувати бінарні або користувацькі профілі лише тоді, коли налаштований контракт запиту підтримує відповідне корисне навантаження.
  • Tool plugins, яким потрібно перевіряти явне перевизначення міркування, мають використовувати api.runtime.agent.resolveThinkingPolicy({ provider, model }) разом з api.runtime.agent.normalizeThinkingLevel(...); вони не мають зберігати власні списки рівнів провайдерів/моделей.
  • Tool plugins із доступом до налаштованих метаданих користувацької моделі можуть передавати catalog у resolveThinkingPolicy, щоб opt-in-и compat.supportedReasoningEfforts відображалися у валідації на боці Plugin.
  • Опубліковані застарілі хуки (supportsXHighThinking, isBinaryThinking і resolveDefaultThinkingLevel) залишаються як адаптери сумісності, але нові набори користувацьких рівнів мають використовувати resolveThinkingProfile.
  • Рядки/стандартні налаштування Gateway надають thinkingLevels, thinkingOptions і thinkingDefault, щоб клієнти ACP/чату відображали ті самі ідентифікатори та мітки профілів, які використовує runtime-валідація.
Was this useful?
On this page

On this page