GLM-5.3 Hướng dẫn thực hành: Luôn bật suy luận, ba mức nỗ lực và ma trận hỗ trợ API

Hướng dẫn gọi GLM-5.3 (tháng 8 năm 2026): suy luận luôn bật với ba mức reasoning_effort, tóm tắt suy luận, gọi công cụ song song, đầu ra có cấu trúc và caching tự động, kèm ví dụ đã kiểm thử cho các API Chat, Responses và Messages của AIHubMix.

AIHubMixĐọc 7 phút
GLM-5.3 Hướng dẫn thực hành: Luôn bật suy luận, ba mức nỗ lực và ma trận hỗ trợ API

Tiêu đề: Hướng dẫn thực hành GLM-5.3: Luôn bật suy luận, ba mức nỗ lực & ma trận hỗ trợ API

Mô tả: Hướng dẫn GLM-5.3 tháng 8 năm 2026: suy luận luôn bật với ba mức reasoning_effort, tóm tắt suy luận, gọi công cụ song song, đầu ra có cấu trúc và caching tự động, kèm ví dụ đã xác minh cho Chat / Responses / Messages của AIHubMix.


Bài viết này trình bày các thay đổi chính về API và lưu ý khi sử dụng GLM-5.3. GLM-5.3 là mô hình chủ lực của Z.ai, phát hành ngày 14-08-2026. Nó dùng đúng mô hình nền như GLM-5.2, và mọi cải tiến đều đến từ quá trình hậu huấn luyện. Trên AIHubMix, ID mô hình là coding-glm-5.3 (hiện là tuyến xem trước có thời hạn), khả dụng qua các API Chat Completions, Responses và Messages tương thích Claude. Xem thêm: bài thông báo phát hành chính thức của Z.ai.

Các kết luận "đã xác minh" và phản hồi mẫu trong mỗi phần đến từ các lệnh gọi thực tế được thực hiện vào ngày 14-08-2026 qua API của 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 1M token (giá trị chính xác chính thức: 1,048,576)
Đầu ra tối đa 128K (giới hạn max_tokens đã xác minh: 131,072 — vượt quá sẽ trả về 400)
Phương thức đầu vào Văn bản
Suy luận Luôn bật, không thể tắt; reasoning_effort có ba mức — low / high / max, mặc định là max
Quan hệ với GLM-5.2 Cùng mô hình nền, được nâng cấp qua hậu huấn luyện: năng lực lập trình và tác vụ dài hạn mạnh hơn nhiều, cùng với khả năng an ninh mạng mới xuất hiện
ID mô hình trên AIHubMix coding-glm-5.3 (tuyến 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 kèm khoảng giá trị hợp lệ trong nội dung lỗi — giới hạn trần thực sự được xác thực, 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: Suy luận luôn bật, cường độ qua reasoning_effort

Mục GLM-5.2 GLM-5.3
Mô hình nền — Giống hệt 5.2 (mọi cải tiến đến từ hậu huấn luyện)
thinking.type enabled / disabled — có thể tắt enabled duy nhất — không thể tắt
reasoning_effort Ánh xạ tương thích 7 giá trị (mức hiệu lực: max/high) Ba mức low / high / max, mặc định max
Định vị Mô hình chủ lực đa dụng Được tăng cường cho lập trình và tác vụ tác tử dài hạn, cùng khả năng an ninh mạng mới xuất hiện

Đây là hai thay đổi API quan trọng nhất của GLM-5.3 so với GLM-5.2:

  1. thinking.type không còn hỗ trợ disabled — không thể tắt suy luận. Hướng dẫ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à đặt reasoning_effort thành "low".
  2. reasoning_effort thu hẹp còn ba mức: low (nhẹ) / high (nâng cao) / max (sâu, mặc định). Ánh xạ tương thích 7 giá trị thời GLM-5.2 không còn áp dụng; Z.ai khuyến nghị dùng max cho tác vụ lập trình.
Đã xác minh: gửi thinking: {"type": "disabled"} qua AIHubMix trả về 200 và suy luận vẫn diễn ra (reasoning_content vẫn được trả về bình thường) — giá trị này được tự động chuyển đổi theo ngữ nghĩa kênh chính thức thay vì bị từ chối. Nếu client của bạn dựa vào việc "tắt suy luận để tiết kiệm token", hãy chuyển sang reasoning_effort: "low".

Đã xác minh: các giá trị ngoài danh sách cho reasoning_effort cũng trả về 200 không lỗi (rơi về mặc định max theo tài liệu chính thức); low so với max cho thấy xu hướng suy luận nhẹ hơn như mong đợi (27 so với 39 token suy luận cho cùng một bài toán số học).

Chat Completions

Nội dung suy luận được trả về trong trường reasoning_content; khi streaming, 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, default max
    extra_body={"thinking": {"type": "enabled"}},
    messages=[
        {"role": "user", "content": "Compute the square root of (17*23-19*11), rounded down. Digits only."}
    ],
)

