Tóm tắt nhanh
Bản xem trước Qwen 3.6 Plus ra mắt ngày 30/3/2026, có cửa sổ ngữ cảnh 1 triệu token, tính năng suy luận chuỗi suy nghĩ bắt buộc và hỗ trợ sử dụng công cụ. Hiện tại, mô hình này hoàn toàn miễn phí trên OpenRouter. Để dùng thử, sử dụng ID mô hình qwen/qwen3.6-plus-preview:free với bất kỳ ứng dụng khách tương thích OpenAI nào.
Mô hình xuất hiện lặng lẽ
Alibaba Cloud đã ra mắt bản xem trước Qwen 3.6 Plus vào ngày 30 tháng 3 năm 2026. Không có thông báo lớn, không danh sách chờ. Mô hình mới xuất hiện trên OpenRouter với giá 0 đô la cho mỗi triệu token.
Chỉ trong hai ngày đầu, mô hình đã xử lý hơn 400 triệu token, tương ứng khoảng 400.000 yêu cầu – tốc độ được đánh giá cao bởi cộng đồng phát triển.
Bài viết này hướng dẫn chi tiết từng bước: tạo tài khoản, lấy API key, ví dụ cURL/Python/Node.js, cùng mẹo tối ưu hoá hiệu quả sử dụng Qwen 3.6 trong thực tế.
💡 Nếu bạn đang phát triển trên bất kỳ API AI nào, hãy trang bị công cụ kiểm thử và debug hiệu quả. Apidog hỗ trợ tốt cho mọi REST API, bao gồm OpenRouter – hoàn toàn miễn phí.
Kết thúc hướng dẫn, bạn sẽ biết cách gọi Qwen 3.6, nhận diện khả năng và giới hạn của nó trong thực tế.
Những gì Qwen 3.6 bổ sung so với dòng 3.5
Ba điểm nâng cấp đáng chú ý:
1. Cửa sổ ngữ cảnh tăng lên 1 triệu token
Qwen 3.5 hỗ trợ 32K–128K token. Qwen 3.6 cho phép lên tới 1 triệu token (~750.000 từ). Với mức này, bạn có thể truyền toàn bộ codebase, một năm log Slack, hay thư viện tài liệu lớn chỉ trong một request. Đây là lợi thế hiếm có ở mô hình miễn phí.
2. Suy luận chuỗi suy nghĩ bắt buộc
Qwen 3.6 luôn tạo chuỗi suy nghĩ nội bộ trước khi trả lời, không cần prompt đặc biệt như “suy nghĩ từng bước”. Cơ chế này tương tự DeepSeek R1 nhưng Qwen 3.6 mở rộng cho code, front-end, và giải quyết vấn đề tổng quát.
3. Hành vi tác nhân đáng tin cậy hơn
Gọi hàm ở Qwen 3.5 có thể lỗi đối số hoặc gọi hàm không tồn tại. Qwen 3.6 khắc phục triệt để: khả năng suy luận mạnh hơn và hành vi agent ổn định hơn, đặc biệt với workflow nhiều bước.
Ba nhiệm vụ tối ưu:
- Mã hóa tác nhân (multi-step code + tool use)
- Phát triển UI (HTML, CSS, JS component)
- Giải quyết vấn đề phức tạp (research, phân tích, tóm tắt context dài)
Cách truy cập Qwen 3.6 miễn phí
Cần 2 bước: tạo tài khoản OpenRouter và lấy API key. Không cần thẻ tín dụng cho các mô hình miễn phí.
Bước 1: Tạo tài khoản OpenRouter
Truy cập openrouter.ai, đăng ký bằng email hoặc Google. Mô hình miễn phí không cần phương thức thanh toán, chỉ xác minh email là xong.
Bước 2: Tạo API key
- Nhấp vào avatar góc trên phải
- Chọn API Keys
- Nhấn Create Key
- Đặt tên (vd:
qwen-test) và nhấn Create - Sao chép key (bắt đầu bằng
sk-or-v1-...)
Lưu trữ key cẩn thận – OpenRouter sẽ không hiện lại.
Bước 3: Gửi yêu cầu đầu tiên
ID mô hình: qwen/qwen3.6-plus-preview:free
OpenRouter dùng format API như OpenAI, nên bất kỳ client tương thích OpenAI nào cũng hoạt động.
cURL:
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer sk-or-v1-YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3.6-plus-preview:free",
"messages": [
{
"role": "user",
"content": "Write a Python function that parses a JWT token and returns the payload as a dictionary."
}
]
}'
Python (requests):
import requests
def call_qwen(prompt: str, api_key: str) -> str:
response = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
},
json={
"model": "qwen/qwen3.6-plus-preview:free",
"messages": [{"role": "user", "content": prompt}],
},
timeout=60,
)
response.raise_for_status()
return response.json()["choices"][0]["message"]["content"]
result = call_qwen(
"Write a Python function that parses a JWT token and returns the payload.",
api_key="sk-or-v1-YOUR_KEY_HERE"
)
print(result)
Node.js (fetch):
async function callQwen(prompt, apiKey) {
const response = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "qwen/qwen3.6-plus-preview:free",
messages: [{ role: "user", content: prompt }],
}),
});
if (!response.ok) {
throw new Error(`OpenRouter error: ${response.status} ${await response.text()}`);
}
const data = await response.json();
return data.choices[0].message.content;
}
callQwen(
"Write a JavaScript function that validates an email address.",
"sk-or-v1-YOUR_KEY_HERE"
).then(console.log);
Python với OpenAI SDK:
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-v1-YOUR_KEY_HERE",
)
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=[
{
"role": "system",
"content": "You are a senior backend engineer. Write clean, production-ready code."
},
{
"role": "user",
"content": "Write a Python function that retries a failed HTTP request up to 3 times with exponential backoff."
}
],
)
print(response.choices[0].message.content)
Sử dụng công cụ và workflow tác nhân
Qwen 3.6 hỗ trợ tool use miễn phí. Ví dụ tích hợp với OpenAI SDK:
from openai import OpenAI
import json
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-v1-YOUR_KEY_HERE",
)
tools = [
{
"type": "function",
"function": {
"name": "search_api_docs",
"description": "Search the API documentation for a specific endpoint or parameter",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query"
},
"version": {
"type": "string",
"enum": ["v1", "v2", "v3"],
"description": "API version to search"
}
},
"required": ["query"]
}
}
},
{
"type": "function",
"function": {
"name": "run_api_test",
"description": "Execute a test request against an API endpoint",
"parameters": {
"type": "object",
"properties": {
"endpoint": {"type": "string"},
"method": {"type": "string", "enum": ["GET", "POST", "PUT", "DELETE"]},
"body": {"type": "object"}
},
"required": ["endpoint", "method"]
}
}
}
]
messages = [
{
"role": "user",
"content": "Find documentation for the /users endpoint and run a test GET request against it."
}
]
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=messages,
tools=tools,
tool_choice="auto",
)
message = response.choices[0].message
if message.tool_calls:
for tool_call in message.tool_calls:
print(f"Tool: {tool_call.function.name}")
args = json.loads(tool_call.function.arguments)
print(f"Arguments: {json.dumps(args, indent=2)}")
else:
print(message.content)
Mô hình sẽ trả về object gọi hàm, bạn tự thực thi hàm trong code và trả kết quả cho mô hình ở lượt tiếp theo. Đây là cách xây dựng workflow tác nhân nhiều bước: model gọi tool, mã của bạn chạy, lặp lại cho đến khi hoàn thành.
Sử dụng cửa sổ ngữ cảnh 1 triệu token
Ngữ cảnh 1M token phù hợp cho tác vụ cần truyền nhiều dữ liệu cùng lúc. Ba ví dụ điển hình:
Đánh giá toàn bộ codebase
Truyền toàn bộ code (trong giới hạn token) để phát hiện lỗ hổng bảo mật, hàm chưa kiểm soát lỗi, hoặc quy ước đặt tên không nhất quán.
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-v1-YOUR_KEY_HERE",
)
def load_codebase(directory: str, extensions: list[str]) -> str:
content_parts = []
for path in Path(directory).rglob("*"):
if path.suffix in extensions and path.is_file():
try:
text = path.read_text(encoding="utf-8", errors="ignore")
content_parts.append(f"--- FILE: {path} ---\n{text}\n")
except Exception:
continue
return "\n".join(content_parts)
codebase = load_codebase("./src", [".py", ".js", ".ts"])
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=[
{
"role": "user",
"content": f"Review this codebase and identify:\n1. Security vulnerabilities\n2. Functions with no error handling\n3. Inconsistent naming conventions\n\nCodebase:\n{codebase}"
}
],
)
print(response.choices[0].message.content)
Phân tích tài liệu lớn
Gửi tài liệu dài (vd: báo cáo tài chính) và truy vấn thông tin cụ thể.
with open("annual_report_2025.txt", "r") as f:
document = f.read()
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=[
{
"role": "user",
"content": f"Extract all mentions of API rate limits and pricing changes from this document:\n\n{document}"
}
],
)
Cuộc trò chuyện nhiều lượt, giữ nguyên lịch sử
Giữ toàn bộ lịch sử trao đổi trong context – hữu ích cho session debug dài hoặc phỏng vấn kỹ thuật.
conversation = []
def chat(user_message: str) -> str:
conversation.append({"role": "user", "content": user_message})
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=conversation,
)
assistant_message = response.choices[0].message.content
conversation.append({"role": "assistant", "content": assistant_message})
return assistant_message
print(chat("I'm getting a 401 error from the GitHub API. Here's my code..."))
print(chat("I added the token but now I get a 403. The token has repo scope."))
print(chat("The repo is private. What scopes do I actually need?"))
Kiểm tra các yêu cầu API OpenRouter bằng Apidog
Debug API OpenRouter hiệu quả hơn với Apidog – ứng dụng khách API miễn phí, hỗ trợ xây dựng request, kiểm thử phản hồi, tự động hóa kiểm thử.
Các bước kiểm thử Qwen 3.6 trong Apidog:
- Tạo request POST đến
https://openrouter.ai/api/v1/chat/completions - Thêm header
Authorization: Bearer sk-or-v1-... - Nội dung JSON gồm
modelvàmessages - Gửi và kiểm tra phản hồi
Bạn có thể lưu thành collection, chuyển đổi model để so sánh, viết kiểm thử tự động xác nhận cấu trúc response, hoặc kiểm tra tool_calls đúng hàm mong muốn.
Lập sẵn test request trong Apidog sẽ tiết kiệm thời gian khi debug model.
Giới hạn cấp miễn phí cần biết trước khi xây dựng trên mô hình này
Qwen 3.6 đang miễn phí – nhưng hạn chế vẫn có:
Giới hạn tốc độ chia sẻ: Tài nguyên miễn phí chia sẻ cho toàn bộ người dùng. Giờ cao điểm (thường vào buổi tối ở Mỹ) có thể gặp độ trễ cao, đôi khi lỗi giới hạn tốc độ. Nên tích hợp retry logic.
import time
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
session = requests.Session()
retry_strategy = Retry(
total=3,
backoff_factor=2,
status_forcelist=[429, 500, 502, 503, 504],
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session.mount("https://", adapter)
response = session.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={"Authorization": "Bearer sk-or-v1-YOUR_KEY_HERE"},
json={
"model": "qwen/qwen3.6-plus-preview:free",
"messages": [{"role": "user", "content": "Hello"}],
},
timeout=30,
)
Dữ liệu được ghi nhật ký: OpenRouter ghi lại prompt và completion để cải thiện model. Không nên gửi thông tin nhạy cảm, password, API key.
Trạng thái xem trước: Đây là bản preview. Hành vi có thể thay đổi. Nếu dùng production, nên pin test vào đúng model ID và monitor regression.
Chỉ hỗ trợ văn bản: Không hỗ trợ hình ảnh, âm thanh, upload file.
Các trường hợp sử dụng thực tế
Xây dựng agent review code: Nhóm nội bộ truyền toàn bộ diff của PR (có thể >10K dòng) vào Qwen 3.6, nhận về đánh giá chi tiết lỗi logic, test thiếu, lỗ hổng bảo mật. Cửa sổ 1M token giúp tránh phải chia nhỏ diff.
Tạo component UI: Dev SaaS sử dụng Qwen 3.6 để generate component React từ spec, thu về code TypeScript, CSS sạch, giảm effort refactor.
Tóm tắt tài liệu API: Nhóm di chuyển giữa các API thanh toán gửi tài liệu của cả hai API (~100K token mỗi loại) vào Qwen 3.6, yêu cầu so sánh, nhận lại bảng đối chiếu authentication, webhook, rate limit trong 30 giây.
Đăng ký tại openrouter.ai, lấy key và thay model ID cho bất kỳ ứng dụng nào bạn đang trả phí.
Câu hỏi thường gặp
Qwen 3.6 có thực sự miễn phí?
Có. Tính đến tháng 3/2026, model miễn phí trên OpenRouter. Trạng thái có thể thay đổi sau giai đoạn preview, kiểm tra lại pricing trước khi xây dựng hệ thống phụ thuộc vào chi phí.
Giới hạn tốc độ cấp miễn phí là bao nhiêu?
OpenRouter không công bố chính xác. Các model miễn phí chia sẻ băng thông, có thể bị limit giờ cao điểm. Bắt đầu với một request/lần, tích hợp retry logic trước khi tăng concurrency.
Có thể dùng Qwen 3.6 cho dự án thương mại?
Có, OpenRouter cho phép sử dụng thương mại. Kiểm tra lại license của Qwen từ Alibaba Cloud nếu có ý định phân phối output.
Vì sao Qwen 3.6 đôi khi phản hồi chậm hơn?
Các token suy luận bắt buộc tăng độ trễ – model sẽ sinh chuỗi suy nghĩ nội bộ trước khi trả về kết quả cuối. Với prompt phức tạp, độ trễ là hợp lý. Dùng streaming nếu muốn hiển thị kết quả từng phần.
Có thể tắt token suy luận không?
Hiện tại, tính năng này bắt buộc và không thể tắt. Nếu cần model phản hồi nhanh hơn, chọn model nhỏ hơn như LLaMA 3.1 8B hoặc thử biến thể khác khi có.
Cửa sổ ngữ cảnh 1M token ảnh hưởng chi phí thế nào?
Miễn phí, bạn không bị tính phí dù truyền bao nhiêu token. Tuy nhiên, request lớn sẽ xử lý lâu và dễ timeout. Đặt timeout 30–60s, tăng cho request >100K token.


Top comments (0)