Chuyển đổi từ Claude Opus 4.8 sang Opus 5: Mọi thay đổi đột phá

Mọi thay đổi phá vỡ từ Claude Opus 4.8 sang Opus 5: tư duy được bật theo mặc định, lỗi 400 khi tính năng tư duy bị vô hiệu hóa, hiệu chỉnh lại nỗ lực, bộ nhớ đệm tối thiểu 512 token và không có Gói Ưu tiên.

INEZA Felin-Michel

INEZA Felin-Michel

25 tháng 7 2026

Chuyển đổi từ Claude Opus 4.8 sang Opus 5: Mọi thay đổi đột phá

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Việc chuyển đổi từ claude-opus-4-8 sang claude-opus-5 có vẻ như chỉ là thay đổi một dòng. Phần lớn là như vậy. Nhưng một vài cài đặt mặc định đã thay đổi mà bạn không nhận ra, một tổ hợp yêu cầu trước đây hợp lệ giờ đây trả về lỗi 400 cứng nhắc, và một tính năng mà các nhóm doanh nghiệp trả tiền đã biến mất trên mô hình mới.

Anthropic đã ra mắt Claude Opus 5 vào ngày 24 tháng 7 năm 2026 với cùng mức giá với Opus 4.8 (5 đô la cho mỗi triệu token đầu vào, 25 đô la cho mỗi triệu token đầu ra), vì vậy đây hiếm khi là một quyết định về ngân sách. Đó là một quyết định về tính đúng đắn. Dưới đây là mọi khác biệt có thể làm hỏng một tích hợp đang hoạt động, được sắp xếp theo mức độ khả năng bạn gặp phải ngay từ ngày đầu tiên, kèm theo các đoạn mã trước và sau để bạn có thể dán vào client của mình. Hướng dẫn di chuyển từ Opus 4.8 sang Opus 5 của Anthropic là nguồn chính cho bề mặt API. Để kiểm tra từng thay đổi với điểm cuối trực tiếp trước tiên, hãy lưu một yêu cầu trong Apidog và nhân bản nó cho mỗi biến thể.

nút tải ứng dụng

Tóm tắt

Thay đổi Tác động Hành động
Tư duy (Thinking) bật mặc định Cắt bớt đầu ra một cách âm thầm Tăng max_tokens
thinking: disabled + nỗ lực xhigh/max Lỗi HTTP 400 Chọn một trong hai
Các mức độ nỗ lực được hiệu chỉnh lại Điểm chi phí/chất lượng không đúng Quét lại, không giữ cài đặt cũ
Ngữ cảnh 1M không cần beta header Header hiện đã thừa Xóa nó đi
Ngưỡng bộ nhớ đệm giảm xuống 512 token Tiết kiệm miễn phí Không làm gì, hoặc lưu thêm lời nhắc vào bộ nhớ đệm
Tin nhắn hệ thống giữa cuộc trò chuyện Trước đây lỗi 400, giờ được chấp nhận Đơn giản hóa tùy chọn
Bậc Ưu tiên (Priority Tier) Không được hỗ trợ trên Opus 5 Giữ 4.8 cho lưu lượng đó
Chế độ Nhanh (Fast mode) Giờ hoạt động trên Opus 5 Tùy chọn, 10 đô la / 50 đô la
fallbacks: "default" Mạng lưới an toàn mới cho việc từ chối về an ninh mạng Beta header tùy chọn
Tham số lấy mẫu, số lượng token Không thay đổi Không làm gì

1. Tính năng tư duy (Thinking) bật mặc định, và max_tokens vẫn giới hạn mọi thứ

Đây là thay đổi làm hỏng mã đang hoạt động một cách âm thầm.

