---
read_when:
    - Điều chỉnh việc phân tích cú pháp hoặc giá trị mặc định của các chỉ thị suy luận, chế độ nhanh hoặc chi tiết
summary: Cú pháp chỉ thị cho /think, /fast, /verbose, /trace và khả năng hiển thị suy luận
title: Các mức độ suy nghĩ
x-i18n:
    generated_at: "2026-05-10T19:55:20Z"
    model: gpt-5.5
    provider: openai
    source_hash: c75e2360a260aaf4571f2da6c7519fb4987e4c8c7947e3dc37f94a0ad260ad55
    source_path: tools/thinking.md
    workflow: 16
---

## Chức năng

- Chỉ thị nội tuyến trong mọi nội dung gửi đến: `/t <level>`, `/think:<level>`, hoặc `/thinking <level>`.
- Mức (bí danh): `off | minimal | low | medium | high | xhigh | adaptive | max`
  - minimal → "think"
  - low → "think hard"
  - medium → "think harder"
  - high → "ultrathink" (ngân sách tối đa)
  - xhigh → "ultrathink+" (GPT-5.2+ và các mô hình Codex, cộng với mức nỗ lực của Anthropic Claude Opus 4.7)
  - adaptive → suy nghĩ thích ứng do nhà cung cấp quản lý (được hỗ trợ cho Claude 4.6 trên Anthropic/Bedrock, Anthropic Claude Opus 4.7, và suy nghĩ động của Google Gemini)
  - max → lập luận tối đa của nhà cung cấp (Anthropic Claude Opus 4.7; Ollama ánh xạ mức này tới nỗ lực `think` gốc cao nhất của nó)
  - `x-high`, `x_high`, `extra-high`, `extra high`, và `extra_high` ánh xạ tới `xhigh`.
  - `highest` ánh xạ tới `high`.
