---
read_when:
    - Menyesuaikan penguraian atau default untuk thinking, fast-mode, atau arahan verbose
summary: Sintaks direktif untuk /think, /fast, /verbose, /trace, dan visibilitas penalaran
title: Tingkat berpikir
x-i18n:
    generated_at: "2026-07-03T10:00:57Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 6383ac18fbef0d06a97df5c204d57829ae4993b8287f8ef60aeae197ea711722
    source_path: tools/thinking.md
    workflow: 16
---

## Fungsinya

- Direktif sebaris dalam badan masuk apa pun: `/t <level>`, `/think:<level>`, atau `/thinking <level>`.
- Level (alias): `off | minimal | low | medium | high | xhigh | adaptive | max`
  - minimal → "think"
  - low → "think hard"
  - medium → "think harder"
  - high → "ultrathink" (anggaran maksimal)
  - xhigh → "ultrathink+" (model GPT-5.2+ dan Codex, ditambah upaya Anthropic Claude Opus 4.7+)
  - adaptive → berpikir adaptif yang dikelola penyedia (didukung untuk Claude 4.6 di Anthropic/Bedrock, Anthropic Claude Opus 4.7+, dan Google Gemini dynamic thinking)
  - max → penalaran maksimal penyedia (Anthropic Claude Opus 4.7+; Ollama memetakan ini ke upaya native `think` tertingginya)
  - `x-high`, `x_high`, `extra-high`, `extra high`, dan `extra_high` dipetakan ke `xhigh`.
  - `highest` dipetakan ke `high`.