Trên Opus 4.8, một yêu cầu không có trường thinking sẽ chạy mà không có quá trình tư duy. Trên Opus 5, cùng một yêu cầu đó sẽ chạy với quá trình tư duy thích ứng. JSON của bạn không thay đổi, nhưng mô hình giờ đây sử dụng token để suy luận trước khi đưa ra câu trả lời hiển thị. Và max_tokens vẫn là một giới hạn cứng cho tổng số token tư duy cộng với token phản hồi, vì vậy một yêu cầu từng phù hợp thoải mái với ngân sách 1.024 token trên 4.8 giờ đây có thể đốt cháy hầu hết ngân sách đó vào quá trình tư duy và trả về một câu trả lời bị cắt bớt.

Đây là cấu trúc của một yêu cầu trước đây an toàn:

{
  "model": "claude-opus-4-8",
  "max_tokens": 1024,
  "messages": [
    {"role": "user", "content": "Summarize this incident report in three bullets."}
  ]
}

Thay đổi ID mô hình và không gì khác, bạn sẽ gặp rủi ro bị cắt bớt. Cách khắc phục là tăng ngân sách:

{
  "model": "claude-opus-5",
  "max_tokens": 8192,
  "messages": [
    {"role": "user", "content": "Summarize this incident report in three bullets."}
  ]
}

Hai điều cần kiểm tra sau khi bạn tăng giới hạn. Theo dõi stop_reason trong phản hồi: max_tokens có nghĩa là bạn đã bị cắt ngang, end_turn có nghĩa là mô hình đã hoàn thành. Sau đó, đọc khối usage để xem quá trình tư duy thực sự đã tiêu thụ bao nhiêu ngân sách trên các lời nhắc thực tế của bạn, và điều chỉnh con số dựa trên đo lường thay vì phỏng đoán.

Nếu bạn thực sự muốn hành vi không tư duy cũ, hãy gửi thinking: {"type": "disabled"} một cách rõ ràng. Hãy đọc phần tiếp theo trước, bởi vì trường đó giờ đây tương tác với mức độ nỗ lực theo cách có thể trả về lỗi.

2. Lỗi 400: tư duy bị tắt (disabled thinking) cộng với nỗ lực xhigh hoặc max

Đây là cái bẫy rất có thể xuất hiện trong nhật ký lỗi của bạn, bởi vì cả hai phần của nó đều hợp lệ riêng lẻ trên Opus 4.8.

Trên Opus 5, thinking: {"type": "disabled"} kết hợp với output_config.effort được đặt thành xhigh hoặc max sẽ trả về lỗi HTTP 400. Anthropic áp đặt điều này cho mỗi yêu cầu, vì vậy nó sẽ thất bại ngay lập tức và nhất quán thay vì suy giảm hiệu suất. Logic rất đơn giản: hai mức độ nỗ lực cao nhất tồn tại để mua thêm quá trình tư duy, vì vậy việc yêu cầu nỗ lực tối đa trong khi tắt tư duy là một mâu thuẫn.

Yêu cầu hiện không thành công:

{
  "model": "claude-opus-5",
  "max_tokens": 8192,
  "thinking": {"type": "disabled"},
  "output_config": {"effort": "xhigh"},
  "messages": [
    {"role": "user", "content": "Refactor this module and explain the tradeoffs."}
  ]
}

Giải pháp A, giữ nguyên khả năng. Bỏ trường thinking, giữ mức độ nỗ lực cao. Đây là hướng khuyến nghị của Anthropic, và là lựa chọn cho công việc lập trình và tác nhân:

{
  "model": "claude-opus-5",
  "max_tokens": 32000,
  "output_config": {"effort": "xhigh"},
  "messages": [
    {"role": "user", "content": "Refactor this module and explain the tradeoffs."}
  ]
}

Giải pháp B, tắt tư duy. Đối với một đường dẫn nhạy cảm về độ trễ thực sự không cần tư duy, hãy giữ disabled và giảm mức độ nỗ lực xuống high hoặc thấp hơn:

{
  "model": "claude-opus-5",
  "max_tokens": 4096,
  "thinking": {"type": "disabled"},
  "output_config": {"effort": "high"},
  "messages": [
    {"role": "user", "content": "Classify this ticket into one of five categories."}
  ]
}