print(completion.choices[0].message.reasoning_content)
print(completion.choices[0].message.content)   # Observed: "13"
Đã xác minh: usage.completion_tokens_details.reasoning_tokens báo cáo lượng suy luận đã dùng — 27 với reasoning_effort="low", 39 với "max" trên cùng một câu hỏi.

Responses

Nội dung suy luận được trả về dưới dạng mục đầu ra reasoning, với văn bản nằm trong mảng summary dưới dạng 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="What is the capital of France? City name only.",
)

# Observed response.output item types: ["reasoning", "message"]
# reasoning item: {"type": "reasoning", "summary": [{"type": "summary_text", "text": "The user is asking..."}]}
# usage.output_tokens_details.reasoning_tokens: 80
Đã xác minh: yêu cầu mặc định (không có tham số reasoning nào) đã bao gồm mục reasoning với summary_text — không cần bật tường minh.

Messages

Nội dung suy luận được trả về dưới dạng 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": "What is the capital of France? City name only."}
    ],
)

# Observed response.content block types: ["thinking", "text"]
Đã xác minh: các khối thinking được trả về mặc định; thinking: {"type": "disabled"} trên API này cũng trả về 200 và suy luận vẫn diễn ra (phù hợp với ngữ nghĩa kênh chính thức "disabled được chuyển thành low, yêu cầu vẫn tiếp tục").

3. Gọi công cụ và công cụ song song

Gọi hàm đã hoạt động đúng trên cả ba API; trên API Responses, chúng tôi cũng quan sát được việc gọi công cụ song song trong cùng một lượt (Z.ai khai báo rõ supports_parallel_tool_calls: true cho GLM-5.3). Giới hạn phía upstream: tối đa 128 hàm trong tools; tool_choice chỉ hỗ trợ auto ở mức gốc.

Chat Completions

completion = client.chat.completions.create(
    model="coding-glm-5.3",
    messages=[{"role": "user", "content": "What's the weather in Beijing today?"}],
    tools=[{
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get weather for a city",
            "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
        },
    }],
)

# Observed: finish_reason "tool_calls", with a get_weather call in tool_calls
Đã xác minh: tool_choice: "none" hoạt động — cùng câu hỏi thời tiết trả về văn bản thuần túy, không có lệnh gọi công cụ.

Responses

response = client.responses.create(
    model="coding-glm-5.3",
    input="Check today's weather in Shanghai and Beijing",
    parallel_tool_calls=True,
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Get weather for a city",
        "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    }],
)

# Observed: a single turn returns 2 parallel function_call output items (one for each city)
Đã xác minh: 2 lệnh gọi công cụ song song trong một lượt, khớp với khai báo chính thức supports_parallel_tool_calls: true.

Messages

