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 → максимальне міркування провайдера (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.7 не використовує адаптивне мислення за замовчуванням. Його стандартне зусилля API залишається відповідальністю провайдера, якщо ви явно не задасте рівень мислення.
    • Anthropic Claude Opus 4.7 зіставляє /think xhigh з адаптивним мисленням плюс output_config.effort: "xhigh", бо /think є директивою мислення, а xhigh є налаштуванням зусилля Opus 4.7.
    • 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. Збережені перевизначення 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 (minimax/*) на потоковому шляху, сумісному з Anthropic, за замовчуванням використовує thinking: { type: "disabled" }, якщо ви явно не задасте мислення в параметрах моделі або параметрах запиту. Це запобігає витоку дельт reasoning_content з ненативного формату потоку Anthropic у MiniMax.
    • Z.AI (zai/*) підтримує лише бінарне мислення (on/off). Будь-який рівень не off вважається on (зіставляється з low).
    • 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:off або скидання через бездіяльність сесії.
  • Надсилається відповідь із підтвердженням (Thinking level set to high. / Thinking disabled.). Якщо рівень недійсний (наприклад, /thinking big), команду відхилено з підказкою, а стан сесії залишається без змін.
  • Надішліть /think (або /think:) без аргументу, щоб переглянути поточний рівень мислення.

Застосування за агентом

  • Вбудований Pi: визначений рівень передається в середовище виконання агента Pi в процесі.
  • Бекенд Claude CLI: рівні не off передаються до Claude Code як --effort під час використання claude-cli; див. бекенди CLI.

Швидкий режим (/fast)

  • Рівні: on|off.
  • Повідомлення, що містить лише директиву, перемикає перевизначення швидкого режиму сесії та відповідає Fast mode enabled. / Fast mode disabled..
  • Надішліть /fast (або /fast status) без режиму, щоб переглянути поточний ефективний стан швидкого режиму.
  • OpenClaw визначає швидкий режим у такому порядку:
    1. Вбудоване повідомлення або повідомлення лише з директивою /fast on|off
    2. Перевизначення сесії
    3. Стандартне значення для агента (agents.list[].fastModeDefault)
    4. Конфігурація для моделі: agents.defaults.models["<provider>/<model>"].params.fastMode
    5. Резервний варіант: off
  • Для openai/* швидкий режим зіставляється з пріоритетною обробкою OpenAI через надсилання service_tier=priority у підтримуваних запитах Responses.
  • Для openai-codex/* швидкий режим надсилає той самий прапорець service_tier=priority у Codex Responses. OpenClaw зберігає один спільний перемикач /fast для обох шляхів автентифікації.
  • Для прямих публічних запитів 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 лише коли швидкий режим увімкнено.

Директиви докладності (/verbose або /v)

  • Рівні: on (мінімальний) | full | off (за замовчуванням).
  • Повідомлення, що містить лише директиву, перемикає докладність сесії та відповідає Verbose logging enabled. / Verbose logging disabled.; недійсні рівні повертають підказку без зміни стану.
  • /verbose off зберігає явне перевизначення сесії; очистьте його через UI Sessions, вибравши inherit.
  • Вбудована директива впливає лише на це повідомлення; інакше застосовуються стандартні значення сесії/глобальні стандартні значення.
  • Надішліть /verbose (або /verbose:) без аргументу, щоб переглянути поточний рівень докладності.
  • Коли докладність увімкнено, агенти, які генерують структуровані результати інструментів (Pi, інші JSON-агенти), надсилають кожен виклик інструмента назад як окреме повідомлення лише з метаданими, з префіксом <emoji> <tool-name>: <arg>, коли доступно. Ці підсумки інструментів надсилаються щойно кожен інструмент запускається (окремими бульбашками), а не як потокові дельти.
  • Підсумки збоїв інструментів залишаються видимими у звичайному режимі, але суфікси з сирими деталями помилки приховані, якщо докладність не on або 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.
  • Повідомлення, що містить лише директиву, перемикає, чи показувати блоки мислення у відповідях.
  • Коли ввімкнено, міркування надсилається як окреме повідомлення з префіксом Reasoning:.
  • stream (лише Telegram): передає міркування потоком у бульбашку чернетки Telegram, поки генерується відповідь, а потім надсилає фінальну відповідь без міркування.
  • Псевдонім: /reason.
  • Надішліть /reasoning (або /reasoning:) без аргументу, щоб переглянути поточний рівень міркування.
  • Порядок визначення: вбудована директива, потім перевизначення сесії, потім стандартне значення для агента (agents.list[].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 за замовчуванням обмежується лише фінальним навантаженням. Щоб також надсилати окреме повідомлення Reasoning: (коли доступне), задайте agents.defaults.heartbeat.includeReasoning: true або для агента agents.list[].heartbeat.includeReasoning: true.

UI вебчату

  • Селектор мислення вебчату віддзеркалює збережений рівень сесії з вхідного сховища сесій/конфігурації під час завантаження сторінки.
  • Вибір іншого рівня негайно записує перевизначення сесії через sessions.patch; він не чекає наступного надсилання й не є одноразовим перевизначенням thinkingOnce.
  • Перший варіант завжди Default (<resolved level>), де визначене стандартне значення береться з профілю мислення провайдера активної моделі сесії плюс та сама резервна логіка, яку використовують /status і session_status.
  • Засіб вибору використовує thinkingLevels, повернені рядком/стандартними значеннями сесії Gateway, причому thinkingOptions зберігається як застарілий список міток. UI браузера не зберігає власний список регулярних виразів провайдера; Plugin володіють наборами рівнів, специфічними для моделей.
  • /think:<level> усе ще працює й оновлює той самий збережений рівень сесії, тому директиви чату й засіб вибору залишаються синхронізованими.

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

  • Plugin-и провайдерів можуть надавати resolveThinkingProfile(ctx) для визначення підтримуваних рівнів моделі та значення за замовчуванням.
  • Plugin-и провайдерів, які проксіюють моделі Claude, мають повторно використовувати resolveClaudeThinkingProfile(modelId) з openclaw/plugin-sdk/provider-model-shared, щоб прямі каталоги Anthropic і проксі-каталоги залишалися узгодженими.
  • Кожен рівень профілю має збережений канонічний id (off, minimal, low, medium, high, xhigh, adaptive або max) і може містити відображуваний label. Бінарні провайдери використовують { id: "low", label: "on" }.
  • Tool Plugin-и, яким потрібно перевіряти явне перевизначення мислення, мають використовувати api.runtime.agent.resolveThinkingPolicy({ provider, model }) разом з api.runtime.agent.normalizeThinkingLevel(...); вони не мають зберігати власні списки рівнів провайдерів/моделей.
  • Tool Plugin-и з доступом до налаштованих метаданих користувацьких моделей можуть передавати catalog у resolveThinkingPolicy, щоб opt-in-и compat.supportedReasoningEfforts відображалися у перевірці на боці Plugin-а.
  • Опубліковані застарілі хуки (supportsXHighThinking, isBinaryThinking і resolveDefaultThinkingLevel) залишаються адаптерами сумісності, але нові набори користувацьких рівнів мають використовувати resolveThinkingProfile.
  • Рядки/значення за замовчуванням Gateway надають thinkingLevels, thinkingOptions і thinkingDefault, щоб клієнти ACP/чату відображали ті самі ідентифікатори профілів і мітки, які використовує перевірка під час виконання.