Một lưu ý thận trọng về Giải pháp B. Anthropic ghi nhận hai hiện tượng thỉnh thoảng xuất hiện khi tắt tư duy: các lệnh gọi công cụ được viết dưới dạng văn bản thuần thay vì được thực thi, và các thẻ XML nội bộ như <thinking> bị rò rỉ vào đầu ra hiển thị. Trong một vòng lặp tác nhân, văn bản bị rò rỉ cũng làm ô nhiễm các lượt tiếp theo. Giải pháp của Anthropic là giữ tư duy bật và kiểm soát chi phí bằng mức độ nỗ lực thấp hơn. Coi Giải pháp B là một lựa chọn hạn chế, không phải mặc định.

3. Các mức độ nỗ lực đã được hiệu chỉnh lại, vì vậy hãy quét lại thay vì sao chép cài đặt

Opus 5 mặc định sử dụng mức độ nỗ lực high, và các mức độ này đã được hiệu chỉnh lại. low và medium mạnh hơn đáng kể trên Opus 5 so với các mô hình Opus trước đó, vì vậy một cài đặt bạn đã điều chỉnh trên 4.8 sẽ không còn đạt được cùng một điểm chi phí và chất lượng nữa. Anthropic khuyên rõ ràng nên chạy một đợt quét nỗ lực mới thay vì chuyển cấu hình 4.8 của bạn, và lời khuyên đó có hai mặt:

Đối với công việc lập trình và tác nhân dài hạn, xhigh vẫn là điểm khởi đầu được khuyến nghị. Kết hợp nó với một max_tokens rộng rãi (64k là một ngân sách khởi đầu hợp lý ở các mức cao nhất) để quá trình tư duy có đủ không gian.

Chạy thử nghiệm trên bộ đánh giá của riêng bạn, không phải trên một điểm chuẩn. Cố định lời nhắc, chỉ thay đổi giá trị nỗ lực và ghi lại chất lượng đầu ra, độ trễ và usage cho mỗi cấp độ. Phân tích sâu về tham số nỗ lực bao gồm cơ chế của từng cấp độ; về khía cạnh chi phí của cùng quyết định đó, hãy xem phân tích giá Opus 5.

4. Xóa beta header cho ngữ cảnh dài

Opus 5 đi kèm với cửa sổ ngữ cảnh 1M token làm cả mặc định lẫn tối đa. Không có beta header để bật nó và không có phí phụ thu cho ngữ cảnh dài.

Nếu client của bạn vẫn gửi giá trị beta ngữ cảnh mở rộng trong header anthropic-beta từ cài đặt Opus 4.8 của bạn, thì giờ đây nó đã trở thành gánh nặng. Hãy loại bỏ nó. Các giá trị beta lỗi thời trong một HTTP client chung là cách bạn kết thúc việc gỡ lỗi một yêu cầu không liên quan sáu tháng sau.

Đầu ra tối đa trên Messages API là 128k token. Nếu bạn cần nhiều hơn, Batch API có thể xuất ra 300k token với beta header output-300k-2026-03-24, đây là một lựa chọn tham gia riêng biệt so với bất kỳ điều gì bạn đã làm cho độ dài ngữ cảnh.

5. Ngưỡng tối thiểu của bộ nhớ đệm lời nhắc giảm xuống 512 token

Trên Opus 4.8, một phân đoạn lời nhắc phải đạt 1.024 token mới đủ điều kiện để lưu vào bộ nhớ đệm. Trên Opus 5, ngưỡng là 512. Không có gì trong mã của bạn phải thay đổi, và việc đọc bộ nhớ đệm với giá 0,50 đô la cho mỗi triệu token là các token rẻ nhất trong bảng giá so với đầu vào cơ bản 5 đô la.

Điều đáng làm là xem xét lại. Tìm kiếm các lời nhắc hệ thống, định nghĩa công cụ và các khối few-shot nằm giữa 512 và 1.024 token mà trước đây không bao giờ đáng để đặt điểm ngắt cache_control. Giờ đây chúng đáng để làm điều đó. Xác nhận hiệu ứng bằng cách đọc cache_read_input_tokens trong khối usage của phản hồi: ở lần gọi giống hệt thứ hai, nó phải khác không. Hướng dẫn cắt giảm hóa đơn API Claude của chúng tôi bao gồm chiến lược lưu trữ rộng hơn.