- Catatan penyedia:
  - Menu dan pemilih thinking digerakkan oleh profil penyedia. Plugin penyedia mendeklarasikan kumpulan level persis untuk model yang dipilih, termasuk label seperti biner `on`.
  - `adaptive`, `xhigh`, dan `max` hanya ditampilkan untuk profil penyedia/model yang mendukungnya. Direktif bertipe untuk level yang tidak didukung ditolak dengan opsi valid model tersebut.
  - Level tersimpan yang tidak didukung dipetakan ulang berdasarkan peringkat profil penyedia. `adaptive` mundur ke `medium` pada model non-adaptif, sedangkan `xhigh` dan `max` mundur ke level non-`off` terbesar yang didukung untuk model yang dipilih.
  - Model Anthropic Claude 4.6 default ke `adaptive` ketika tidak ada level thinking eksplisit yang ditetapkan.
  - Anthropic Claude Opus 4.8 dan Opus 4.7 tetap menonaktifkan thinking kecuali Anda menetapkan level thinking secara eksplisit. Default upaya milik penyedia Opus 4.8 adalah `high` setelah adaptive thinking diaktifkan.
  - Anthropic Claude Opus 4.7+ memetakan `/think xhigh` ke adaptive thinking ditambah `output_config.effort: "xhigh"`, karena `/think` adalah direktif thinking dan `xhigh` adalah pengaturan upaya Opus.
  - Anthropic Claude Opus 4.7+ juga mengekspos `/think max`; ini dipetakan ke jalur upaya maksimal milik penyedia yang sama.
  - Model Direct DeepSeek V4 mengekspos `/think xhigh|max`; keduanya dipetakan ke DeepSeek `reasoning_effort: "max"` sementara level non-off yang lebih rendah dipetakan ke `high`.
  - Model DeepSeek V4 yang dirutekan OpenRouter mengekspos `/think xhigh` dan mengirim nilai `reasoning.effort` yang didukung OpenRouter alih-alih `reasoning_effort` tingkat atas native DeepSeek. Level non-off yang lebih rendah dipetakan ke `high`, dan override `max` tersimpan mundur ke `xhigh`.
  - Model Ollama yang mendukung thinking mengekspos `/think low|medium|high|max`; `max` dipetakan ke native `think: "high"` karena API native Ollama menerima string upaya `low`, `medium`, dan `high`.
  - Model OpenAI GPT memetakan `/think` melalui dukungan upaya Responses API yang spesifik model. `/think off` mengirim `reasoning.effort: "none"` hanya ketika model target mendukungnya; jika tidak, OpenClaw menghilangkan payload penalaran yang dinonaktifkan alih-alih mengirim nilai yang tidak didukung.
  - Entri katalog kustom yang kompatibel dengan OpenAI dapat ikut menggunakan `/think xhigh` dengan menetapkan `models.providers.<provider>.models[].compat.supportedReasoningEfforts` agar menyertakan `"xhigh"`. Ini menggunakan metadata kompatibilitas yang sama yang memetakan payload upaya penalaran OpenAI keluar, sehingga menu, validasi sesi, CLI agen, dan `llm-task` selaras dengan perilaku transport.
  - Ref OpenRouter Hunter Alpha terkonfigurasi yang usang melewati injeksi penalaran proxy karena rute yang sudah dihentikan itu dapat mengembalikan teks jawaban final melalui bidang penalaran.
  - Google Gemini memetakan `/think adaptive` ke dynamic thinking milik penyedia Gemini. Permintaan Gemini 3 menghilangkan `thinkingLevel` tetap, sementara permintaan Gemini 2.5 mengirim `thinkingBudget: -1`; level tetap masih dipetakan ke `thinkingLevel` atau anggaran Gemini terdekat untuk keluarga model tersebut.
  - MiniMax M2.x (`minimax/MiniMax-M2*`) pada jalur streaming yang kompatibel dengan Anthropic default ke `thinking: { type: "disabled" }` kecuali Anda menetapkan thinking secara eksplisit dalam parameter model atau parameter permintaan. Ini menghindari delta `reasoning_content` yang bocor dari format stream Anthropic non-native M2.x. MiniMax-M3 (dan M3.x) dikecualikan: M3 memancarkan blok thinking Anthropic yang benar dan mengembalikan konten kosong ketika thinking dinonaktifkan, sehingga OpenClaw mempertahankan M3 pada jalur thinking adaptif/dihilangkan milik penyedia.
  - Z.AI (`zai/*`) bersifat biner (`on`/`off`) untuk sebagian besar model GLM. GLM-5.2 adalah pengecualian: model ini mengekspos `/think off|low|high|max`, memetakan `low` dan `high` ke Z.AI `reasoning_effort: "high"`, dan memetakan `max` ke `reasoning_effort: "max"`.
  - Moonshot Kimi K2.7 Code (`moonshot/kimi-k2.7-code`) selalu berpikir. Profilnya hanya mengekspos `on`, dan OpenClaw menghilangkan bidang `thinking` keluar seperti yang diwajibkan Moonshot. Model `moonshot/*` lain memetakan `/think off` ke `thinking: { type: "disabled" }` dan level non-`off` apa pun ke `thinking: { type: "enabled" }`. Ketika thinking diaktifkan, Moonshot hanya menerima `tool_choice` `auto|none`; OpenClaw menormalkan nilai yang tidak kompatibel menjadi `auto`.

## Urutan resolusi

1. Direktif sebaris pada pesan (hanya berlaku untuk pesan tersebut).
2. Override sesi (ditetapkan dengan mengirim pesan yang hanya berisi direktif).
3. Default per agen (`agents.list[].thinkingDefault` dalam konfigurasi).
4. Default global (`agents.defaults.thinkingDefault` dalam konfigurasi).
5. Fallback: default yang dideklarasikan penyedia ketika tersedia; jika tidak, model yang mampu bernalar diselesaikan ke `medium` atau level non-`off` terdekat yang didukung untuk model tersebut, dan model yang tidak bernalar tetap `off`.

## Menetapkan default sesi

- Kirim pesan yang **hanya** berisi direktif (spasi kosong diperbolehkan), misalnya `/think:medium` atau `/t high`.
- Itu tetap berlaku untuk sesi saat ini (defaultnya per pengirim). Gunakan `/think default` untuk menghapus override sesi dan mewarisi default konfigurasi/penyedia; alias mencakup `inherit`, `clear`, `reset`, dan `unpin`.
- `/think off` menyimpan override off eksplisit. Ini menonaktifkan thinking sampai Anda mengubah atau menghapus override sesi.
- Balasan konfirmasi dikirim (`Thinking level set to high.` / `Thinking disabled.`). Jika level tidak valid (misalnya `/thinking big`), perintah ditolak dengan petunjuk dan status sesi dibiarkan tidak berubah.
- Kirim `/think` (atau `/think:`) tanpa argumen untuk melihat level thinking saat ini.

