| read_when |
summary |
title |
x-i18n |
| تنظیم تجزیه یا پیشفرضهای دستورالعملهای تفکر، حالت سریع یا پرجزئیات |
|
نحو دستورالعملها برای /think، /fast، /verbose، /trace و قابلیت مشاهدهٔ استدلال |
سطوح تفکر |
| generated_at |
model |
provider |
source_hash |
source_path |
workflow |
| 2026-05-04T18:23:34Z |
gpt-5.5 |
openai |
fcd1cd76ca5d0b08656e0629df656ad8aa037201d8de68093b3e46eb0708f811 |
tools/thinking.md |
16 |
|
چه کاری انجام میدهد
- دستور درونخطی در هر بدنهٔ ورودی:
/t <level>، /think:<level> یا /thinking <level>.
- سطحها (نامهای مستعار):
off | minimal | low | medium | high | xhigh | adaptive | max
- minimal → «فکر کن»
- low → «سخت فکر کن»
- medium → «سختتر فکر کن»
- high → «بسیار عمیق فکر کن» (حداکثر بودجه)
- xhigh → «بسیار عمیق فکر کن+» (مدلهای 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 را ارائه میکنند؛ هر دو به reasoning_effort: "max" در DeepSeek نگاشت میشوند، در حالی که سطحهای پایینتر غیر off به high نگاشت میشوند.
- مدلهای دارای قابلیت تفکر 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 میتوانند با تنظیم
models.providers.<provider>.models[].compat.supportedReasoningEfforts برای شامل کردن "xhigh"، از /think xhigh پشتیبانی کنند. این از همان فرادادهٔ سازگاری استفاده میکند که بارهای دادهٔ تلاش استدلال خروجی OpenAI را نگاشت میکند، بنابراین منوها، اعتبارسنجی نشست، CLI عامل و llm-task با رفتار انتقال همنظر میمانند.
- ارجاعهای پیکربندیشدهٔ قدیمی OpenRouter Hunter Alpha تزریق استدلال پروکسی را رد میکنند، چون آن مسیر بازنشسته میتوانست متن پاسخ نهایی را از طریق فیلدهای استدلال برگرداند.
- Google Gemini دستور
/think adaptive را به تفکر پویای متعلق به ارائهدهندهٔ Gemini نگاشت میکند. درخواستهای Gemini 3 یک thinkingLevel ثابت را حذف میکنند، در حالی که درخواستهای Gemini 2.5 مقدار thinkingBudget: -1 را میفرستند؛ سطحهای ثابت همچنان به نزدیکترین thinkingLevel یا بودجهٔ Gemini برای آن خانوادهٔ مدل نگاشت میشوند.
- 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 نرمالسازی میکند.
ترتیب حلوفصل
- دستور درونخطی روی پیام (فقط روی همان پیام اعمال میشود).
- بازنویسی نشست (با ارسال یک پیام فقط شامل دستور تنظیم میشود).
- پیشفرض هر عامل (
agents.list[].thinkingDefault در پیکربندی).
- پیشفرض سراسری (
agents.defaults.thinkingDefault در پیکربندی).
- پشتیبان: پیشفرض اعلامشده توسط ارائهدهنده، اگر موجود باشد؛ در غیر این صورت مدلهای دارای قابلیت استدلال به
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-cli بهعنوان --effort به Claude Code پاس داده میشوند؛ بکاندهای CLI را ببینید.
حالت سریع (/fast)
- سطحها:
on|off.
- پیام فقط شامل دستور، بازنویسی حالت سریع نشست را تغییر میدهد و پاسخ
Fast mode enabled. / Fast mode disabled. میدهد.
- برای دیدن وضعیت مؤثر فعلی حالت سریع،
/fast (یا /fast status) را بدون حالت بفرستید.
- OpenClaw حالت سریع را به این ترتیب حل میکند:
/fast on|off درونخطی/فقط شامل دستور
- بازنویسی نشست
- پیشفرض هر عامل (
agents.list[].fastModeDefault)
- پیکربندی هر مدل:
agents.defaults.models["<provider>/<model>"].params.fastMode
- پشتیبان:
off
- برای
openai/*، حالت سریع با ارسال service_tier=priority روی درخواستهای Responses پشتیبانیشده به پردازش اولویتدار OpenAI نگاشت میشود.
- برای
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 یک بازنویسی صریح نشست ذخیره میکند؛ آن را از طریق رابط کاربری 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 را تنظیم کنید.
رابط کاربری چت وب
- انتخابگر تفکر چت وب هنگام بارگذاری صفحه، سطح ذخیرهشدهٔ نشست را از مخزن/پیکربندی نشست ورودی بازتاب میدهد.
- انتخاب سطحی دیگر، بازنویسی نشست را بلافاصله از طریق
sessions.patch مینویسد؛ منتظر ارسال بعدی نمیماند و یک بازنویسی یکبارهٔ thinkingOnce نیست.
- گزینهٔ اول همیشه
Default (<resolved level>) است، که در آن پیشفرض حلشده از پروفایل تفکر ارائهدهندهٔ مدل نشست فعال بههمراه همان منطق پشتیبانیای میآید که /status و session_status استفاده میکنند.
- انتخابگر از
thinkingLevels برگشتی از ردیف/پیشفرضهای نشست Gateway استفاده میکند، و thinkingOptions بهعنوان فهرست برچسب قدیمی نگه داشته میشود. رابط کاربری مرورگر فهرست regex ارائهدهندهٔ خودش را نگه نمیدارد؛ 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" } استفاده میکنند.
- Pluginهای ابزار که نیاز دارند یک بازنویسی صریح تفکر را اعتبارسنجی کنند باید از
api.runtime.agent.resolveThinkingPolicy({ provider, model }) بههمراه api.runtime.agent.normalizeThinkingLevel(...) استفاده کنند؛ آنها نباید فهرستهای سطح ارائهدهنده/مدل خودشان را نگه دارند.
- Pluginهای ابزار که به فراداده پیکربندیشده مدل سفارشی دسترسی دارند میتوانند
catalog را به resolveThinkingPolicy پاس بدهند تا opt-inهای compat.supportedReasoningEfforts در اعتبارسنجی سمت Plugin منعکس شوند.
- هوکهای قدیمی منتشرشده (
supportsXHighThinking، isBinaryThinking، و resolveDefaultThinkingLevel) بهعنوان آداپترهای سازگاری باقی میمانند، اما مجموعههای سطح سفارشی جدید باید از resolveThinkingProfile استفاده کنند.
- ردیفها/پیشفرضهای Gateway،
thinkingLevels، thinkingOptions، و thinkingDefault را در معرض دسترس قرار میدهند تا کلاینتهای ACP/چت همان شناسهها و برچسبهای پروفایلی را رندر کنند که اعتبارسنجی زمان اجرا استفاده میکند.