6. Tin nhắn hệ thống giữa cuộc trò chuyện giờ đây được chấp nhận

Opus 4.8 đã từ chối một mục {"role": "system"} bên trong mảng messages với lỗi 400. Opus 5 chấp nhận nó. Điều này là bổ sung, vì vậy nó không làm hỏng bất cứ điều gì, nhưng nó có thể loại bỏ một giải pháp thay thế. Nếu bạn đã xây dựng cơ chế để đưa các thay đổi hướng dẫn giữa cuộc trò chuyện vào một lượt người dùng tổng hợp, giờ đây bạn có thể đặt hướng dẫn trực tiếp vào vị trí của nó:

{
  "model": "claude-opus-5",
  "max_tokens": 8192,
  "messages": [
    {"role": "user", "content": "Draft the release note."},
    {"role": "assistant", "content": "Here is a first draft..."},
    {"role": "system", "content": "From here on, keep responses under 150 words."},
    {"role": "user", "content": "Tighten it."}
  ]
}

Đây là một khả năng theo từng mô hình. Nếu bạn định tuyến cùng lịch sử cuộc trò chuyện đến Opus 4.8 làm dự phòng, mô hình cũ hơn vẫn sẽ trả về lỗi 400 cho tin nhắn đó.

7. Bậc Ưu tiên (Priority Tier) không được hỗ trợ trên Opus 5

Điều này gây khó khăn cho các nhóm doanh nghiệp, và rất dễ bỏ qua vì nó là sự thiếu vắng chứ không phải lỗi mà bạn có thể tìm kiếm. Opus 4.8 hỗ trợ Bậc Ưu tiên. Opus 5 thì không. Nếu bạn đã mua thông lượng cam kết để đảm bảo độ trễ trên một đường dẫn sản xuất, việc di chuyển đường dẫn đó sẽ đưa nó trở lại năng lực tiêu chuẩn.

Không có giải pháp thông minh nào. Hoặc giữ lưu lượng nhạy cảm về độ trễ trên claude-opus-4-8 trong khi mọi thứ khác chuyển sang Opus 5, hoặc chấp nhận năng lực tiêu chuẩn và đo lường xem độ trễ đuôi của bạn có thực sự suy giảm hay không. Chia việc di chuyển theo khối lượng công việc thay vì chuyển đổi toàn bộ hệ thống cùng một lúc.

8. Chế độ Nhanh (Fast mode) giờ đây hoạt động, và có một cơ chế dự phòng mới cho việc từ chối về an ninh mạng

Chế độ Nhanh (Fast mode) hoạt động trên Opus 5. Nó đã trả về lỗi trên Opus 4.7 và âm thầm chạy ở tốc độ tiêu chuẩn trên Opus 4.6. Trên Opus 5, nó mang lại tốc độ đầu ra nhanh hơn khoảng 2,5 lần với giá 10 đô la cho mỗi triệu đầu vào và 50 đô la cho mỗi triệu đầu ra. Đây là một bản xem trước nghiên cứu, chỉ dành cho API bên thứ nhất (không phải Amazon Bedrock, Google Cloud hoặc Microsoft Foundry), và nó không kết hợp với Batch API. Hãy sử dụng nó cho các đường dẫn tương tác, không phải cho các tác vụ nền.

Cơ chế dự phòng phía máy chủ cho các trường hợp từ chối liên quan đến an ninh mạng. Gửi fallbacks: "default" cùng với beta header server-side-fallback-2026-07-01 sẽ khiến một yêu cầu mà Opus 5 từ chối vì lý do liên quan đến an ninh mạng tự động quay lại Opus 4.8. Công cụ bảo mật là nơi tính năng này phát huy giá trị.

