“Thinking mode” (còn gọi là extended thinking, thinking, hoặc thinking blocks) trong Claude 4.5 là một chế độ vận hành tường minh và có thể cấu hình, yêu cầu mô hình dành ra một ngân sách token riêng để tạo lập lập luận nội bộ từng bước (một “chain-of-thought”) trước khi xuất ra câu trả lời cuối cùng. Chế độ này được thiết kế để cải thiện hiệu suất ở các bài toán suy luận nhiều bước, lập trình phức tạp và quy trình tác tử/agent, cũng như các nhiệm vụ nghiên cứu, bằng cách đánh đổi độ trễ và chi phí token để có quá trình cân nhắc nội bộ sâu hơn. Claude 4.5 cung cấp năng lực này ở mức Messages API với các tham số tường minh (ví dụ thinking / budget_tokens hoặc một header nỗ lực/“interleaved-thinking”), đồng thời lưu và tùy chọn mã hóa các thinking block để xác minh hoặc dùng với công cụ về sau, và giới thiệu các hành vi bộ nhớ đệm và hạch toán token mà bạn phải quản lý khi xây dựng tác vụ sản xuất.
Claude 4.5 là gì? (Và tôi nên quan tâm đến những mô hình nào?)
Claude 4.5 là bộ mô hình Claude mới nhất của Anthropic phát hành dưới dạng các cập nhật “4.5” tăng dần (ví dụ, Sonnet 4.5 và Opus 4.5). Sonnet 4.5 được định vị là sự cân bằng tốt nhất giữa trí tuệ, khả năng lập trình và hiệu suất agent cho hầu hết nhà phát triển; Opus 4.5 tập trung vào suy luận nỗ lực rất cao và lưu các thinking block để cải thiện tính liên tục qua nhiều lượt. Cả hai mô hình đều hỗ trợ năng lực extended thinking, dù một số hành vi (ví dụ, tóm tắt so với thinking đầy đủ) khác nhau theo mô hình.
Những cải thiện hiệu suất ở Claude 4.5, đặc biệt trong Sonnet 4.5, thể hiện rõ ở benchmark SWE-bench Verified, đo lường khả năng của AI trong việc giải quyết các issue thực tế trên GitHub.
| Mô hình | Điểm SWE-bench Verified | OSWorld (Sử dụng máy tính) |
|---|---|---|
| Claude 3.5 Sonnet | 49.0% | 42.2% |
| Claude 4.1 Opus | 67.6% | 55.0% |
| Claude 4.5 Sonnet (Thinking On) | 77.2% | 61.4% |
| GPT-5 (Medium Reasoning) | 65.0% | 52.0% |
Những con số này cho thấy Claude 4.5 không chỉ viết đoạn mã ngắn tốt hơn; nó còn có năng lực điều hướng cả hệ thống tệp và thực thi các tác vụ tự động mà không cần con người can thiệp, vượt trội một cách đáng kể.
Tại sao điều này quan trọng
- Lập trình & tác tử: Sonnet 4.5 cho thấy mức tăng mạnh ở các tác vụ phần mềm thực tế và công việc lập trình tầm xa—biến nó thành lựa chọn tự nhiên cho tạo mã, chỉnh sửa mã và luồng tác tử tự động.
- Extended thinking & ngữ cảnh: Các mô hình thuộc họ Claude 4.5 được xây dựng để suy luận với “sổ tay” nội bộ rất lớn (hàng chục nghìn token trở lên), cho phép suy luận nhiều bước sâu hơn. Điều này thay đổi cách bạn thiết kế prompt, ngân sách token và tương tác công cụ.
Thinking Mode trong Claude 4.5 là gì?
Thinking Mode (tên chính thức là "Extended Thinking") là năng lực cho phép mô hình “tự trình bày quá trình” cho chính nó trước khi đưa ra kết quả cuối cùng. Khác với các mô hình tiêu chuẩn vốn đưa ra câu trả lời ngay, Claude 4.5 sử dụng một không gian suy luận riêng để khám phá nhiều giả thuyết, xác định lỗi logic tiềm ẩn và tinh chỉnh chiến lược.
Cấu trúc của một phản hồi
Trong tương tác tiêu chuẩn, mô hình nhận prompt và bắt đầu tạo câu trả lời. Trong Thinking Mode, phản hồi được chia thành hai khối riêng:
| Loại khối | Khả năng hiển thị | Mục đích |
|---|---|---|
| Thinking Block | Ẩn (qua API) hoặc Thu gọn (UI) | Độc thoại nội bộ, lập kế hoạch và tự phê bình của mô hình. |
| Text Block | Hiển thị | Câu trả lời cuối cùng, đã tinh chỉnh, cung cấp cho người dùng. |
Các thuộc tính chính của thinking mode
- Bật theo yêu cầu: Bạn truyền một đối tượng
thinkingtrong lời gọi API như{"type":"enabled","budget_tokens":10000}để bật và cung cấp ngân sách token nội bộ cho suy luận. - Lập ngân sách:
budget_tokensgiới hạn token suy luận nội bộ. Ngân sách lớn hơn => tiềm năng suy luận sâu hơn nhưng chi phí và độ trễ cao hơn. Trong các mô hình Claude 4, token thinking vẫn bị tính phí ngay cả khi bạn chỉ nhận được bản tóm tắt. - Tóm tắt & làm mờ: Với nhiều mô hình Claude 4, người dùng thấy phiên bản tóm tắt của nội dung thinking; một số suy luận nội bộ có thể bị làm mờ (mã hóa) bởi hệ thống an toàn và trả về dưới dạng
redacted_thinking. - Chữ ký & xác minh: Thinking block bao gồm một
signaturemờ dùng để xác minh khi trả thinking block về API (đặc biệt cần khi dùng công cụ). Bạn nên coi chữ ký là mờ—đừng cố phân tích nó. - Thinking đan xen với công cụ: Claude 4 hỗ trợ đan xen thinking block với thực thi công cụ (beta và dựa cờ trong một số trường hợp). Điều này rất mạnh cho công việc agent (chạy công cụ, nghĩ, chạy công cụ khác, v.v.).
Để có ví dụ thực hành và tham số cập nhật nhất, tài liệu Messages/Extended Thinking của Anthropic là tham chiếu chuẩn.
Messages API trả nội dung thinking như thế nào
Thinking tóm tắt vs đầy đủ; mã hóa & chữ ký
Các phiên bản mô hình Claude khác nhau xử lý thinking khác nhau: các mô hình Claude 4 gần đây (như Sonnet/Opus 4.5) thường trả về một dạng tóm tắt công khai của suy luận nội bộ trong khi sổ tay đầy đủ có thể được mã hóa và chỉ khả dụng qua trường signature (hoặc các khối làm mờ). Khi dùng công cụ (hoặc bạn cần lưu trạng thái nội bộ qua các lượt gọi công cụ), bạn phải truyền thinking block trở lại API hoặc dùng cơ chế signature như tài liệu mô tả. Cơ chế này giúp bảo vệ suy luận nội bộ nhạy cảm đồng thời cho phép tiếp tục quá trình suy nghĩ một cách an toàn khi cần.
Mẫu xử lý thực tế
Tool use / tiếp nối: nếu yêu cầu tiếp theo phải tiếp tục cùng trạng thái nội bộ (ví dụ, công cụ đã chạy dựa trên thinking), hãy đưa thinking block trả về hoặc signature khi bạn gọi API lần nữa để mô hình có thể giải mã và tiếp tục từ nơi đã dừng.
Request: gửi thinking: {type: "enabled", budget_tokens: N}.
Response: bạn có thể nhận (a) đầu ra tóm tắt công khai, (b) một signature hoặc redacted_thinking được mã hóa, hoặc (c) cả hai.
CometAPI cung cấp API Claude 4.5 với mức giá bằng 20% giá chính thức, và cũng có thể gọi bằng Anthropic Messages. Bạn sẽ cần lấy API key trước khi bắt đầu.
Ví dụ 1 — curl đơn giản (không streaming) bật thinking
curl https://api.cometapi.com/v1/messages \
-H "x-api-key: $CometAPI_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 16000,
"thinking": {
"type": "enabled",
"budget_tokens": 10000
},
"messages": [
{"role": "user", "content": "Design a robust data validation strategy for CSV imports, show tests + code."}
]
}'
Phản hồi sẽ chứa các content block. Kiểm tra từng block và ưu tiên các block text cho đầu ra cuối cùng; các thinking block chứa bản tóm tắt phân tích nội bộ của mô hình.
Ví dụ 2 — Python: gửi yêu cầu, phân tích thinking và text block
import os, requests
API_KEY = os.environ["CometAPI_API_KEY"]
URL = "https://api.cometapi.com/v1/messages"
HEADERS = {
"x-api-key": API_KEY,
"anthropic-version": "2023-06-01",
"content-type": "application/json"
}
payload = {
"model": "claude-sonnet-4-5",
"max_tokens": 16000,
"thinking": {"type": "enabled", "budget_tokens": 8000},
"messages": [{"role": "user", "content": "Explain how to do property-based testing in Python; include example code."}]
}
r = requests.post(URL, headers=HEADERS, json=payload)
r.raise_for_status()
resp = r.json()
# Parse blocks
for block in resp.get("content", []):
if block.get("type") == "thinking":
thinking_summary = block.get("thinking")
print("=== THINKING (summary) ===")
print(thinking_summary[:1000]) # truncate for logs
print("signature:", block.get("signature")[:64], "...")
elif block.get("type") == "text":
print("=== FINAL TEXT ===")
print(block.get("text"))
Đoạn mã này trích xuất và in thinking tóm tắt và câu trả lời cuối cùng. Nếu bạn cần duy trì tính liên tục trong các luồng agent nhiều lượt, hãy đưa nguyên vẹn các thinking block vào mảng messages của yêu cầu tiếp theo (xem ví dụ sau).
Ví dụ 3 — tái sử dụng thinking block trong luồng nhiều lượt (Python giả lập)
# After initial response (resp above):
# Add the assistant message including the thinking block back into the conversation
assistant_message = {
"role": "assistant",
"content": resp["content"] # include raw content array (contains thinking + text blocks)
}
# Next user turn: ask follow-up and include previous assistant message
payload2 = {
"model": "claude-opus-4-5", # Opus preserves thinking blocks better across turns
"max_tokens": 20000,
"thinking": {"type": "enabled", "budget_tokens": 12000},
"messages": [
{"role": "user", "content": "Now adapt the validation logic for an avro pipeline."},
assistant_message
]
}
r2 = requests.post(URL, headers=HEADERS, json=payload2)
Việc lưu nguyên vẹn các thinking block là rất quan trọng khi tích hợp công cụ hoặc chạy các luồng agent dài. Opus 4.5 có mặc định cải thiện cho việc bảo toàn thinking block và caching.
Làm thế nào để stream nội dung thinking và hiển thị tiến độ trong UI?
Thực hành tốt về streaming
- Sử dụng endpoint streaming của SDK (SDK Python/TypeScript có helper stream). Với các tác vụ suy luận chạy lâu hoặc ngân sách lớn, streaming giúp tránh HTTP timeout và cung cấp văn bản từng phần khi mô hình đang tính toán. Mã điển hình dùng một iterator qua
text_stream(Python) hoặc phân tích sự kiện (JS). - Đôi khi sẽ có stream hai pha: mô hình có thể tạo ra các mảnh suy luận hiển thị trước, sau đó hoàn tất với câu trả lời. Xây dựng UI để xử lý nội dung chia nhỏ và hiển thị trạng thái “đang nghĩ…” so với “câu trả lời cuối cùng”.
- Nếu API trả
signature_deltahoặccontent_block_deltakhi streaming, hãy ghi lại và đính kèm nó vào các lượt gọi tiếp theo theo yêu cầu của đặc tả.
Nếu bạn cần hiển thị tiến độ suy luận trung gian trong UI, hãy stream phản hồi. Server sẽ phát các sự kiện thinking_delta theo sau bởi text_delta.
curl https://api.cometapi.com/v1/messages \
--header "x-api-key: $CometAPI_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-sonnet-4-5",
"max_tokens": 16000,
"stream": true,
"thinking": { "type": "enabled", "budget_tokens": 8000 },
"messages": [ { "role": "user", "content": "Walk me through debugging this failing unit test and propose fixes." } ]
}'
Khi streaming, xử lý tuần tự các sự kiện content_block_start, content_block_delta (bao gồm thinking_delta và text_delta), và content_block_stop. Đây là cách bạn có thể hiển thị quá trình suy luận từng bước của mô hình khi nó diễn ra.
Claude Code tương tác với thinking mode như thế nào? (terminal + VS Code)
Claude Code là terminal lập trình tương tác theo hướng agent, tích hợp Messages API và tool runner. Trải nghiệm CLI/IDE thể hiện thinking theo hai cách:
- Cài đặt toàn cục / theo phiên: Claude Code có bảng cài đặt
/configđể điều chỉnh hành vi (cách agent xin quyền, có lưu thinking block hay không, v.v.). Dùng UI đó thay vì gõ JSON thô nếu bạn muốn thay đổi hành vi một cách bền bỉ. - Chọn mô hình & lệnh CLI: Bạn có thể chọn
claude-sonnet-4-5hoặcclaude-opus-4-5làm mô hình hoạt động trong REPL; các công cụ và hành vi thinking sau đó tuân theo ngữ nghĩa của Messages API. CHANGELOG và ghi chú phát hành cho biết thinking hiện đã bật mặc định đối với một số triển khai Opus 4.5 và cấu hình thinking xuất hiện qua/config.
Luồng thực tế trong Claude Code:
- Khởi động một dự án trong REPL.
- Dùng
/configđể kiểm tra các cờ liên quan đến thinking (bảo toàn, độ chi tiết, v.v.). - Yêu cầu agent chạy một tác vụ dài—nó sẽ tạo nội dung thinking và, nếu cần, xin quyền chạy các bước bash cụ thể. Bảo toàn các
thinkingblock khi bạn cần xác minh hoặc chạy lại quyết định sau này.
Cài đặt và Thiết lập
Claude Code yêu cầu Node.js và có thể được cài đặt toàn cục.
# Install Claude Code CLI
npm install -g @anthropic/claude-code
# Authenticate
claude-code --init
Kích hoạt Thinking trong Terminal
Claude Code hỗ trợ nhiều cờ và trigger ngôn ngữ tự nhiên để kiểm soát độ sâu suy luận.
| Lệnh/Trigger | Mô tả |
|---|---|
| claude-code --think | Bắt đầu một phiên với extended thinking được bật mặc định. |
| claude-code --model sonnet-4.5 | Chỉ định mô hình frontier mới nhất. |
| /think <task> | Lệnh slash trong CLI để gọi một tác vụ cần suy luận nhiều. |
| "ultrathink" | Từ khóa ngôn ngữ tự nhiên hướng dẫn Claude dùng ngân sách suy luận tối đa có thể. |
Mẹo:
- Dùng
think/think harderkhi bạn muốn agent khám phá các cách triển khai thay thế. - Khi Claude Code thực hiện các lời gọi công cụ (chạy test, thao tác git), hãy bảo toàn các
thinkingblock nếu CLI/agent trả chúng; nếu không agent có thể mất ngữ cảnh giữa các bước.
Lợi ích của Thinking đan xen và Bảo toàn Block
Đối với các quy trình agent nâng cao, Claude 4.5 giới thiệu hai tính năng beta giúp tăng cường tương tác nhiều lượt và dùng công cụ: Interleaved Thinking và Thinking Block Preservation.
Interleaved Thinking (Beta)
Suy luận tiêu chuẩn diễn ra một lần trước khi xuất. Interleaved Thinking (bật qua header interleaved-thinking-2025-05-14) cho phép Claude “nghĩ” giữa các lần gọi công cụ.
Hãy tưởng tượng Claude đang debug một server:
- Think: "I should check the logs first."
- Tool Call:
read_file(logs.txt) - Think: "The logs show a database timeout. Now I need to check the connection pool settings."
- Tool Call:
read_file(db_config.yml)
Sự “phản tư liên tục” này đảm bảo mô hình điều chỉnh chiến lược dựa trên dữ liệu nhận từ công cụ, thay vì theo một kế hoạch cố định.
Bảo toàn Thinking Block
Trong các cuộc hội thoại nhiều lượt, đặc biệt liên quan tới việc dùng công cụ, việc truyền lại các thinking block trước đó về API là rất quan trọng.
- Tính liên tục suy luận: Bằng việc nhận lại suy nghĩ trước đó, Claude duy trì ngữ cảnh logic của hành trình.
- Tối ưu hóa Opus 4.5: Trong Claude Opus 4.5, hành vi này được tự động hóa. Mô hình mặc định bảo toàn tất cả thinking block trước đó trong ngữ cảnh, đảm bảo rằng ngay cả trong các phiên kéo dài trên 30 giờ, mô hình không “quên” lý do của các quyết định kiến trúc cách đây mười lượt.
Thực hành tốt khi dùng THINKING mode với Claude 4.5
Chọn đúng mô hình và ngân sách cho nhiệm vụ:
Dùng Sonnet 4.5 cho lập trình và luồng agent khi bạn cần tỷ lệ tốt nhất giữa tốc độ, chi phí và khả năng lập trình mạnh; dùng Opus 4.5 cho suy luận sâu nhất và cửa sổ ngữ cảnh lớn nhất hoặc khi bạn dự định chạy các phiên tự động dài. Cả hai đều hỗ trợ extended thinking. Chọn budget_tokens theo tỷ lệ độ phức tạp của nhiệm vụ (bắt đầu nhỏ để thử nghiệm; chỉ tăng ngân sách nếu bạn quan sát thấy cải thiện chất lượng đáng kể).
Theo dõi và kiểm soát chi phí & độ trễ
Bạn bị tính phí cho toàn bộ token thinking mà Claude tạo ra, không phải phần tóm tắt bạn nhận được. Điều đó nghĩa là các cân nhắc nội bộ kéo dài làm tăng chi phí ngay cả khi bạn chỉ thấy một bản tóm tắt ngắn. Theo dõi mức dùng token và cân nhắc tinh chỉnh dần (ví dụ: 2k → 8k → 32k) khi chuyển từ khám phá sang sản xuất.
Chỉ bảo toàn thinking block khi cần thiết
Thinking block có thể được ký mật mã và lưu để xác minh sau này và cho việc dùng công cụ đan xen. Tránh echo thinking block trong mọi yêu cầu tiếp theo trừ khi quy trình của bạn cần mô hình giữ lại cân nhắc nội bộ trước đó (ví dụ, khi một agent sẽ chạy lại các bước và cần lý do đã bảo toàn). Luôn bảo toàn thinking làm tăng khối lượng ngữ cảnh và có thể làm phức tạp hạch toán token.
Khi nào nên stream thinking cho người dùng
Thinking được stream rất phù hợp cho công cụ nhà phát triển và các UI giáo dục (hiển thị “đang xử lý” khi mô hình cân nhắc). Không nên stream thinking thô cho người dùng cuối của ứng dụng hướng người tiêu dùng trong sản xuất mà không cân nhắc an toàn và làm mờ: thinking tóm tắt tồn tại chính là vì lý do này. Nếu stream, cung cấp phần UI gắn nhãn suy luận nội bộ (ví dụ, “Assistant reasoning — internal”), và kiểm soát việc người dùng cuối thấy suy luận tóm tắt hay đầy đủ.
Dùng công cụ và đan xen
Khi kết hợp thinking với công cụ (thực thi mã, web fetch, quy trình cục bộ), dùng thiết kế interleaved thinking khi bạn cần mô hình chọn công cụ, chạy chúng và suy luận trên kết quả trong cùng một lượt. Đan xen làm tăng độ phức tạp (và có thể cần cờ tính năng) nhưng rất mạnh cho tự động hóa tác tử. Nêu rõ bạn bảo toàn những thinking nào, và kiểm thử cách mô hình chọn công cụ khi thinking được bật.
Ghi chú xử lý sự cố và vận hành thực tế
Lỗi thường gặp và ý nghĩa
- Invalid thinking + forced tool choice: Nếu bạn yêu cầu thinking nhưng đồng thời ép các chế độ dùng công cụ cụ thể không tương thích với thinking, API sẽ trả lỗi—đừng trộn
tool_choice: {"type":"tool","name":"..."}với thinking. - Budget > max_tokens: Với các kịch bản thinking đan xen, quy tắc token hiệu dụng khác—tài liệu nền tảng giải thích khi nào
budget_tokenscó thể vượtmax_tokens. Đọc kỹ phần “interleaved thinking” trước khi thử ngân sách lớn. - Signature validation: Nếu bạn bảo toàn thinking block cho các lượt gọi sau, hãy kèm theo
signaturetrả về để API xác minh chúng đến từ Claude; điều này ngăn chỉnh sửa trái phép và giữ chuỗi có thể xác minh.
Khả năng quan sát & công cụ đo đạc
Ghi log: (1) lựa chọn model, (2) thinking.budget_tokens, (3) mức tiêu thụ token thinking (bạn bị tính phí cho nó), (4) độ trễ streaming (thời gian tới thinking_delta đầu tiên), và (5) token văn bản cuối cùng. Dùng các số liệu này để xây dựng ngân sách và SLO cho các luồng hướng người dùng.
Triển khai dần & con người trong vòng lặp
Triển khai mô hình có thinking bật sau cờ tính năng. Bắt đầu với một tỷ lệ người dùng nội bộ hoặc nhà phát triển, thu thập lỗi hoặc nội dung làm mờ, và lặp lại prompt và ngân sách. Với miền nhạy cảm, yêu cầu con người duyệt các đầu ra chứa suy luận nội bộ đáng kể trước khi phát hành.
Mẹo debug
- Bắt đầu nhỏ: bật
budget_tokensthấp và tăng dần để hiểu cải thiện theo từng bước. - Bật streaming và ghi
content_block_delta/ sự kiện chữ ký để hiểu khi nào mô hình tạo thinking block. - Nếu dùng Claude Code: kiểm tra
/configvà cài đặt cấp dự án; tham khảo changelog của Claude Code nếu hành vi không khớp mặc định kỳ vọng.
Kết luận:
Claude 4.5, kết hợp sức mạnh của Extended Thinking và CLI Claude Code, đại diện cho bước nhảy vọt lớn nhất về năng suất nhà phát triển kể từ khi IDE ra đời. Bằng việc cho phép mô hình “trình bày quá trình” và cân nhắc kỹ lưỡng các vấn đề phức tạp, Anthropic đã vượt ra khỏi kỷ nguyên “chatbot” và bước vào kỷ nguyên “agent”.
Dù bạn tích hợp Messages API vào công cụ dev tùy biến hay dùng Claude Code để quản lý PR hàng ngày, thành thạo Thinking Mode là điều thiết yếu. Nó cung cấp độ minh bạch cần cho niềm tin và độ sâu suy luận cần cho sự xuất sắc.
Nhà phát triển có thể truy cập mô hình Claude 4.5 (Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5) thông qua CometAPI. Để bắt đầu, hãy khám phá năng lực mô hình của CometAPI trong Playground và tham khảo hướng dẫn API để biết chỉ dẫn chi tiết. Trước khi truy cập, hãy đảm bảo bạn đã đăng nhập CometAPI và lấy API key. CometAPI cung cấp mức giá thấp hơn nhiều so với giá chính thức để giúp bạn tích hợp.
Ready to Go?→ Dùng thử miễn phí Claude 4.5!