## Penerapan berdasarkan agen

- **OpenClaw tertanam**: level yang diselesaikan diteruskan ke runtime agen OpenClaw dalam proses.
- **Backend Claude CLI**: level non-off diteruskan ke Claude Code sebagai `--effort` saat menggunakan `claude-cli`; lihat [Backend CLI](/id/gateway/cli-backends).

## Mode cepat (/fast)

- Level: `auto|on|off|default`.
- Pesan yang hanya berisi direktif mengaktifkan override mode cepat sesi dan membalas `Fast mode set to auto.`, `Fast mode enabled.`, atau `Fast mode disabled.`. Gunakan `/fast default` untuk menghapus override sesi dan mewarisi default terkonfigurasi; alias mencakup `inherit`, `clear`, `reset`, dan `unpin`.
- Kirim `/fast` (atau `/fast status`) tanpa mode untuk melihat status mode cepat efektif saat ini.
- OpenClaw menyelesaikan mode cepat dalam urutan ini:
  1. Override `/fast auto|on|off` sebaris/hanya-direktif (`/fast default` menghapus lapisan ini)
  2. Override sesi
  3. Default per agen (`agents.list[].fastModeDefault`)
  4. Konfigurasi per model: `agents.defaults.models["<provider>/<model>"].params.fastMode`
  5. Fallback: `off`
- `auto` mempertahankan mode sesi/konfigurasi sebagai auto tetapi menyelesaikan setiap panggilan model baru secara independen. Panggilan yang dimulai sebelum batas auto mengaktifkan mode cepat; panggilan retry, fallback, hasil tool, atau lanjutan yang lebih lambat dimulai dengan mode cepat dinonaktifkan. Batas defaultnya 60 detik; tetapkan `agents.defaults.models["<provider>/<model>"].params.fastAutoOnSeconds` pada model aktif untuk mengubahnya.
- Untuk `openai/*`, mode cepat dipetakan ke pemrosesan prioritas OpenAI dengan mengirim `service_tier=priority` pada permintaan Responses yang didukung.
- Untuk model `openai/*` / `openai-codex/*` yang didukung Codex, mode cepat mengirim flag `service_tier=priority` yang sama pada Codex Responses. Giliran app-server Codex native menerima tier hanya pada `turn/start` atau mulai/lanjutkan thread, sehingga `auto` tidak dapat mengganti tier satu giliran app-server yang sudah berjalan; ini berlaku pada giliran model berikutnya yang dimulai OpenClaw.
- Untuk permintaan publik langsung `anthropic/*`, termasuk lalu lintas terautentikasi OAuth yang dikirim ke `api.anthropic.com`, mode cepat dipetakan ke tier layanan Anthropic: `/fast on` menetapkan `service_tier=auto`, `/fast off` menetapkan `service_tier=standard_only`.
- Untuk `minimax/*` pada jalur yang kompatibel dengan Anthropic, `/fast on` (atau `params.fastMode: true`) menulis ulang `MiniMax-M2.7` menjadi `MiniMax-M2.7-highspeed`.
- Parameter model Anthropic `serviceTier` / `service_tier` eksplisit mengesampingkan default mode cepat ketika keduanya ditetapkan. OpenClaw tetap melewati injeksi tier layanan Anthropic untuk URL dasar proxy non-Anthropic.
- `/status` menampilkan `Fast` ketika mode cepat diaktifkan dan `Fast:auto` ketika mode terkonfigurasi adalah auto.

## Direktif verbose (/verbose atau /v)