Cũng có một beta header mid-conversation-tool-changes-2026-07-01 cho phép bạn thêm hoặc xóa định nghĩa công cụ giữa các lượt mà không làm mất hiệu lực bộ nhớ đệm lời nhắc: một đòn bẩy chi phí cho các phiên tác nhân dài với bộ công cụ thay đổi.

9. Những gì không thay đổi

Biết những gì bạn có thể giữ nguyên sẽ tiết kiệm thời gian:

Một điều đã thay đổi ngay cả khi API không thay đổi: Opus 5 tự xác minh công việc của mình mà không cần lời nhắc, vì vậy các hướng dẫn "kiểm tra lại câu trả lời của bạn" được giữ lại sẽ gây ra việc xác minh quá mức và lãng phí token. Các phản hồi mặc định cũng dài hơn so với 4.8, và việc giảm nỗ lực sẽ cắt giảm quá trình tư duy chứ không phải độ dài hiển thị, vì vậy hãy yêu cầu ngắn gọn một cách rõ ràng. Đó là các sửa lỗi ở cấp độ lời nhắc, được đề cập trong hướng dẫn tạo lời nhắc cho Claude Opus 5.

Xác minh quá trình di chuyển trước khi triển khai

Mỗi mục trên là một khác biệt ở cấp độ HTTP, điều này làm cho nó có thể kiểm thử bên ngoài ứng dụng của bạn. Một vòng lặp khả thi trong Apidog:

  1. Lưu một yêu cầu đến điểm cuối Messages với khóa của bạn được lưu trữ dưới dạng biến môi trường, không bao giờ đặt trực tiếp trong thân yêu cầu.
  2. Nhân bản nó thành các biến thể: claude-opus-4-8 cơ bản, claude-opus-5 với các giá trị mặc định, và một bản sao cho mỗi cấp độ nỗ lực.
  3. Cố tình gửi kết hợp tư duy bị tắt cộng với xhigh và ghi lại nội dung lỗi 400, để bạn nhận ra nó trong nhật ký sản xuất.
  4. Khẳng định trên stop_reason để một phản hồi max_tokens bị cắt bớt làm kiểm thử của bạn thất bại thay vì âm thầm triển khai.
  5. Gửi hai yêu cầu được lưu vào bộ nhớ đệm giống hệt nhau và kiểm tra usage.cache_read_input_tokens ở lần gọi thứ hai.
  6. Chạy một yêu cầu truyền tải (streaming) và xác nhận trình phân tích cú pháp SSE của bạn xử lý các khối tư duy hiện đến mặc định.

Tải Apidog để lưu trữ đó như một bộ sưu tập có thể tái sử dụng cho mọi lần chuyển đổi mô hình trong tương lai.

Một cảnh báo trung thực trước khi bạn di chuyển mọi thứ

Opus 5 không phải là mô hình hàng đầu của dòng Claude. Fable 5 vẫn là mô hình được phát hành rộng rãi có khả năng nhất của Anthropic, và Opus 5 vẫn còn kém Mythos 5 về khai thác an ninh mạng và nghiên cứu sinh học tự động. Anthropic tự tuyên bố điều này trong bài đăng ra mắt. Các tuyên bố về điểm chuẩn ra mắt (Frontier-Bench, ARC-AGI 3, OSWorld 2.0, CursorBench 3.2) là do nhà cung cấp thực hiện và chưa được tái sản xuất độc lập tính đến ngày 25 tháng 7 năm 2026. Hãy coi chúng là những con số được Anthropic báo cáo và tự chạy các đánh giá của riêng bạn trước khi cam kết một khối lượng công việc sản xuất. Tóm tắt chính xác: khả năng cấp độ tiên phong với một nửa giá tiên phong, với một giới hạn được đặt tên ở trên nó.

Danh sách kiểm tra di chuyển

