Anthropic đã phát hành Claude Sonnet 5 vào ngày 30 tháng 6 năm 2026, và nó là một bản thay thế trực tiếp (drop-in replacement) cho Sonnet 4.6. Bạn chỉ cần thay đổi ID mô hình và trong hầu hết các trường hợp, mã của bạn vẫn hoạt động. Nhưng "trong hầu hết các trường hợp" trong câu đó có ẩn ý riêng. Sonnet 5 đi kèm với một trình token hóa (tokenizer) mới, tính năng suy nghĩ thích ứng (adaptive thinking) được bật theo mặc định, và một vài tham số yêu cầu (request parameters) mà giờ đây sẽ trả về lỗi thay vì chạy. Bài viết này sẽ đi sâu vào những thay đổi chính xác, chi phí của chúng và liệu việc nâng cấp có đáng giá cho khối lượng công việc của bạn hay không.
Tóm tắt: giá mỗi token vẫn như cũ, điểm số tốt hơn trong các tác vụ mã hóa và tác vụ tác nhân (agentic tasks), ba thay đổi nhỏ trong mã, và một điểm cần lưu ý không rõ ràng về trình token hóa ảnh hưởng đến số lượng token và ngân sách của bạn. Hãy đọc chi tiết trước khi bạn triển khai trong môi trường sản xuất.

Nâng cấp trong nháy mắt
Sonnet 5 giữ nguyên giá mỗi token như Sonnet 4.6, vì vậy trên cơ sở mỗi token, hóa đơn của bạn không thay đổi. Nó cải thiện các điểm chuẩn quan trọng cho việc sử dụng công cụ và mã hóa. Và nó thay đổi đủ về hành vi mặc định đến mức một sự hoán đổi mù quáng có thể làm bạn bất ngờ.
Dưới đây là so sánh chi tiết.
| Thuộc tính | Sonnet 4.6 (claude-sonnet-4-6) |
Sonnet 5 (claude-sonnet-5) |
|---|---|---|
| Phát hành | Phiên bản trước | 30 tháng 6, 2026 |
| Cửa sổ ngữ cảnh | Lên tới 1 triệu token | 1 triệu token (mặc định và tối đa) |
| Đầu ra tối đa | 128K token | 128K token |
| Suy nghĩ mặc định | Tắt khi không có trường thinking |
Suy nghĩ thích ứng bật theo mặc định |
Suy nghĩ mở rộng (budget_tokens) |
Không dùng nữa | Trả về lỗi 400 |
Tham số lấy mẫu (temperature, top_p, top_k) |
Được chấp nhận | Giá trị không mặc định trả về 400 |
| Trình token hóa | Trình token hóa cũ hơn | Trình token hóa mới (~30% nhiều token hơn trên mỗi văn bản) |
| Giá tiêu chuẩn | $3 / $15 cho mỗi triệu token đầu vào/đầu ra | $3 / $15 cho mỗi triệu token đầu vào/đầu ra |
| Giá giới thiệu | Không áp dụng | $2 / $10 cho mỗi triệu token đến ngày 31 tháng 8 năm 2026 |
Tất cả mọi thứ khác chạy trên Sonnet 4.6 đều chạy trên Sonnet 5 mà không cần thay đổi mã nào khác: đầu ra có cấu trúc, thị giác máy tính, bộ nhớ đệm lời nhắc, sử dụng công cụ và xử lý hàng loạt đều được giữ nguyên. Tính năng nền tảng duy nhất bạn mất là Priority Tier, không có sẵn trên Sonnet 5.
Điều gì đã tốt hơn: điểm chuẩn
Sonnet 5 được định vị là mô hình Sonnet có tính tác nhân (agentic) cao nhất từ trước đến nay, và các số liệu được báo cáo đã chứng minh điều đó trong các công việc nặng về công cụ. Đây là các điểm chuẩn ra mắt của Anthropic, được xác nhận qua các bài viết ngày ra mắt. Hãy xem chúng như các số liệu được báo cáo, không phải là kết quả kiểm tra độc lập.
| Điểm chuẩn | Sonnet 4.6 | Sonnet 5 |
|---|---|---|
| SWE-bench Pro (mã hóa có tính tác nhân) | 58,1% | 63,2% |
| OSWorld-Verified (sử dụng máy tính) | 78,5% | 81,2% |
Đây là một bước nhảy vọt đáng kể trong các tác vụ mà Sonnet được sử dụng nhiều nhất: viết và sửa lỗi mã với các công cụ trong vòng lặp, và điều khiển máy tính hoặc terminal. Anthropic cũng báo cáo rằng Sonnet 5 gần bằng Opus 4.8 khi có sự tham gia của các công cụ, chỉ chênh lệch vài điểm trong các tác vụ tác nhân, trong khi chi phí thấp hơn nhiều. Nếu ứng dụng của bạn có hình dạng tác nhân, đây là bản nâng cấp mà bạn đang chờ đợi. Để so sánh trực tiếp với mô hình cao cấp, hãy xem Sonnet 5 so với Opus 4.8.