response = client.messages.create(
    model="coding-glm-5.3",
    max_tokens=4096,
    tools=[{
        "name": "get_weather",
        "description": "Get weather for a city",
        "input_schema": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    }],
    messages=[{"role": "user", "content": "What's the weather in Beijing today?"}],
)

# Observed: stop_reason "tool_use"; content contains a tool_use block
❗ Đã xác minh: trên API này, mô hình vẫn tạo lệnh gọi công cụ sau khi đặt tool_choice: {"type": "none"} — để tắt công cụ, hãy xóa hoàn toàn tham số tools, hoặc dùng tool_choice: "none" trên API Chat Completions.

4. Đầu ra có cấu trúc

response_format hỗ trợ text và json_object; upstream không liệt kê chế độ json_schema. Khi cần tuân thủ schema nghiêm ngặt, hãy nhúng JSON Schema vào prompt và kiểm tra ở phía client.

Chat Completions

completion = client.chat.completions.create(
    model="coding-glm-5.3",
    messages=[
        {"role": "user", "content": "What is the capital of France? Answer in JSON with the key \"answer\"."}
    ],
    response_format={"type": "json_object"},
)

# Observed response content: {"answer": "Paris"}
Đã xác minh: đầu ra là JSON hợp lệ chứa khóa được yêu cầu.

Responses

response = client.responses.create(
    model="coding-glm-5.3",
    input="What is the capital of France? Answer in JSON with the key \"answer\".",
    text={"format": {"type": "json_object"}},
)

# Observed output text: {"answer": "Paris"}

Messages

# Specify the JSON structure in the prompt; observed output is valid JSON
response = client.messages.create(
    model="coding-glm-5.3",
    max_tokens=4096,
    messages=[
        {"role": "user", "content": "What is the capital of France? Answer in JSON with the key \"answer\"."}
    ],
)

# Observed response text: {"answer": "Paris"}

5. Caching ngữ cảnh là tự động

Caching ngầm được bật mặc định, không cần truyền tham số nào; các tiền tố dài lặp lại sẽ báo cache hit trong usage (tên trường khác nhau tùy API).

Chat Completions

# usage of the second call with an identical long prefix
"prompt_tokens_details": {"cached_tokens": 960}
Đã xác minh: lệnh gọi thứ hai trong hai lệnh gọi liên tiếp đã trúng 960 token được cache.

Responses

# usage of the second call with an identical long prefix
"input_tokens_details": {"cached_tokens": 960}

Messages

# hits are reported via usage.cache_read_input_tokens
"cache_read_input_tokens": 0
Đã xác minh: chúng tôi không tái hiện được cache hit trên API này trong lượt thử này (cache được làm nóng theo từng kênh; việc load balancer chuyển hướng có thể gây miss). Trường ghi nhận cache hit tuân theo ngữ nghĩa của Anthropic.

6. Kiểm tra lấy mẫu và tham số

Việc lấy mẫu tuân theo quy ước endpoint của họ GLM: temperature trong khoảng [0, 1], mặc định 1.0 (lưu ý — hẹp hơn giao thức OpenAI [0, 2]); top_p trong khoảng [0.01, 1], mặc định 0.95. Z.ai khuyến nghị chỉ điều chỉnh một trong hai.

Đã xác minh: việc kiểm tra tham số khác nhau giữa các API — API Messages từ chối temperature: 3 ngoài khoảng bằng lỗi 400 nêu rõ khoảng hợp lệ [0,1], trong khi Chat Completions / Responses lặng lẽ chấp nhận cùng giá trị ngoài khoảng với 200. Khi chuyển đổi giữa các API, đừng trông chờ gateway sẽ tự phát hiện giá trị lấy mẫu ngoài khoảng.
# Messages API with temperature=3 -> HTTP 400
"temperature parameter invalid: value must be within [0,1]"

7. Ma trận hỗ trợ Năng lực × API