- Ghi chú về nhà cung cấp:
  - Menu và bộ chọn suy nghĩ được điều khiển bởi hồ sơ nhà cung cấp. Plugin nhà cung cấp khai báo tập mức chính xác cho mô hình đã chọn, bao gồm các nhãn như `on` nhị phân.
  - `adaptive`, `xhigh`, và `max` chỉ được quảng bá cho các hồ sơ nhà cung cấp/mô hình hỗ trợ chúng. Các chỉ thị đã nhập cho những mức không được hỗ trợ sẽ bị từ chối kèm các tùy chọn hợp lệ của mô hình đó.
  - Các mức không được hỗ trợ đã lưu hiện có được ánh xạ lại theo thứ hạng hồ sơ nhà cung cấp. `adaptive` lùi về `medium` trên các mô hình không thích ứng, còn `xhigh` và `max` lùi về mức không phải `off` lớn nhất được hỗ trợ cho mô hình đã chọn.
  - Các mô hình Anthropic Claude 4.6 mặc định dùng `adaptive` khi chưa đặt mức suy nghĩ rõ ràng.
  - Anthropic Claude Opus 4.7 không mặc định dùng suy nghĩ thích ứng. Mặc định nỗ lực API của nó vẫn do nhà cung cấp sở hữu trừ khi bạn đặt rõ ràng một mức suy nghĩ.
  - Anthropic Claude Opus 4.7 ánh xạ `/think xhigh` tới suy nghĩ thích ứng cộng với `output_config.effort: "xhigh"`, vì `/think` là chỉ thị suy nghĩ và `xhigh` là thiết lập nỗ lực của Opus 4.7.
  - Anthropic Claude Opus 4.7 cũng cung cấp `/think max`; lệnh này ánh xạ tới cùng đường dẫn nỗ lực tối đa do nhà cung cấp sở hữu.
  - Các mô hình DeepSeek V4 trực tiếp cung cấp `/think xhigh|max`; cả hai đều ánh xạ tới `reasoning_effort: "max"` của DeepSeek, còn các mức thấp hơn không phải `off` ánh xạ tới `high`.
  - Các mô hình DeepSeek V4 được định tuyến qua OpenRouter cung cấp `/think xhigh` và gửi các giá trị `reasoning_effort` được OpenRouter hỗ trợ. Các ghi đè `max` đã lưu lùi về `xhigh`.
  - Các mô hình Ollama có khả năng suy nghĩ cung cấp `/think low|medium|high|max`; `max` ánh xạ tới `think: "high"` gốc vì API gốc của Ollama chấp nhận các chuỗi nỗ lực `low`, `medium`, và `high`.
  - Các mô hình OpenAI GPT ánh xạ `/think` thông qua hỗ trợ nỗ lực Responses API theo từng mô hình. `/think off` chỉ gửi `reasoning.effort: "none"` khi mô hình đích hỗ trợ; nếu không, OpenClaw bỏ qua tải lập luận đã tắt thay vì gửi một giá trị không được hỗ trợ.
  - Các mục danh mục tương thích OpenAI tùy chỉnh có thể chọn tham gia `/think xhigh` bằng cách đặt `models.providers.<provider>.models[].compat.supportedReasoningEfforts` để bao gồm `"xhigh"`. Điều này dùng cùng siêu dữ liệu tương thích ánh xạ các tải nỗ lực lập luận OpenAI gửi đi, nên menu, xác thực phiên, CLI tác tử, và `llm-task` khớp với hành vi truyền tải.
  - Các tham chiếu OpenRouter Hunter Alpha đã cấu hình nhưng lỗi thời bỏ qua chèn lập luận proxy vì tuyến đã ngừng dùng đó có thể trả về văn bản câu trả lời cuối cùng qua các trường lập luận.
  - Google Gemini ánh xạ `/think adaptive` tới suy nghĩ động do nhà cung cấp sở hữu của Gemini. Yêu cầu Gemini 3 bỏ qua `thinkingLevel` cố định, còn yêu cầu Gemini 2.5 gửi `thinkingBudget: -1`; các mức cố định vẫn ánh xạ tới `thinkingLevel` hoặc ngân sách Gemini gần nhất cho họ mô hình đó.
  - MiniMax (`minimax/*`) trên đường dẫn phát trực tuyến tương thích Anthropic mặc định dùng `thinking: { type: "disabled" }` trừ khi bạn đặt rõ ràng suy nghĩ trong tham số mô hình hoặc tham số yêu cầu. Điều này tránh rò rỉ delta `reasoning_content` từ định dạng luồng Anthropic không gốc của MiniMax.
  - Z.AI (`zai/*`) chỉ hỗ trợ suy nghĩ nhị phân (`on`/`off`). Mọi mức không phải `off` được xem là `on` (ánh xạ tới `low`).
  - Moonshot (`moonshot/*`) ánh xạ `/think off` tới `thinking: { type: "disabled" }` và mọi mức không phải `off` tới `thinking: { type: "enabled" }`. Khi suy nghĩ được bật, Moonshot chỉ chấp nhận `tool_choice` `auto|none`; OpenClaw chuẩn hóa các giá trị không tương thích thành `auto`.

## Thứ tự phân giải

1. Chỉ thị nội tuyến trên tin nhắn (chỉ áp dụng cho tin nhắn đó).
2. Ghi đè phiên (được đặt bằng cách gửi tin nhắn chỉ chứa chỉ thị).
3. Mặc định theo tác tử (`agents.list[].thinkingDefault` trong cấu hình).
4. Mặc định toàn cục (`agents.defaults.thinkingDefault` trong cấu hình).
5. Dự phòng: mặc định do nhà cung cấp khai báo khi có; nếu không, các mô hình có khả năng lập luận phân giải thành `medium` hoặc mức không phải `off` gần nhất được hỗ trợ cho mô hình đó, và các mô hình không lập luận vẫn là `off`.

## Đặt mặc định phiên

- Gửi một tin nhắn **chỉ** là chỉ thị (cho phép khoảng trắng), ví dụ `/think:medium` hoặc `/t high`.
- Thiết lập đó giữ nguyên cho phiên hiện tại (mặc định theo người gửi). Dùng `/think default` để xóa ghi đè phiên và kế thừa mặc định đã cấu hình/của nhà cung cấp; các bí danh gồm `inherit`, `clear`, `reset`, và `unpin`.
- `/think off` lưu một ghi đè tắt rõ ràng. Nó tắt suy nghĩ cho đến khi bạn thay đổi hoặc xóa ghi đè phiên.
- Phản hồi xác nhận được gửi (`Thinking level set to high.` / `Thinking disabled.`). Nếu mức không hợp lệ (ví dụ `/thinking big`), lệnh bị từ chối kèm gợi ý và trạng thái phiên không đổi.
- Gửi `/think` (hoặc `/think:`) không kèm đối số để xem mức suy nghĩ hiện tại.