Sonnet 5 cũng an toàn hơn 4.6 theo các tiêu chuẩn của Anthropic: tỷ lệ hành vi không mong muốn thấp hơn, ít gây ảo giác và xu nịnh hơn, và khả năng chống lại tấn công prompt injection tốt hơn. Đây là mô hình cấp Sonnet đầu tiên có các biện pháp bảo vệ an ninh mạng theo thời gian thực. Một hành vi cần biết: việc từ chối một yêu cầu bị cấm sẽ trả về HTTP 200 thành công với stop_reason: "refusal", chứ không phải là lỗi. Hãy xử lý lý do dừng đó trong quá trình phân tích phản hồi của bạn.
Ba thay đổi mã thực tế
Hầu hết các lần di chuyển chỉ chạm đến ba điều này. Hãy xem xét chúng, điều chỉnh khi cần thiết, và phần còn lại của tích hợp của bạn vẫn không thay đổi.
1. Suy nghĩ thích ứng hiện đã bật theo mặc định
Trên Sonnet 4.6, việc không có trường thinking có nghĩa là không có quá trình suy nghĩ. Trên Sonnet 5, một yêu cầu không có trường thinking sẽ chạy với tính năng suy nghĩ thích ứng được bật. Mô hình sẽ quyết định mức độ suy nghĩ dựa trên tác vụ, và bạn điều khiển độ sâu bằng tham số nỗ lực (effort parameter) (low, medium, high, hoặc xhigh).
Điều này quan trọng vì max_tokens là giới hạn cứng cho tổng đầu ra, và tổng đầu ra giờ đây bao gồm các token suy nghĩ cộng với văn bản phản hồi của bạn. Một max_tokens được định cỡ chỉ dành cho văn bản phản hồi trên 4.6 giờ đây có thể cắt bớt câu trả lời của bạn trên Sonnet 5, vì quá trình suy nghĩ tiêu tốn một phần ngân sách đó.
Nếu một khối lượng công việc trước đây chạy mà không có quá trình suy nghĩ và bạn muốn giữ nguyên như vậy, hãy tắt rõ ràng tính năng suy nghĩ:
from anthropic import Anthropic
client = Anthropic()
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
thinking={"type": "disabled"},
messages=[
{"role": "user", "content": "Return the OpenAPI 3.1 path object for GET /invoices/{id}."}
],
)
print(response.content[0].text)
Để sử dụng suy nghĩ thích ứng với độ sâu được kiểm soát, hãy đặt tham số nỗ lực thay vì tắt nó:
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=8192,
thinking={"type": "adaptive"},
effort="medium",
messages=[
{"role": "user", "content": "Draft integration tests for the POST /orders endpoint."}
],
)
Lưu ý cấu trúc: thinking={"type": "adaptive"}, không phải ngân sách token. Điều đó dẫn đến thay đổi tiếp theo.
2. Suy nghĩ mở rộng thủ công đã bị loại bỏ
Mẫu cũ thinking: {type: "enabled", budget_tokens: N} sẽ trả về lỗi 400 trên Sonnet 5. Nó đã bị coi là không dùng nữa trên 4.6, vì vậy hầu hết mã hiện tại đã không còn sử dụng nó, nhưng hãy kiểm tra. Thay thế bất kỳ ngân sách thủ công nào bằng suy nghĩ thích ứng và tham số nỗ lực. Nếu bạn đã đặt một budget_tokens lớn cho các tác vụ khó, effort="high" hoặc effort="xhigh" là lựa chọn thay thế.
3. Các tham số lấy mẫu hiện trả về 400
Việc đặt temperature, top_p, hoặc top_k thành một giá trị không mặc định sẽ trả về lỗi 400 trên Sonnet 5. Bỏ qua chúng, hoặc để chúng ở giá trị mặc định, đều được. Ràng buộc này đã có trên Opus 4.7 trở lên; đây là điểm mới đối với lớp Sonnet.
Nếu bạn dựa vào temperature=0 để có đầu ra mang tính xác định, hãy xóa nó và điều khiển hành vi thông qua lời nhắc hệ thống của bạn. Hãy cụ thể về định dạng, tông giọng và các ràng buộc trong hướng dẫn thay vì thông qua việc lấy mẫu. Một thao tác grep nhanh chóng tìm kiếm các tham số này trên toàn bộ cơ sở mã của bạn sẽ giúp bạn tránh được các lỗi 400 trong môi trường sản xuất.
Một điều không thay đổi từ 4.6: việc điền trước tin nhắn của trợ lý vẫn không được hỗ trợ và trả về lỗi 400. Nếu bạn đang buộc một phản hồi bắt đầu bằng cách điền trước lượt của trợ lý, hãy sử dụng đầu ra có cấu trúc hoặc output_config.format hoặc hướng dẫn trong lời nhắc hệ thống thay thế.
Điểm cần lưu ý về trình token hóa mà không ai cảnh báo bạn
Sonnet 5 sử dụng một trình token hóa mới. Cùng một văn bản đầu vào tạo ra số lượng token nhiều hơn khoảng 30% so với trên Sonnet 4.6, tức là khoảng 1,3 lần. Đây không phải là một thay đổi API. Cấu trúc yêu cầu, phản hồi và luồng là giống hệt nhau, và bạn không cần viết mã mới cho nó. Nhưng nó thay đổi bất cứ điều gì bạn đo lường hoặc cấp ngân sách bằng token.
Dưới đây là những gì cần đo lại:
- Số lượng token và các trường
usage. Cùng một lời nhắc báo cáo nhiều token hơn trên Sonnet 5. Đừng tái sử dụng số lượng từ 4.6 của bạn. Hãy chạy lại quá trình đếm token vớiclaude-sonnet-5cho bất kỳ lời nhắc nào bạn theo dõi. - Cửa sổ ngữ cảnh 1 triệu token của bạn chứa ít văn bản hơn. Mỗi token hiện bao phủ ít văn bản hơn trung bình, vì vậy cùng một cửa sổ chứa ít ký tự nội dung của bạn hơn. Nếu bạn đang đóng gói ngữ cảnh gần giới hạn, hãy xác minh xem nó có còn vừa không.
- Ngân sách
max_tokensđược định cỡ gần với đầu ra dự kiến có thể bị cắt ngắn. Ngân sách từng đủ để chứa phản hồi thông thường của bạn trên 4.6 giờ đây có thể cắt bớt nó trên Sonnet 5. Kết hợp với suy nghĩ thích ứng chia sẻ ngân sách đó, đây là nguyên nhân phổ biến nhất gây ra các câu trả lời ngắn bất ngờ sau khi nâng cấp. - Chi phí mỗi yêu cầu cho văn bản tương đương có thể cao hơn. Tỷ lệ mỗi token không thay đổi, nhưng nhiều token hơn trên mỗi yêu cầu có nghĩa là bạn phải trả nhiều hơn cho cùng một văn bản.
Điểm cuối cùng đó xứng đáng có một ví dụ minh họa. Giả sử một lời nhắc cộng với phản hồi là 10.000 token trên Sonnet 4.6. Cùng một văn bản đó là khoảng 13.000 token trên Sonnet 5. Với cùng một tỷ lệ mỗi token, yêu cầu đó tốn thêm khoảng 30% ngay cả khi bảng giá không thay đổi. Hãy mô hình hóa khối lượng công việc thực tế của bạn bằng cách đếm token trước khi bạn giả định chi phí ngang bằng. Phân tích giá Sonnet 5 đi sâu hơn vào vấn đề này với phép tính giá giới thiệu so với giá tiêu chuẩn.
Bạn có thể tự đo lường sự thay đổi bằng điểm cuối đếm token:
curl https://api.anthropic.com/v1/messages/count_tokens \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-sonnet-5",
"messages": [
{"role": "user", "content": "Summarize the changelog for our billing API v3 release."}
]
}'
Chạy cùng một lệnh gọi với claude-sonnet-4-6 và so sánh số lượng. Sự khác biệt đó chính là tác động thực sự đến ngân sách của bạn.
Chi phí nâng cấp
Tính theo mỗi token, Sonnet 5 có giá tương đương Sonnet 4.6: $3 cho mỗi triệu token đầu vào và $15 cho mỗi triệu token đầu ra theo mức giá tiêu chuẩn. Có một mức giá giới thiệu là $2 cho mỗi triệu token đầu vào và $10 cho mỗi triệu token đầu ra có hiệu lực đến ngày 31 tháng 8 năm 2026, sau đó sẽ chuyển sang mức tiêu chuẩn $3 / $15.
Vì vậy, trong thời gian giới thiệu, văn bản tương đương có giá mỗi token rẻ hơn so với mức tiêu chuẩn của 4.6, điều này phần nào bù đắp cho việc tăng khoảng 30% token của trình token hóa. Sau ngày 31 tháng 8, tỷ lệ mỗi token sẽ lại khớp với 4.6, và hiệu ứng của trình token hóa có nghĩa là một yêu cầu tương đương có thể tốn kém hơn so với yêu cầu tương tự trên 4.6. Hãy mô hình hóa điều này dựa trên lưu lượng truy cập thực tế của bạn. Đối với tỷ lệ xử lý hàng loạt và bộ nhớ đệm lời nhắc, hãy kiểm tra trang giá của Anthropic thay vì giả định một mức giảm giá cố định.
Nếu bạn cũng đang cân nhắc thế hệ cũ hơn về chi phí, các hướng dẫn giá Sonnet 4.6 và chi phí API Claude cung cấp cho bạn các mốc cơ bản để so sánh.
Bạn có nên nâng cấp không? Nhận định theo người dùng
Việc hoán đổi ID mô hình là không đáng kể. Việc bạn có thực hiện hay không phụ thuộc vào những gì bạn đang chạy.
Hãy nâng cấp ngay nếu bạn xây dựng các tác nhân (agents), công cụ mã hóa hoặc các quy trình làm việc nặng về công cụ. Đây là chiến thắng rõ ràng nhất. Các cải tiến của SWE-bench Pro và OSWorld đúng với những gì các ứng dụng có tính tác nhân cần, và các cải thiện về an toàn giảm thiểu hành vi không mong muốn trong các vòng lặp tự động. Hãy xem xét ba tham số, đo lại ngân sách token của bạn và triển khai.