Mọi ô dưới đây đã được xác minh bằng lệnh gọi thực qua API trực tiếp của AIHubMix vào ngày 14-08-2026; các ô hiển thị cách viết tham số/trường cho từng API.

Năng lực Chat Completions Responses Messages
Sinh văn bản cơ bản / streaming ✅ ✅ ✅
Nội dung suy luận ✅ trường reasoning_content ✅ mục đầu ra reasoning (summary_text) ✅ khối nội dung thinking
Cường độ suy luận ✅ reasoning_effort (low/high/max, mặc định max) ✅ giống bên trái ✅ được chấp nhận với 200
Tắt suy luận ❗ Không thể: disabled trả về 200 và suy luận vẫn tiếp diễn (ngữ nghĩa chuyển thành low) ➖ không có tham số bật/tắt ❗ giống Chat
Gọi hàm ✅ ✅ ✅
Gọi công cụ song song — ✅ 2 mục function_call trong một lượt —
Tắt gọi công cụ ✅ tool_choice: "none" hoạt động ✅ 200 (không quan sát thấy lệnh gọi) ❗ vẫn tạo lệnh gọi sau {"type": "none"}
Đầu ra có cấu trúc (chế độ JSON) ✅ response_format: json_object ✅ text.format: json_object ✅ qua quy ước trong prompt
Chế độ nghiêm ngặt json_schema ❗ không được liệt kê ở upstream — nhúng schema vào prompt ❗ giống bên trái ❗ giống bên trái
Ghi nhận cache tự động ✅ usage.prompt_tokens_details.cached_tokens ✅ usage.input_tokens_details.cached_tokens ✅ có trường (lượt thử này chưa tái hiện được cache hit)
Kiểm tra giới hạn đầu ra tối đa ✅ 400 với khoảng [1,131072] — —
Kiểm tra tham số lấy mẫu ngoài khoảng ❗ 200 âm thầm ❗ 200 âm thầm ✅ 400 với khoảng [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 — dùng nguyên như vậy. glm-5.3[1m] là cú pháp tên mô hình của Z.ai dành cho client Claude Code và không liên quan đến lệnh gọi AIHubMix; cả ba API đều không cần bất kỳ hậu tố nào.

Tôi có thể tắt suy luận không?
Không. Suy luận của GLM-5.3 luôn bật và thinking.type chỉ hỗ trợ enabled; trong thử nghiệm của chúng tôi, gửi disabled trả về 200 và suy luận vẫn diễn ra (được chuyển thành mức low theo ngữ nghĩa chính thức). Để tiết kiệm token suy luận, hãy gửi reasoning_effort: "low".

GLM-5.3 có liên hệ gì với GLM-5.2?
Cùng mô hình nền — mọi cải tiến đều đến từ hậu huấn luyện (nguyên văn chính thức: "Nó dùng cùng mô hình nền như GLM-5.2 — mọi cải tiến đều đến từ hậu huấn luyện"). Có hai thay đổi API bắt buộc: không còn có thể tắt suy luận, và reasoning_effort thu hẹp còn ba mức 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?
Upstream không liệt kê chế độ response_format: json_schema. Trong thử nghiệm của chúng tôi, chế độ JSON json_object tạo ra JSON hợp lệ trên cả ba API; với schema nghiêm ngặt, hãy nhúng JSON Schema vào prompt và kiểm tra ở phía client.

Có phải coding-glm-5.3 là bản phát hành chính thức không?
Hiện tại đây là tuyến xem trước có thời hạn (tài liệu API mô hình của Z.ai ghi 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á và trạng thái hiện tại.


Để xem giá và trạng thái theo thời gian thực, hãy truy cập trang mô hình GLM-5.3; để xem thêm các mô hình khác, hãy truy cập thư viện mô hình.

Một cổng duy nhất tới nhiều nhà cung cấp AI. Sẵn sàng cho môi trường production.

Truy cập AIHubMix