## Áp dụng theo tác tử

- **Pi nhúng**: mức đã phân giải được truyền tới runtime tác tử Pi trong tiến trình.
- **Backend Claude CLI**: các mức không phải off được truyền tới Claude Code dưới dạng `--effort` khi dùng `claude-cli`; xem [backend CLI](/vi/gateway/cli-backends).

## Chế độ nhanh (/fast)

- Mức: `on|off|default`.
- Tin nhắn chỉ chứa chỉ thị bật/tắt ghi đè chế độ nhanh của phiên và trả lời `Fast mode enabled.` / `Fast mode disabled.`. Dùng `/fast default` để xóa ghi đè phiên và kế thừa mặc định đã cấu hình; các bí danh gồm `inherit`, `clear`, `reset`, và `unpin`.
- Gửi `/fast` (hoặc `/fast status`) không kèm chế độ để xem trạng thái chế độ nhanh hiệu lực hiện tại.
- OpenClaw phân giải chế độ nhanh theo thứ tự này:
  1. Ghi đè `/fast on|off` nội tuyến/chỉ chứa chỉ thị (`/fast default` xóa lớp này)
  2. Ghi đè phiên
  3. Mặc định theo tác tử (`agents.list[].fastModeDefault`)
  4. Cấu hình theo mô hình: `agents.defaults.models["<provider>/<model>"].params.fastMode`
  5. Dự phòng: `off`
- Với `openai/*`, chế độ nhanh ánh xạ tới xử lý ưu tiên của OpenAI bằng cách gửi `service_tier=priority` trên các yêu cầu Responses được hỗ trợ.
- Với `openai-codex/*`, chế độ nhanh gửi cùng cờ `service_tier=priority` trên Codex Responses. OpenClaw giữ một công tắc `/fast` dùng chung trên cả hai đường dẫn xác thực.
- Với các yêu cầu `anthropic/*` công khai trực tiếp, bao gồm lưu lượng xác thực OAuth gửi tới `api.anthropic.com`, chế độ nhanh ánh xạ tới các tầng dịch vụ của Anthropic: `/fast on` đặt `service_tier=auto`, `/fast off` đặt `service_tier=standard_only`.
- Với `minimax/*` trên đường dẫn tương thích Anthropic, `/fast on` (hoặc `params.fastMode: true`) ghi lại `MiniMax-M2.7` thành `MiniMax-M2.7-highspeed`.
- Tham số mô hình Anthropic `serviceTier` / `service_tier` rõ ràng ghi đè mặc định chế độ nhanh khi cả hai cùng được đặt. OpenClaw vẫn bỏ qua chèn tầng dịch vụ Anthropic cho các URL cơ sở proxy không phải Anthropic.
- `/status` chỉ hiển thị `Fast` khi chế độ nhanh được bật.

## Chỉ thị chi tiết (/verbose hoặc /v)

