API Claude Opus 4.8 đã ra mắt cùng với mô hình vào ngày 28 tháng 5 năm 2026. ID mô hình là claude-opus-4-8 và nó chạy trên cùng một API Messages mà bạn đã biết. Hướng dẫn này sẽ trình bày toàn bộ quá trình thiết lập: lấy khóa API, thực hiện cuộc gọi đầu tiên, tham số effort mới, tư duy thích ứng, truyền dữ liệu (streaming), sử dụng công cụ và kiểm tra toàn bộ mọi thứ trong Apidog.
Nếu bạn đã từng gọi bất kỳ mô hình Claude nào trước đây, chuỗi duy nhất thay đổi là tên mô hình. Khái niệm mới duy nhất là kiểm soát nỗ lực (effort control), và đáng để dành mười phút để hiểu vì nó thay thế mô hình "ngân sách tư duy" (thinking-budget) cũ. Bạn mới dùng API Claude? Bạn có thể thực hiện các cuộc gọi Opus 4.8 hoạt động chỉ trong khoảng mười phút. Để biết thêm thông tin về bản thân mô hình, hãy xem Claude Opus 4.8 là gì.
Những gì bạn nhận được với API Opus 4.8
Các con số định hình quá trình tích hợp của bạn:
claude-opus-4-8: Ngữ cảnh đầu vào 1M token, đầu ra 128K token- Cùng một điểm cuối (endpoint) Messages: có thể tích hợp ngay cho các dự án đã gọi Opus 4.7
- Kiểm soát
effort: năm cấp độ từlowđếnmax, được đặt cho mỗi yêu cầu - Tư duy thích ứng (Adaptive thinking): mô hình tự quyết định mức độ suy luận sâu sắc
- Giá tiêu chuẩn: 5 đô la cho mỗi triệu token đầu vào, 25 đô la cho mỗi triệu token đầu ra
Để biết đầy đủ chi phí và tỷ lệ chế độ nhanh, hãy xem hướng dẫn định giá Opus 4.8. Nếu bạn chưa có gói trả phí, hướng dẫn truy cập miễn phí sẽ đề cập đến các lựa chọn của bạn.
Bước 1: Lấy khóa API Claude của bạn
- Truy cập console.anthropic.com
- Đăng nhập hoặc tạo tài khoản
- Mở Cài đặt (Settings), sau đó Khóa API (API Keys)
- Nhấp vào Tạo khóa (Create Key), đặt tên và sao chép
Lưu khóa vào một biến môi trường để nó không bao giờ xuất hiện trong mã của bạn:
export ANTHROPIC_API_KEY="sk-ant-..."
Các tài khoản mới sẽ nhận được tín dụng dùng thử để kiểm tra trước khi bạn thêm thông tin thanh toán. Khóa hoạt động ngay lập tức với claude-opus-4-8.
Bước 2: Cài đặt SDK
Anthropic cung cấp các SDK chính thức cho Python, TypeScript, Go, Java, C#, Ruby và PHP. Chọn ngôn ngữ của bạn:
# Python
pip install anthropic
# Node.js / TypeScript
npm install @anthropic-ai/sdk
Bạn có thể bỏ qua hoàn toàn SDK và gọi điểm cuối REST bằng curl, được hiển thị bên dưới. Mã nguồn SDK Python là tài liệu tham khảo nếu bạn cần các kiểu chính xác.
Bước 3: Thực hiện cuộc gọi Opus 4.8 đầu tiên của bạn
Python
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
messages=[
{"role": "user", "content": "Giải thích luồng OAuth 2.0 PKCE trong 3 đoạn văn ngắn."}
],
)
print(message.content[0].text)
Node.js
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const message = await client.messages.create({
model: "claude-opus-4-8",
max_tokens: 4096,
messages: [
{ role: "user", content: "Giải thích luồng OAuth 2.0 PKCE trong 3 đoạn văn ngắn." },
],
});
console.log(message.content[0].text);
curl
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-4-8",
"max_tokens": 4096,
"messages": [
{"role": "user", "content": "Giải thích luồng OAuth 2.0 PKCE trong 3 đoạn văn ngắn."}
]
}'
Đây là con đường thuận lợi. Từ đây bạn sẽ thêm các tính năng bạn cần.
Kiểm soát nỗ lực: tham số mới duy nhất
Tham số effort kiểm soát số lượng token mà Opus 4.8 dành cho toàn bộ phản hồi: văn bản, lệnh gọi công cụ và suy luận. Nó nằm trong output_config và chấp nhận các giá trị low, medium, high, xhigh và max. Mặc định là high, vì vậy việc bỏ qua nó sẽ cho bạn hành vi high.
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=8192,
messages=[{"role": "user", "content": "Tái cấu trúc module 600 dòng này để dễ kiểm thử."}],
output_config={"effort": "xhigh"},
)
Node:
const message = await client.messages.create({
model: "claude-opus-4-8",
max_tokens: 8192,
messages: [{ role: "user", content: "Tái cấu trúc module 600 dòng này để dễ kiểm thử." }],
output_config: { effort: "xhigh" },
});
Cách chọn, theo tài liệu về nỗ lực của Anthropic:
| Cấp độ | Sử dụng cho |
|---|---|
low |
Phân loại, tra cứu nhanh, các công việc khối lượng lớn, subagents |
medium |
Công việc tác nhân (agentic) cân bằng khi chi phí là quan trọng |
high |
Mặc định. Suy luận phức tạp, nơi chất lượng vượt trội tốc độ |
xhigh |
Lập trình và các tác vụ tác nhân (agentic) dài hạn; điểm khởi đầu được đề xuất |
max |
Các vấn đề thực sự tiên phong, nơi bạn đã đo lường được giới hạn |
Hai quy tắc thực tế. Bắt đầu ở xhigh cho các vòng lặp mã hóa và tác nhân (agentic). Khi bạn chạy xhigh hoặc max, hãy đặt một max_tokens lớn (64K là điểm khởi đầu hợp lý) để mô hình có không gian để suy nghĩ và hành động.
Tư duy thích ứng
Opus 4.8 sử dụng tư duy thích ứng. Đặt thinking: {type: "adaptive"} và mô hình sẽ quyết định khi nào và mức độ suy luận. Nếu không có nó, các yêu cầu sẽ chạy mà không có tư duy.
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "Tìm điều kiện chạy đua trong bộ lập lịch này."}],
)
for block in message.content:
if block.type == "thinking":
print("[thinking]", block.thinking[:200])
elif block.type == "text":
print(block.text)
Một cạm bẫy khi di chuyển: tư duy mở rộng thủ công với budget_tokens **không được hỗ trợ** trên Opus 4.8 và sẽ trả về lỗi 400. Nếu bạn mang nó từ Opus 4.5 hoặc trước đó, hãy xóa trường budget_tokens và sử dụng tư duy thích ứng với tham số effort thay thế.
Truyền phản hồi (Streaming responses)
Truyền dữ liệu (Streaming) làm cho Opus 4.8 có cảm giác nhanh trong giao diện người dùng. SDK cung cấp cho bạn một công cụ hỗ trợ:
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=4096,
messages=[{"role": "user", "content": "Viết hướng dẫn 5 bước để viết một máy khách REST trong Go."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Node:
const stream = client.messages.stream({
model: "claude-opus-4-8",
max_tokens: 4096,
messages: [{ role: "user", content: "Viết hướng dẫn 5 bước để viết một máy khách REST trong Go." }],
});
for await (const event of stream) {
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
process.stdout.write(event.delta.text);
}
}
Đối với REST thô, hãy thêm "stream": true vào phần thân yêu cầu và đọc các sự kiện được máy chủ gửi.
Sử dụng công cụ và gọi hàm
Opus 4.8 gọi các công cụ hiệu quả hơn 4.7, và cấp độ effort định hình số lượng cuộc gọi mà nó thực hiện. Định nghĩa một công cụ với input_schema:
tools = [
{
"name": "get_weather",
"description": "Lấy thời tiết hiện tại cho một thành phố.",
"input_schema": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "Tên thành phố"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
},
"required": ["city"],
},
}
]
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
tools=tools,
messages=[{"role": "user", "content": "Thời tiết ở Singapore hiện tại thế nào?"}],
)
for block in message.content:
if block.type == "tool_use":
print(f"Call: {block.name}")
print(f"Args: {block.input}")
Bạn chạy công cụ cục bộ, thêm một khối tool_result và gọi lại để tiếp tục. Nỗ lực thấp hơn khiến Claude nhóm các hoạt động thành ít cuộc gọi hơn; nỗ lực cao hơn khiến nó giải thích kế hoạch của mình trước. Nếu bạn đang xây dựng các hệ thống đa tác nhân (multi-agent systems), hướng dẫn managed agents vs Agent SDK của chúng tôi đề cập đến các lựa chọn kiến trúc.
Thông báo hệ thống giữa cuộc hội thoại
Opus 4.8 đi kèm với một thay đổi API Messages: giờ đây bạn có thể đặt một mục nhập hệ thống ở giữa mảng messages, không chỉ ở đầu. Điều đó cho phép bạn đưa các hướng dẫn hoặc quyền mới vào giữa tác vụ, đây là nền tảng cho Dynamic Workflows của Claude Code. Nếu bạn đang điều phối các subagents thông qua API, hãy đọc phân tích chuyên sâu về Dynamic Workflows để biết đầy đủ mẫu.
Kiểm tra tích hợp Opus 4.8 của bạn với Apidog
Một cuộc gọi SDK hoạt động là bước đầu tiên. Các tích hợp sản xuất phải xử lý các phần phức tạp: các khối truyền dữ liệu, xác thực lệnh gọi công cụ, hình dạng output_config mới và các khối tư duy thích ứng trong phản hồi. Đó là nơi một thiết lập kiểm thử thực sự mang lại hiệu quả.
Apidog xử lý toàn bộ giao diện API Messages trong một không gian làm việc:
- Lưu điểm cuối dưới dạng yêu cầu: dán
https://api.anthropic.com/v1/messages, đính kèm các tiêu đềx-api-keyvàanthropic-versioncủa bạn, nhấn Gửi - Phát lại trên các phiên bản mô hình: đổi
claude-opus-4-7thànhclaude-opus-4-8trên cùng một yêu cầu và so sánh đầu ra - Truyền phản hồi trực tuyến: Apidog hiển thị các khối truyền dữ liệu khi chúng đến, với thời gian trên mỗi khối
- Xác thực hình dạng phản hồi: thêm các xác nhận để phát hiện sai lệch khi bạn thay đổi cấp độ
efforthoặc bật/tắt tư duy - Giả lập điểm cuối: tạo một phản hồi Messages giả lập để bạn có thể kiểm tra mã hạ nguồn mà không tốn tín dụng
- Xây dựng các kịch bản vòng lặp tác nhân: nối chuỗi các cuộc gọi với xác thực lệnh gọi công cụ giữa các bước
Để bắt đầu, tải xuống Apidog, tạo một yêu cầu trỏ đến điểm cuối Messages và nhập đoạn mã curl từ trước đó. Thiết lập mất khoảng hai phút. Quy trình tương tự cũng hoạt động cho API Gemini 3.5 và API Qwen 3.7 nếu bạn sử dụng nhiều nhà cung cấp.
Xử lý lỗi và giới hạn tỷ lệ
Mô hình lỗi của Claude nhất quán. Các mã quan trọng:
- 400
invalid_request_error: phần thân bị định dạng sai, thường làbudget_tokenstrên Opus 4.8 hoặc giá trịeffortkhông hợp lệ - 401
authentication_error: khóa API sai hoặc thiếu - 403
permission_error: khóa của bạn không thể truy cập mô hình - 429
rate_limit_error: đợi một chút và thử lại - 500
api_error: phía máy chủ, thử lại với độ trễ - 529
overloaded_error: API tạm thời quá tải, thử lại với độ trễ
Bọc các cuộc gọi bằng một vòng lặp thử lại và độ trễ theo cấp số nhân:
import time
import anthropic
client = anthropic.Anthropic()
def call_with_retry(prompt, max_retries=4):
for attempt in range(max_retries):
try:
return client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
messages=[{"role": "user", "content": prompt}],
)
except anthropic.RateLimitError:
if attempt == max_retries - 1:
raise
time.sleep(2 ** attempt)
Giới hạn tỷ lệ thay đổi theo cấp độ sử dụng của bạn. Đối với các công việc xử lý hàng loạt thông lượng cao không yêu cầu độ trễ thời gian thực, API Batch cũng mở khóa lên tới 300K token đầu ra với một tiêu đề beta.
Di chuyển từ Opus 4.7 sang 4.8
Hầu hết các dự án chỉ thay đổi chính xác một chuỗi:
# Trước đây
model="claude-opus-4-7"
# Sau này
model="claude-opus-4-8"
Những điều cần xác minh sau khi chuyển đổi:
- Cấp độ nỗ lực (Effort levels): hành vi nằm trong cùng phạm vi như 4.7, nhưng hãy chạy lại các đánh giá của bạn ở cấp độ bạn sử dụng
- Cấu hình tư duy (Thinking config): nếu bạn từng đặt
budget_tokens, hãy xóa nó; Opus 4.8 từ chối nó với lỗi 400 - Schemas công cụ (Tool schemas): chúng được giữ nguyên, nhưng hãy chạy lại đánh giá sử dụng công cụ của bạn
- Chi phí (Cost): tỷ lệ mỗi token giống hệt 4.7, vì vậy không có bất ngờ về hóa đơn
Câu hỏi thường gặp (FAQ)
ID mô hình API Claude Opus 4.8 là gì? claude-opus-4-8 trên Claude API và Vertex AI, và anthropic.claude-opus-4-8 trên AWS Bedrock.
Có gói miễn phí nào cho API Opus 4.8 không? Không có gói API miễn phí cố định, nhưng các tài khoản mới nhận được tín dụng dùng thử. Xem hướng dẫn truy cập miễn phí để biết các tùy chọn chi phí thấp khác.
Làm cách nào để đặt cấp độ nỗ lực? Truyền output_config: {"effort": "xhigh"} (hoặc low, medium, high, xhigh, max) trong yêu cầu. Mặc định là high.
Tại sao yêu cầu của tôi trả về lỗi 400 về budget_tokens? Opus 4.8 không hỗ trợ tư duy mở rộng thủ công. Xóa budget_tokens và sử dụng thinking: {type: "adaptive"} với tham số effort.
Opus 4.8 có hoạt động với SDK tương thích OpenAI không? Anthropic cung cấp một lớp tương thích cho OpenAI SDK. Trỏ URL cơ sở đến điểm cuối của Anthropic và sử dụng khóa Anthropic của bạn; giữ chuỗi mô hình là claude-opus-4-8.
Tôi nên đặt max_tokens nào cho công việc tác nhân (agentic work)? Bắt đầu ở 64K khi chạy xhigh hoặc max effort để mô hình có không gian để suy nghĩ và nối chuỗi các lệnh gọi công cụ. Điều chỉnh xuống khi bạn thấy mức sử dụng thực tế.
Làm cách nào để kiểm tra phản hồi truyền dữ liệu (streaming responses) trong Apidog? Mở yêu cầu, bật truyền dữ liệu trong phần thân, và Apidog sẽ hiển thị các khối sự kiện được máy chủ gửi khi chúng đến, giúp dễ dàng phát hiện các phản hồi không đầy đủ.