Hãy nâng cấp, nhưng kiểm tra cẩn thận, nếu bạn chạy các khối lượng công việc sản xuất lớn. Cùng một mức giá mỗi token là tin tốt, nhưng trình token hóa có nghĩa là tổng chi tiêu token của bạn và hành vi cắt ngắn max_tokens của bạn đều thay đổi. Hãy chạy một lượt đếm token và bộ kiểm thử hồi quy trước khi bạn chuyển lưu lượng truy cập thực. Giá giới thiệu đến ngày 31 tháng 8 mang lại cho bạn một khoảng thời gian để xác thực với mức giá thấp hơn.
Hãy nâng cấp một cách có chủ đích nếu bạn phụ thuộc vào temperature, budget_tokens hoặc prefilling. Những tham số này hiện trả về 400. Quá trình di chuyển khá đơn giản, chuyển tính xác định vào lời nhắc hệ thống của bạn và hoán đổi ngân sách lấy nỗ lực, nhưng nó không phải là không có công việc. Hãy khắc phục những điều này trước khi hoán đổi, chứ không phải sau.
Hãy giữ lại nếu bạn đặc biệt cần Priority Tier. Tính năng này không có sẵn trên Sonnet 5. Nếu SLA của bạn phụ thuộc vào nó, hãy giữ lại 4.6 cho những đường dẫn đó cho đến khi yêu cầu của bạn thay đổi.
Đối với hầu hết các nhóm, câu trả lời là nên nâng cấp, và sớm, vì bạn sẽ có hiệu suất tác nhân tốt hơn với cùng một mức giá tiêu đề. Hãy coi đây là một quá trình di chuyển thực sự với một lượt kiểm thử, chứ không phải là một chỉnh sửa một ký tự mà bạn triển khai vào thứ Sáu. Nếu bạn đang so sánh các thế hệ rộng hơn, hướng dẫn API Sonnet 4.6 ghi lại những gì bạn đang chuyển đổi khỏi.
Phát hiện lỗi hồi quy với bộ yêu cầu đã lưu trong Apidog
Cách an toàn nhất để nâng cấp là so sánh Sonnet 5 với Sonnet 4.6 trên các lời nhắc của riêng bạn, chứ không phải trên bảng điểm chuẩn. Đó chính xác là loại kiểm thử trước và sau mà một nền tảng API được xây dựng cho.
Apidog là một công cụ phát triển và kiểm thử API tất cả trong một. Khi bạn gọi API Claude, bạn đang truy cập một điểm cuối HTTP với tiêu đề xác thực, một thân yêu cầu JSON và một phản hồi JSON. Apidog cho phép bạn lưu yêu cầu đó một lần và chạy lại nó như một bộ sưu tập có thể tái sử dụng, biến quá trình di chuyển mô hình thành một kiểm thử lặp lại được thay vì một lần thử lại thủ công.