- Mức: `on` (tối thiểu) | `full` | `off` (mặc định).
- Tin nhắn chỉ chứa chỉ thị bật/tắt chi tiết phiên và trả lời `Verbose logging enabled.` / `Verbose logging disabled.`; mức không hợp lệ trả về gợi ý mà không thay đổi trạng thái.
- `/verbose off` lưu một ghi đè phiên tắt rõ ràng; xóa nó qua giao diện Phiên bằng cách chọn `inherit`.
- Chỉ thị nội tuyến chỉ ảnh hưởng đến tin nhắn đó; nếu không, mặc định phiên/toàn cục được áp dụng.
- Gửi `/verbose` (hoặc `/verbose:`) không kèm đối số để xem mức chi tiết hiện tại.
- Khi bật chi tiết, các tác tử phát ra kết quả công cụ có cấu trúc (Pi, các tác tử JSON khác) gửi từng lệnh gọi công cụ trở lại dưới dạng tin nhắn chỉ chứa siêu dữ liệu riêng, có tiền tố `<emoji> <tool-name>: <arg>` khi có. Các tóm tắt công cụ này được gửi ngay khi từng công cụ bắt đầu (bong bóng riêng), không phải dưới dạng delta phát trực tuyến.
- Tóm tắt lỗi công cụ vẫn hiển thị trong chế độ bình thường, nhưng hậu tố chi tiết lỗi thô bị ẩn trừ khi chi tiết là `on` hoặc `full`.
- Khi chi tiết là `full`, đầu ra công cụ cũng được chuyển tiếp sau khi hoàn tất (bong bóng riêng, được cắt ngắn tới độ dài an toàn). Nếu bạn bật/tắt `/verbose on|full|off` trong khi một lượt chạy đang diễn ra, các bong bóng công cụ tiếp theo tuân theo thiết lập mới.
- `agents.defaults.toolProgressDetail` kiểm soát hình dạng của tóm tắt công cụ `/verbose` và các dòng công cụ nháp tiến trình. Dùng `"explain"` (mặc định) cho các nhãn ngắn gọn cho con người như `🛠️ Exec: checking JS syntax`; dùng `"raw"` khi bạn cũng muốn nối thêm lệnh/chi tiết thô để gỡ lỗi. `agents.list[].toolProgressDetail` theo tác tử ghi đè mặc định.
  - `explain`: `🛠️ Exec: check JS syntax for /tmp/app.js`
  - `raw`: `🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js`

## Chỉ thị truy vết Plugin (/trace)

- Mức: `on` | `off` (mặc định).
- Tin nhắn chỉ chứa chỉ thị bật/tắt đầu ra truy vết Plugin của phiên và trả lời `Plugin trace enabled.` / `Plugin trace disabled.`.
- Chỉ thị nội tuyến chỉ ảnh hưởng đến tin nhắn đó; nếu không, mặc định phiên/toàn cục được áp dụng.
- Gửi `/trace` (hoặc `/trace:`) không kèm đối số để xem mức truy vết hiện tại.
- `/trace` hẹp hơn `/verbose`: nó chỉ hiển thị các dòng truy vết/gỡ lỗi do Plugin sở hữu, chẳng hạn như tóm tắt gỡ lỗi Active Memory.
- Các dòng truy vết có thể xuất hiện trong `/status` và dưới dạng tin nhắn chẩn đoán tiếp theo sau phản hồi trợ lý bình thường.

## Khả năng hiển thị lập luận (/reasoning)

- Mức: `on|off|stream`.
- Tin nhắn chỉ chứa chỉ thị bật/tắt việc hiển thị các khối suy nghĩ trong phản hồi.
- Khi được bật, lập luận được gửi dưới dạng **tin nhắn riêng** có tiền tố `Reasoning:`.
- `stream` (chỉ Telegram): phát trực tuyến lập luận vào bong bóng nháp Telegram trong khi phản hồi đang được tạo, sau đó gửi câu trả lời cuối cùng không kèm lập luận.
- Bí danh: `/reason`.
- Gửi `/reasoning` (hoặc `/reasoning:`) không kèm đối số để xem mức lập luận hiện tại.
- Thứ tự phân giải: chỉ thị nội tuyến, sau đó ghi đè phiên, sau đó mặc định theo tác tử (`agents.list[].reasoningDefault`), sau đó mặc định toàn cục (`agents.defaults.reasoningDefault`), rồi dự phòng (`off`).

Các thẻ lập luận mô hình cục bộ sai định dạng được xử lý thận trọng. Các khối `<think>...</think>` đã đóng vẫn bị ẩn trong phản hồi bình thường, và lập luận chưa đóng sau văn bản đã hiển thị cũng bị ẩn. Nếu một phản hồi được bọc hoàn toàn trong một thẻ mở chưa đóng duy nhất và nếu không sẽ được gửi như văn bản rỗng, OpenClaw loại bỏ thẻ mở sai định dạng và gửi phần văn bản còn lại.

## Liên quan

- Tài liệu chế độ nâng cao nằm trong [Chế độ nâng cao](/vi/tools/elevated).