Thực hiện theo thứ tự này:

  1. Thay đổi chuỗi mô hình thành chính xác claude-opus-5. Không có hậu tố ngày tháng.
  2. Tăng max_tokens trên mọi yêu cầu trước đây bỏ qua thinking. Quá trình tư duy giờ đây chạy mặc định và chia sẻ ngân sách đó.
  3. Grep cơ sở mã của bạn để tìm "disabled" và xác nhận không có yêu cầu nào kết hợp nó với nỗ lực xhigh hoặc max. Tổ hợp đó sẽ gây ra lỗi 400 cứng nhắc.
  4. Xóa giá trị beta ngữ cảnh dài khỏi anthropic-beta. Cửa sổ 1M giờ đây là mặc định.
  5. Chạy lại thử nghiệm nỗ lực từ đầu trên các đánh giá của riêng bạn. Không chuyển cài đặt 4.8.
  6. Thêm các điểm ngắt cache_control vào các phân đoạn lời nhắc nằm giữa 512 và 1.024 token.
  7. Xác định bất kỳ lưu lượng nào trên Bậc Ưu tiên và quyết định theo từng khối lượng công việc xem liệu nó có ở lại trên claude-opus-4-8 hay không.
  8. Xóa các hướng dẫn xác minh được giữ lại khỏi lời nhắc của bạn, và thêm các hướng dẫn ngắn gọn rõ ràng ở những nơi độ dài đầu ra quan trọng.
  9. Tùy chọn bật fallbacks: "default" nếu khối lượng công việc của bạn gây ra các từ chối liên quan đến an ninh mạng.
  10. Khẳng định trên stop_reason trong bộ kiểm thử của bạn để việc cắt bớt được hiển thị dưới dạng lỗi, chứ không phải một câu trả lời kém chất lượng một cách tinh vi.

Để xem hướng dẫn chi tiết về yêu cầu, hãy xem hướng dẫn API Claude Opus 5, hoặc bắt đầu với Claude Opus 5 là gì để biết thông số kỹ thuật và tính khả dụng. Nếu bạn vẫn chạy mô hình cũ hơn ở một số nơi, bài giải thích về Opus 4.8 và hướng dẫn API của nó vẫn chính xác. Tổng quan về các mô hình của Anthropic là nguồn thông tin chính thức cho ID, cửa sổ ngữ cảnh và giới hạn.

Câu hỏi thường gặp

Việc di chuyển từ Opus 4.8 sang Opus 5 có phải là chuyển đổi trực tiếp không? Gần như vậy, nhưng không hoàn toàn. Thay đổi chuỗi mô hình hoạt động cho hầu hết các yêu cầu. Hai điều có thể gây lỗi: quá trình tư duy giờ đây chạy mặc định và chia sẻ ngân sách max_tokens của bạn, và thinking: {"type": "disabled"} với nỗ lực xhigh hoặc max sẽ trả về lỗi 400. Lưu lượng Bậc Ưu tiên cũng cần một quyết định, vì Opus 5 không hỗ trợ nó.

Tại sao tôi lại nhận được lỗi 400 sau khi chuyển sang claude-opus-5? Nguyên nhân phổ biến nhất là tắt tư duy trong khi yêu cầu nỗ lực xhigh hoặc max. Hoặc xóa trường thinking và giữ mức độ nỗ lực cao, hoặc giữ tư duy bị tắt và giảm nỗ lực xuống high hoặc thấp hơn. Các giá trị temperature, top_p hoặc top_k không mặc định cũng vẫn trả về lỗi 400, giống hệt như trên Opus 4.8.

Tôi có cần đếm lại token của mình sau khi di chuyển không? Không. Opus 5 sử dụng cùng họ tokenizer với Opus 4.8, vì vậy số lượng token gần như không thay đổi và các ngân sách hiện có được giữ nguyên. Chi phí thêm của lời nhắc hệ thống sử dụng công cụ hơi thấp hơn một chút ở mức 286 token so với 290. Giá cơ bản cũng giống hệt, ở mức 5 đô la đầu vào và 25 đô la đầu ra, mặc dù hóa đơn của bạn vẫn có thể thay đổi nếu tính năng tư duy mặc định làm tăng token đầu ra.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API