- Level: `on` (minimal) | `full` | `off` (default).
- Pesan yang hanya berisi direktif mengaktifkan verbose sesi dan membalas `Verbose logging enabled.` / `Verbose logging disabled.`; level tidak valid mengembalikan petunjuk tanpa mengubah status.
- `/verbose off` menyimpan override sesi eksplisit; hapus melalui UI Sesi dengan memilih `inherit`.
- Pengirim kanal eksternal yang berwenang dapat mempertahankan override verbose sesi. Klien gateway/webchat internal memerlukan `operator.admin` untuk mempertahankannya.
- Direktif sebaris hanya memengaruhi pesan tersebut; default sesi/global berlaku selain itu.
- Kirim `/verbose` (atau `/verbose:`) tanpa argumen untuk melihat level verbose saat ini.
- Ketika verbose aktif, agen yang memancarkan hasil tool terstruktur mengirim setiap panggilan tool kembali sebagai pesan metadata-saja sendiri, diawali dengan `<emoji> <tool-name>: <arg>` jika tersedia. Ringkasan tool ini dikirim segera setelah setiap tool dimulai (gelembung terpisah), bukan sebagai delta streaming.
- Ringkasan kegagalan tool tetap terlihat dalam mode normal, tetapi sufiks detail kesalahan mentah disembunyikan kecuali verbose adalah `full`.
- Ketika verbose adalah `full`, keluaran tool juga diteruskan setelah selesai (gelembung terpisah, dipotong ke panjang aman). Jika Anda mengaktifkan `/verbose on|full|off` saat sebuah run sedang berlangsung, gelembung tool berikutnya mengikuti pengaturan baru.
- `agents.defaults.toolProgressDetail` mengontrol bentuk ringkasan tool `/verbose` dan baris tool draf progres. Gunakan `"explain"` (default) untuk label manusia yang ringkas seperti `🛠️ Exec: checking JS syntax`; gunakan `"raw"` ketika Anda juga ingin perintah/detail mentah ditambahkan untuk debugging. `agents.list[].toolProgressDetail` per agen mengesampingkan default.
  - `explain`: `🛠️ Exec: check JS syntax for /tmp/app.js`
  - `raw`: `🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js`

## Direktif trace Plugin (/trace)

- Level: `on` | `off` (default).
- Pesan yang hanya berisi direktif mengaktifkan keluaran trace Plugin sesi dan membalas `Plugin trace enabled.` / `Plugin trace disabled.`.
- Direktif sebaris hanya memengaruhi pesan tersebut; default sesi/global berlaku selain itu.
- Kirim `/trace` (atau `/trace:`) tanpa argumen untuk melihat level trace saat ini.
- `/trace` lebih sempit daripada `/verbose`: ini hanya mengekspos baris trace/debug milik Plugin seperti ringkasan debug Active Memory.
- Baris trace dapat muncul di `/status` dan sebagai pesan diagnostik lanjutan setelah balasan asisten normal.

## Visibilitas penalaran (/reasoning)

- Level: `on|off|stream`.
- Pesan yang hanya berisi direktif mengaktifkan apakah blok thinking ditampilkan dalam balasan.
- Ketika diaktifkan, penalaran dikirim sebagai **pesan terpisah** yang diawali dengan `Thinking`.
- `stream`: men-stream penalaran saat balasan sedang dibuat ketika kanal aktif mendukung pratinjau penalaran, lalu mengirim jawaban final tanpa penalaran.
- Alias: `/reason`.
- Kirim `/reasoning` (atau `/reasoning:`) tanpa argumen untuk melihat level penalaran saat ini.
- Urutan resolusi: direktif sebaris, lalu override sesi, lalu default per agen (`agents.list[].reasoningDefault`), lalu default global (`agents.defaults.reasoningDefault`), lalu fallback (`off`).

Tag penalaran model lokal yang salah format ditangani secara konservatif. Blok `<think>...</think>` yang tertutup tetap disembunyikan pada balasan normal, dan penalaran yang tidak tertutup setelah teks yang sudah terlihat juga disembunyikan. Jika sebuah balasan sepenuhnya dibungkus dalam satu tag pembuka yang tidak tertutup dan jika tidak demikian akan dikirim sebagai teks kosong, OpenClaw menghapus tag pembuka yang salah format tersebut dan mengirim teks yang tersisa.