## Heartbeat

- Nội dung thăm dò Heartbeat là lời nhắc Heartbeat đã cấu hình (mặc định: `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.`). Chỉ thị nội tuyến trong tin nhắn Heartbeat vẫn áp dụng như thường lệ (nhưng tránh thay đổi mặc định phiên từ Heartbeat).
- Việc gửi Heartbeat mặc định chỉ gửi tải cuối cùng. Để cũng gửi tin nhắn `Reasoning:` riêng (khi có), đặt `agents.defaults.heartbeat.includeReasoning: true` hoặc `agents.list[].heartbeat.includeReasoning: true` theo tác tử.

## Giao diện trò chuyện web

- Bộ chọn mức suy nghĩ trong trò chuyện web phản chiếu mức đã lưu của phiên từ kho/cấu hình phiên gửi đến khi trang tải.
- Chọn một mức khác sẽ ghi phần ghi đè phiên ngay lập tức qua `sessions.patch`; thao tác này không chờ đến lần gửi tiếp theo và không phải là ghi đè một lần `thinkingOnce`.
- Tùy chọn đầu tiên luôn là lựa chọn xóa ghi đè. Nó hiển thị `Inherited: <resolved level>` khi phiên đang kế thừa một mặc định hiệu dụng không tắt, hoặc `Off` khi suy nghĩ kế thừa bị tắt.
- Các lựa chọn rõ ràng trong bộ chọn được gắn nhãn là ghi đè, đồng thời vẫn giữ nhãn của nhà cung cấp khi có (ví dụ `Override: maximum` cho tùy chọn `max` được nhà cung cấp gắn nhãn).
- Bộ chọn dùng `thinkingLevels` do hàng phiên/mặc định của Gateway trả về, với `thinkingOptions` được giữ làm danh sách nhãn cũ. Giao diện người dùng trình duyệt không giữ danh sách regex nhà cung cấp riêng; các plugin sở hữu các bộ mức theo từng mô hình.
- `/think:<level>` vẫn hoạt động và cập nhật cùng mức phiên đã lưu, nên các chỉ thị trò chuyện và bộ chọn luôn đồng bộ.

## Hồ sơ nhà cung cấp

- Các plugin nhà cung cấp có thể cung cấp `resolveThinkingProfile(ctx)` để định nghĩa các mức được mô hình hỗ trợ và mặc định.
- Các plugin nhà cung cấp ủy quyền mô hình Claude nên dùng lại `resolveClaudeThinkingProfile(modelId)` từ `openclaw/plugin-sdk/provider-model-shared` để các danh mục Anthropic trực tiếp và qua ủy quyền luôn được căn chỉnh.
- Mỗi mức hồ sơ có một `id` chính tắc được lưu (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `adaptive`, hoặc `max`) và có thể bao gồm một `label` hiển thị. Các nhà cung cấp nhị phân dùng `{ id: "low", label: "on" }`.
- Các plugin công cụ cần xác thực một ghi đè suy nghĩ rõ ràng nên dùng `api.runtime.agent.resolveThinkingPolicy({ provider, model })` cùng với `api.runtime.agent.normalizeThinkingLevel(...)`; chúng không nên giữ danh sách mức theo nhà cung cấp/mô hình riêng.
- Các plugin công cụ có quyền truy cập vào siêu dữ liệu mô hình tùy chỉnh đã cấu hình có thể truyền `catalog` vào `resolveThinkingPolicy` để các lựa chọn tham gia `compat.supportedReasoningEfforts` được phản ánh trong xác thực phía plugin.
- Các hook cũ đã phát hành (`supportsXHighThinking`, `isBinaryThinking`, và `resolveDefaultThinkingLevel`) vẫn tồn tại dưới dạng bộ chuyển đổi tương thích, nhưng các bộ mức tùy chỉnh mới nên dùng `resolveThinkingProfile`.
- Các hàng/mặc định của Gateway cung cấp `thinkingLevels`, `thinkingOptions`, và `thinkingDefault` để các máy khách ACP/trò chuyện kết xuất cùng các id và nhãn hồ sơ mà xác thực thời gian chạy sử dụng.
