Tiêu đề: Hướng dẫn thực hành GLM-5.3: Tư duy luôn bật, Ba cấp độ nỗ lực & Ma trận hỗ trợ API
Mô tả: Hướng dẫn GLM-5.3 tháng 8 năm 2026: tư duy luôn bật với ba cấp độ nỗ lực lý luận, tóm tắt lý luận, gọi công cụ song song, đầu ra có cấu trúc và bộ nhớ đệm tự động — với các ví dụ đã được xác minh cho AIHubMix Chat / Responses / Messages.
Bài viết này đề cập đến những thay đổi chính của API và ghi chú sử dụng cho GLM-5.3. GLM-5.3 là mô hình chủ lực của Z.ai được phát hành vào ngày 2026-08-14 — nó sử dụng cùng một mô hình cơ sở như GLM-5.2, với mọi lợi ích đến từ việc huấn luyện sau. Trên AIHubMix, ID mô hình làcoding-glm-5.3(hiện đang là lộ trình xem trước có thời hạn), có sẵn thông qua các API Chat Completions, Responses và Messages tương thích với Claude. Xem thêm: blog phát hành chính thức của Z.ai.
Các kết luận và phản hồi mẫu "Đã xác minh" trong mỗi phần đến từ các cuộc gọi thực tế được thực hiện vào ngày 2026-08-14 thông qua các API AIHubMix (Chat Completions / Responses / Messages).
1. Thông số mô hình tổng quan
| Mục | Giá trị |
|---|---|
| Cửa sổ ngữ cảnh | 1 triệu token (giá trị chính xác chính thức: 1,048,576) |
| Đầu ra tối đa | 128K (max_tokens trần đã được xác minh: 131,072 — vượt quá sẽ trả về 400) |
| Các phương thức đầu vào | Văn bản |
| Tư duy | Luôn bật, không thể tắt; reasoning_effort có ba cấp độ — low / high / max, mặc định là max |
| Mối quan hệ với GLM-5.2 | Cùng một mô hình cơ sở, được nâng cấp qua huấn luyện sau: hiệu suất lập trình và nhiệm vụ dài hạn mạnh mẽ hơn, cộng với khả năng mạng nổi bật |
| ID mô hình AIHubMix | coding-glm-5.3 (lộ trình xem trước có thời hạn; chúng tôi sẽ cập nhật ngay khi API thương mại chính thức ra mắt) |
Đã xác minh: max_tokens: 999999 trả về 400 với phạm vi hợp lệ được nêu rõ trong nội dung lỗi — trần thực sự được xác minh, không bị cắt ngầm.# max_tokens=999999 -> HTTP 400
"max_tokens parameter invalid: value must be within [1,131072]"
2. GLM-5.3 so với GLM-5.2: Tư duy luôn bật, Cường độ qua reasoning_effort
| Mục | GLM-5.2 | GLM-5.3 |
|---|---|---|
| Mô hình cơ sở | — | Giống hệt như 5.2 (tất cả lợi ích đến từ huấn luyện sau) |
thinking.type |
enabled / disabled — có thể tắt |
enabled chỉ — không thể tắt |
reasoning_effort |
Bản đồ tương thích 7 giá trị (các cấp hiệu quả: max/high) | Ba cấp độ low / high / max, mặc định max |
| Định vị | Mô hình chủ lực đa năng | Củng cố cho lập trình và nhiệm vụ tác nhân dài hạn, với khả năng mạng nổi bật |
Đây là hai thay đổi API quan trọng nhất trong GLM-5.3 so với GLM-5.2:
thinking.typekhông còn hỗ trợdisabled— tư duy không thể tắt. Lời khuyên di chuyển chính thức: các ứng dụng trước đây đã gửi{"type": "disabled"}nên chuyển sang{"type": "enabled"}và đặtreasoning_effortthành"low".reasoning_effortthu hẹp thành ba cấp độ:low(nhẹ) /high(tăng cường) /max(sâu, mặc định). Bản đồ tương thích 7 giá trị thời GLM-5.2 không còn áp dụng; Z.ai khuyến nghịmaxcho các nhiệm vụ lập trình.
Đã xác minh: gửithinking: {"type": "disabled"}qua AIHubMix trả về 200 và tư duy vẫn xảy ra (reasoning_contentđược trả về như thường lệ) — giá trị được chuyển đổi tự động theo ngữ nghĩa kênh chính thức thay vì bị từ chối. Nếu khách hàng của bạn dựa vào "tắt tư duy để tiết kiệm token", hãy chuyển sangreasoning_effort: "low".
Đã xác minh: các giá trị ngoài danh sách choreasoning_effortcũng trả về 200 mà không có lỗi (trở về giá trị mặc địnhmaxtheo tài liệu chính thức);lowso vớimaxcho thấy xu hướng tư duy nhẹ hơn như mong đợi (27 so với 39 token lý luận cho cùng một câu hỏi số học).
Hoàn thành trò chuyện
Nội dung tư duy được trả về trong trường reasoning_content; trong luồng nó đến dưới dạng delta.reasoning_content.
from openai import OpenAI
client = OpenAI(
base_url="https://aihubmix.com/v1",
api_key="<AIHUBMIX_API_KEY>",
)
completion = client.chat.completions.create(
model="coding-glm-5.3",
reasoning_effort="max", # low / high / max, mặc định max
extra_body={"thinking": {"type": "enabled"}},
messages=[
{"role": "user", "content": "Tính căn bậc hai của (17*23-19*11), làm tròn xuống. Chỉ số."}
],
)
print(completion.choices[0].message.reasoning_content)
print(completion.choices[0].message.content) # Quan sát: "13"
Đã xác minh:usage.completion_tokens_details.reasoning_tokensbáo cáo việc sử dụng tư duy — 27 vớireasoning_effort="low", 39 với"max"cho cùng một câu hỏi.
Phản hồi
Nội dung tư duy trở lại dưới dạng một mục đầu ra reasoning, với văn bản bên trong mảng summary như summary_text.
from openai import OpenAI
client = OpenAI(
base_url="https://aihubmix.com/v1",
api_key="<AIHUBMIX_API_KEY>",
)
response = client.responses.create(
model="coding-glm-5.3",
input="Thủ đô của Pháp là gì? Chỉ tên thành phố.",
)
# Quan sát loại mục phản hồi.output: ["reasoning", "message"]
# mục lý luận: {"type": "reasoning", "summary": [{"type": "summary_text", "text": "Người dùng đang hỏi..."}]}
# usage.output_tokens_details.reasoning_tokens: 80
Đã xác minh: yêu cầu mặc định (không có tham sốreasoningnào) đã bao gồm mụcreasoningvớisummary_text— không cần phải chọn tham gia rõ ràng.
Tin nhắn
Nội dung tư duy được trả về dưới dạng các khối nội dung thinking gốc.
from anthropic import Anthropic
client = Anthropic(
api_key="<AIHUBMIX_API_KEY>",
base_url="https://aihubmix.com"
)
response = client.messages.create(
model="coding-glm-5.3",
max_tokens=4096,
messages=[
{"role": "user", "content": "Thủ đô của Pháp là gì? Chỉ tên thành phố."}
],
)
# Quan sát loại khối phản hồi.content: ["thinking", "text"]
Đã xác minh: các khối tư duy được trả về theo mặc định; thinking: {"type": "disabled"} trên API này cũng trả về 200 với tư duy vẫn xảy ra (nhất quán với ngữ nghĩa kênh chính thức "tắt chuyển thành thấp, yêu cầu tiếp tục").3. Gọi công cụ và Công cụ song song
Gọi hàm đã được xác minh hoạt động trên cả ba API; trên API Responses, chúng tôi cũng quan sát thấy các cuộc gọi công cụ song song trong một lượt (Z.ai tuyên bố rõ ràng supports_parallel_tool_calls: true cho GLM-5.3). Giới hạn phía trên: tối đa 128 hàm trong tools; tool_choice chỉ hỗ trợ auto.
Hoàn thành trò chuyện
completion = client.chat.completions.create(
model="coding-glm-5.3",
messages=[{"role": "user", "content": "Thời tiết hôm nay ở Bắc Kinh thế nào?"}],
tools=[{
"type": "function",
"function": {
"name": "get_weather",
"description": "Lấy thời tiết cho một thành phố",
"parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
},
}],
)
# Quan sát: finish_reason "tool_calls", với một cuộc gọi get_weather trong tool_calls
Đã xác minh: tool_choice: "none" hoạt động — câu hỏi thời tiết tương tự trả về văn bản thuần túy mà không có cuộc gọi công cụ.Phản hồi
response = client.responses.create(
model="coding-glm-5.3",
input="Kiểm tra thời tiết hôm nay ở Thượng Hải và Bắc Kinh",
parallel_tool_calls=True,
tools=[{
"type": "function",
"name": "get_weather",
"description": "Lấy thời tiết cho một thành phố",
"parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
}],
)
# Quan sát: một lượt trả về 2 mục đầu ra function_call song song (một cho mỗi thành phố)
Đã xác minh: 2 cuộc gọi công cụ song song trong một lượt, khớp với tuyên bố chính thức supports_parallel_tool_calls: true.Tin nhắn
response = client.messages.create(
model="coding-glm-5.3",
max_tokens=4096,
tools=[{
"name": "get_weather",
"description": "Lấy thời tiết cho một thành phố",
"input_schema": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
}],
messages=[{"role": "user", "content": "Thời tiết hôm nay ở Bắc Kinh thế nào?"}],
)
# Quan sát: stop_reason "tool_use"; nội dung chứa một khối tool_use
❗ Đã xác minh: trên API này, mô hình vẫn tạo ra các cuộc gọi công cụ sautool_choice: {"type": "none"}— để tắt công cụ, hãy loại bỏ hoàn toàn tham sốtools, hoặc sử dụngtool_choice: "none"trên API Hoàn thành trò chuyện thay thế.
4. Đầu ra có cấu trúc
response_format hỗ trợ text và json_object; phía trên không liệt kê chế độ json_schema. Khi bạn cần sự tuân thủ nghiêm ngặt về sơ đồ, hãy nhúng JSON Schema vào trong lời nhắc và xác thực ở phía khách hàng.
Hoàn thành trò chuyện
completion = client.chat.completions.create(
model="coding-glm-5.3",
messages=[
{"role": "user", "content": "Thủ đô của Pháp là gì? Trả lời bằng JSON với khóa \"answer\"."}
],
response_format={"type": "json_object"},
)
# Quan sát nội dung phản hồi: {"answer": "Paris"}
Đã xác minh: đầu ra là JSON hợp lệ chứa khóa yêu cầu.
Phản hồi
response = client.responses.create(
model="coding-glm-5.3",
input="Thủ đô của Pháp là gì? Trả lời bằng JSON với khóa \"answer\".",
text={"format": {"type": "json_object"}},
)
# Quan sát đầu ra văn bản: {"answer": "Paris"}
Tin nhắn
# Chỉ định cấu trúc JSON trong lời nhắc; đầu ra quan sát là JSON hợp lệ
response = client.messages.create(
model="coding-glm-5.3",
max_tokens=4096,
messages=[
{"role": "user", "content": "Thủ đô của Pháp là gì? Trả lời bằng JSON với khóa \"answer\"."}
],
)
# Quan sát văn bản phản hồi: {"answer": "Paris"}
5. Bộ nhớ đệm ngữ cảnh là tự động
Bộ nhớ đệm ngầm được bật theo mặc định mà không cần tham số nào; các tiền tố dài lặp lại báo cáo các lần truy cập bộ nhớ đệm trong việc sử dụng (tên trường thay đổi theo API).
Hoàn thành trò chuyện
# sử dụng cuộc gọi thứ hai với một tiền tố dài giống hệt
"prompt_tokens_details": {"cached_tokens": 960}
Đã xác minh: cuộc gọi thứ hai trong hai cuộc gọi liên tiếp đã truy cập 960 token đã lưu.
Phản hồi
# sử dụng cuộc gọi thứ hai với một tiền tố dài giống hệt
"input_tokens_details": {"cached_tokens": 960}
Tin nhắn
# các lần truy cập được báo cáo qua usage.cache_read_input_tokens
"cache_read_input_tokens": 0
Đã xác minh: chúng tôi không tái tạo được một lần truy cập bộ nhớ đệm trên API này trong vòng này (các bộ nhớ đệm ấm theo kênh; một chuyển đổi bộ cân bằng tải có thể gây ra một lần truy cập không thành công). Trường báo cáo truy cập theo ngữ nghĩa của Anthropic.
6. Lấy mẫu và Xác thực tham số
Lấy mẫu tuân theo các quy tắc của điểm cuối GLM: phạm vi temperature [0, 1] với mặc định là 1.0 (lưu ý — hẹp hơn so với giao thức OpenAI [0, 2]); phạm vi top_p [0.01, 1] với mặc định là 0.95. Z.ai khuyến nghị chỉ điều chỉnh một trong hai tham số.
Đã xác minh: xác thực tham số khác nhau giữa các API — API Tin nhắn từ chối mộttemperature: 3ngoài phạm vi với 400 nêu rõ phạm vi hợp lệ[0,1], trong khi Hoàn thành trò chuyện / Phản hồi im lặng chấp nhận cùng một giá trị ngoài phạm vi với 200. Khi di chuyển giữa các API, đừng dựa vào cổng để bắt các giá trị lấy mẫu ngoài phạm vi cho bạn.
# API Tin nhắn với temperature=3 -> HTTP 400
"temperature parameter invalid: value must be within [0,1]"
7. Ma trận Hỗ trợ API × Khả năng
Mỗi ô dưới đây đã được xác minh với các cuộc gọi thực tế thông qua các API trực tiếp của AIHubMix vào ngày 2026-08-14; các ô hiển thị cách viết tham số/trường cho mỗi API.
| Khả năng | Hoàn thành trò chuyện | Phản hồi | Tin nhắn |
|---|---|---|---|
| Tạo cơ bản / phát trực tiếp | ✅ | ✅ | ✅ |
| Nội dung tư duy | ✅ reasoning_content field |
✅ reasoning output item (summary_text) |
✅ thinking content block |
| Cường độ tư duy | ✅ reasoning_effort (low/high/max, mặc định max) |
✅ giống như bên trái | ✅ chấp nhận với 200 |
| Tắt tư duy | ❗ Không thể: disabled trả về 200 và tư duy tiếp tục (ngữ nghĩa chuyển đổi thành thấp) |
➖ không có tham số chuyển đổi | ❗ giống như Chat |
| Gọi hàm | ✅ | ✅ | ✅ |
| Gọi công cụ song song | — | ✅ 2 function_call items trong một lượt |
— |
| Tắt gọi công cụ | ✅ tool_choice: "none" hoạt động |
✅ 200 (không có cuộc gọi nào được quan sát) | ❗ các cuộc gọi vẫn được tạo ra sau {"type": "none"} |
| Đầu ra có cấu trúc (chế độ JSON) | ✅ response_format: json_object |
✅ text.format: json_object |
✅ qua quy ước lời nhắc |
json_schema chế độ nghiêm ngặt |
❗ không được liệt kê ở phía trên — nhúng sơ đồ vào lời nhắc | ❗ giống như bên trái | ❗ giống như bên trái |
| Kế toán bộ nhớ đệm tự động | ✅ usage.prompt_tokens_details.cached_tokens |
✅ usage.input_tokens_details.cached_tokens |
✅ trường có mặt (không có lần truy cập nào được tái tạo trong vòng này) |
| Xác thực đầu ra tối đa | ✅ 400 với phạm vi [1,131072] | — | — |
| Xác thực lấy mẫu ngoài phạm vi | ❗ im lặng 200 | ❗ im lặng 200 | ✅ 400 với phạm vi [0,1] |
Câu hỏi thường gặp
ID mô hình GLM-5.3 trên AIHubMix là gì? Tôi có cần hậu tố [1m] không?
ID mô hình là coding-glm-5.3 — sử dụng như vậy. glm-5.3[1m] là cú pháp tên mô hình của Z.ai cho khách hàng Claude Code và không liên quan đến các cuộc gọi AIHubMix; không có ba API nào cần hậu tố nào.
Tôi có thể tắt tư duy không?
Không. Tư duy GLM-5.3 luôn bật và thinking.type chỉ hỗ trợ enabled; trong các thử nghiệm của chúng tôi, gửi disabled trả về 200 với tư duy vẫn xảy ra (chuyển thành cấp low theo ngữ nghĩa chính thức). Để tiết kiệm token tư duy, hãy gửi reasoning_effort: "low".
GLM-5.3 liên quan đến GLM-5.2 như thế nào?
Cùng một mô hình cơ sở — tất cả lợi ích đến từ huấn luyện sau (cách diễn đạt chính thức: "Nó sử dụng cùng một mô hình cơ sở như GLM-5.2 — mọi lợi ích đến từ huấn luyện sau"). Hai thay đổi API lớn: tư duy không còn có thể tắt, và reasoning_effort thu hẹp thành ba cấp độ low/high/max (mặc định max).
Nếu tôi cần đầu ra có cấu trúc json_schema nghiêm ngặt thì sao?
Phía trên không liệt kê chế độ response_format: json_schema. Trong các thử nghiệm của chúng tôi, chế độ JSON json_object đã sản xuất JSON hợp lệ trên cả ba API; đối với các sơ đồ nghiêm ngặt, hãy nhúng JSON Schema vào trong lời nhắc và xác thực ở phía khách hàng.
Liệu coding-glm-5.3 có phải là phiên bản sản xuất không?
Hiện tại nó là một lộ trình xem trước có thời hạn (tài liệu API mô hình của Z.ai đánh dấu API chính thức là "sắp ra mắt"); AIHubMix sẽ cập nhật ngay khi API thương mại được phát hành. Xem trang mô hình để biết giá cả và trạng thái hiện tại.
Để biết giá cả và trạng thái theo thời gian thực, hãy xem trang mô hình GLM-5.3; để biết thêm mô hình, hãy truy cập thư viện mô hình.