## Terkait

- Dokumentasi mode elevated ada di [Mode elevated](/id/tools/elevated).

## Heartbeat

- Isi probe Heartbeat adalah prompt heartbeat yang dikonfigurasi (default: `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.`). Arahan inline dalam pesan heartbeat berlaku seperti biasa (tetapi hindari mengubah default sesi dari heartbeat).
- Pengiriman Heartbeat secara default hanya mengirim payload final. Untuk juga mengirim pesan `Thinking` terpisah (jika tersedia), atur `agents.defaults.heartbeat.includeReasoning: true` atau per agen `agents.list[].heartbeat.includeReasoning: true`.

## UI obrolan web

- Pemilih thinking obrolan web mencerminkan level tersimpan sesi dari penyimpanan/konfigurasi sesi masuk saat halaman dimuat.
- Memilih level lain langsung menulis override sesi melalui `sessions.patch`; tindakan ini tidak menunggu pengiriman berikutnya dan bukan override sekali pakai `thinkingOnce`.
- Opsi pertama selalu berupa pilihan untuk menghapus override. Opsi ini menampilkan `Inherited: <resolved level>`, termasuk `Inherited: Off` saat thinking yang diwariskan dinonaktifkan.
- Pilihan pemilih eksplisit menggunakan label level langsungnya sambil mempertahankan label penyedia jika ada (misalnya `Maximum` untuk opsi `max` yang diberi label oleh penyedia).
- Pemilih menggunakan `thinkingLevels` yang dikembalikan oleh baris/default sesi Gateway, dengan `thinkingOptions` dipertahankan sebagai daftar label legacy. UI browser tidak menyimpan daftar regex penyedianya sendiri; Plugin memiliki kumpulan level khusus model.
- `/think:<level>` tetap berfungsi dan memperbarui level sesi tersimpan yang sama, sehingga arahan obrolan dan pemilih tetap tersinkronisasi.

## Profil penyedia

- Plugin penyedia dapat mengekspos `resolveThinkingProfile(ctx)` untuk menentukan level yang didukung model dan defaultnya.
- Plugin penyedia yang mem-proxy model Claude harus menggunakan kembali `resolveClaudeThinkingProfile(modelId)` dari `openclaw/plugin-sdk/provider-model-shared` agar katalog Anthropic langsung dan proxy tetap selaras.
- Setiap level profil memiliki `id` kanonis tersimpan (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `adaptive`, atau `max`) dan dapat menyertakan `label` tampilan. Penyedia biner menggunakan `{ id: "low", label: "on" }`.
- Hook profil menerima fakta katalog gabungan jika tersedia, termasuk `reasoning`, `compat.thinkingFormat`, dan `compat.supportedReasoningEfforts`. Gunakan fakta tersebut untuk mengekspos profil biner atau khusus hanya saat kontrak permintaan yang dikonfigurasi mendukung payload yang cocok.
- Plugin alat yang perlu memvalidasi override thinking eksplisit harus menggunakan `api.runtime.agent.resolveThinkingPolicy({ provider, model })` plus `api.runtime.agent.normalizeThinkingLevel(...)`; mereka tidak boleh menyimpan daftar level penyedia/model sendiri.
- Plugin alat dengan akses ke metadata model khusus yang dikonfigurasi dapat meneruskan `catalog` ke `resolveThinkingPolicy` agar opt-in `compat.supportedReasoningEfforts` tercermin dalam validasi sisi plugin.
- Hook legacy yang dipublikasikan (`supportsXHighThinking`, `isBinaryThinking`, dan `resolveDefaultThinkingLevel`) tetap ada sebagai adaptor kompatibilitas, tetapi kumpulan level khusus baru harus menggunakan `resolveThinkingProfile`.
- Baris/default Gateway mengekspos `thinkingLevels`, `thinkingOptions`, dan `thinkingDefault` agar klien ACP/obrolan merender id dan label profil yang sama dengan yang digunakan validasi runtime.