Một quy trình làm việc di chuyển thực tế trông như sau:
- Lưu các yêu cầu API Messages sản xuất của bạn dưới dạng một bộ sưu tập Apidog, mỗi yêu cầu cho một lời nhắc đại diện.
- Lưu
ANTHROPIC_API_KEYcủa bạn dưới dạng một biến môi trường để bạn không bao giờ dán nó vào thân yêu cầu. - Thiết lập hai môi trường chỉ khác nhau bởi giá trị
model:claude-sonnet-4-6vàclaude-sonnet-5. - Thêm các xác nhận về cấu trúc phản hồi và số lượng token
usage, sau đó chạy bộ sưu tập đối với cả hai môi trường. - So sánh hai lần chạy. Sự khác biệt về số lượng token sẽ cho bạn thấy tác động thực sự của trình token hóa đối với các lời nhắc của bạn, và bất kỳ xác nhận nào thất bại là một hồi quy cần điều tra trước khi bạn triển khai.
Bạn cũng có thể mô phỏng (mock) điểm cuối Claude trong Apidog để xây dựng và kiểm thử tích hợp xung quanh của bạn, bao gồm cả đường dẫn stop_reason: "refusal", mà không tốn token. Nếu ứng dụng của bạn có hình dạng tác nhân và gọi các công cụ khác, Apidog cũng là nơi bạn kiểm thử và mô phỏng các API downstream đó.
Tải xuống Apidog để xây dựng bộ so sánh, hoặc mở Apidog trong trình duyệt để bắt đầu từ một yêu cầu. Nếu bạn đang chuyển từ Postman cho việc này, hướng dẫn kiểm thử API không cần Postman sẽ đề cập đến quy trình tương đương.
Câu hỏi thường gặp
Claude Sonnet 5 có phải là bản thay thế trực tiếp cho Sonnet 4.6 không? Phần lớn là có. Bạn thay đổi ID mô hình từ claude-sonnet-4-6 sang claude-sonnet-5, sau đó xem xét ba điều: suy nghĩ thích ứng hiện được bật theo mặc định (ảnh hưởng đến max_tokens), suy nghĩ mở rộng budget_tokens trả về 400, và các tham số lấy mẫu không mặc định trả về 400. Mọi thứ khác đều được giữ nguyên. Xem hướng dẫn API Sonnet 5 để biết thiết lập yêu cầu đầy đủ.
Sonnet 5 có tốn kém hơn Sonnet 4.6 không? Tính theo mỗi token, không. Cả hai đều có giá $3 cho mỗi triệu token đầu vào và $15 cho mỗi triệu token đầu ra theo mức giá tiêu chuẩn. Nhưng trình token hóa mới của Sonnet 5 tạo ra nhiều hơn khoảng 30% token cho cùng một văn bản, vì vậy một yêu cầu tương đương có thể tốn kém hơn ngay cả với cùng một tỷ lệ mỗi token. Có mức giá giới thiệu là $2 / $10 cho mỗi triệu token đến ngày 31 tháng 8 năm 2026.
Tại sao phản hồi của tôi bị cắt cụt sau khi nâng cấp? Suy nghĩ thích ứng được bật theo mặc định trên Sonnet 5, và các token suy nghĩ chia sẻ cùng ngân sách max_tokens với văn bản phản hồi của bạn. Một ngân sách từng đủ cho câu trả lời của bạn trên 4.6 giờ đây có thể cắt cụt nó. Hãy tăng max_tokens, hoặc đặt thinking={"type": "disabled"} nếu bạn không muốn suy nghĩ trong lệnh gọi đó.
Tôi có cần thay đổi mã của mình cho trình token hóa mới không? Không. Cấu trúc yêu cầu, phản hồi và luồng là giống hệt nhau, vì vậy không cần thay đổi mã. Nhưng bạn nên đo lại bất cứ thứ gì được cấp ngân sách bằng token: số lượng token, kích thước max_tokens và ước tính chi phí mỗi yêu cầu. Đừng tái sử dụng số lượng token của Sonnet 4.6 của bạn.
Điều gì đã xảy ra với temperature và budget_tokens? Cả hai hiện đều trả về lỗi 400 trên Sonnet 5 khi được đặt thành giá trị không mặc định. Hãy loại bỏ các giá trị temperature, top_p và top_k không mặc định, và điều khiển hành vi thông qua lời nhắc hệ thống của bạn. Thay thế suy nghĩ mở rộng budget_tokens bằng suy nghĩ thích ứng cộng với tham số nỗ lực. Hướng dẫn thay đổi API Fable 5 và Mythos cũng đề cập đến mô hình tương tự ở cấp cao hơn.
