TÓM TẮT
Claude Opus 4.7 (claude-opus-4-7) là mô hình GA mạnh mẽ nhất của Anthropic. Nó hỗ trợ cửa sổ ngữ cảnh 1 triệu token, đầu ra tối đa 128K, tư duy thích ứng, cấp độ nỗ lực xhigh mới, ngân sách tác vụ, khả năng thị giác độ phân giải cao (3.75 MP) và sử dụng công cụ. Hướng dẫn này bao gồm thiết lập API, xác thực và các ví dụ mã hoạt động bằng Python, TypeScript và cURL cho mọi khả năng chính.
Giới thiệu
Anthropic đã phát hành Claude Opus 4.7 vào ngày 16 tháng 4 năm 2026. Đây là mô hình mạnh mẽ nhất trong dòng Claude và là lựa chọn hàng đầu cho các tác vụ suy luận phức tạp, tác nhân tự động và quy trình làm việc nặng về thị giác.
Nếu bạn đã từng sử dụng API của Claude trước đây, hầu hết giao diện sẽ quen thuộc. Nhưng Opus 4.7 giới thiệu một số khả năng mới và những thay đổi gây lỗi yêu cầu cập nhật mã. Ngân sách tư duy mở rộng đã bị loại bỏ. Các tham số lấy mẫu (`temperature`, `top_p`, `top_k`) đã bị loại bỏ. Chế độ tư duy hiện chỉ hỗ trợ tư duy thích ứng và nó bị tắt theo mặc định.
Hướng dẫn này sẽ đưa bạn qua mọi bước: lấy khóa API, thực hiện yêu cầu đầu tiên, sử dụng tư duy thích ứng, gửi hình ảnh độ phân giải cao, thiết lập việc sử dụng công cụ, cấu hình ngân sách tác vụ và truyền tải phản hồi. Mọi ví dụ đều đã được kiểm tra và sẵn sàng để sao chép. Bạn cũng sẽ thấy cách gỡ lỗi và kiểm tra các cuộc gọi API của mình bằng Apidog, giúp việc kiểm tra các cuộc hội thoại sử dụng công cụ đa lượt dễ dàng hơn nhiều so với việc phân tích JSON thô.
Bắt đầu
Lấy Khóa API của bạn
- Đăng ký tại console.anthropic.com
- Điều hướng đến Khóa API trong bảng điều khiển
- Nhấp vào Tạo khóa và sao chép khóa
- Lưu nó dưới dạng biến môi trường:
export ANTHROPIC_API_KEY="sk-ant-your-key-here"
Cài đặt SDK
Python:
pip install anthropic
TypeScript/Node.js:
npm install @anthropic-ai/sdk
Điểm cuối API
Tất cả các yêu cầu gửi đến:
POST https://api.anthropic.com/v1/messages
Các tiêu đề bắt buộc:
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
content-type: application/json
Yêu cầu văn bản cơ bản
Cuộc gọi API đơn giản nhất. Gửi một tin nhắn, nhận một phản hồi.
Python:
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{"role": "user", "content": "Giải thích cách HTTP/2 server push hoạt động trong ba câu."}
]
)
print(message.content[0].text)
TypeScript:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const message = await client.messages.create({
model: "claude-opus-4-7",
max_tokens: 1024,
messages: [
{ role: "user", content: "Giải thích cách HTTP/2 server push hoạt động trong ba câu." }
],
});
console.log(message.content[0].text);
cURL:
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-opus-4-7",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Giải thích cách HTTP/2 server push hoạt động trong ba câu."}
]
}'
Tư duy thích ứng
Tư duy thích ứng là chế độ tư duy duy nhất được hỗ trợ trên Opus 4.7. Nó cho phép Claude tự động phân bổ các token suy luận dựa trên độ phức tạp của tác vụ. Nó bị tắt theo mặc định — bạn phải bật nó một cách rõ ràng.
Python:
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=16384,
thinking={
"type": "adaptive",
"display": "summarized" # tùy chọn: xem đầu ra tư duy
},
messages=[
{"role": "user", "content": "Phân tích độ phức tạp thời gian của thuật toán này và đề xuất các tối ưu hóa:\n\ndef find_pairs(arr, target):\n result = []\n for i in range(len(arr)):\n for j in range(i+1, len(arr)):\n if arr[i] + arr[j] == target:\n result.append((arr[i], arr[j]))\n return result"}
]
)
for block in message.content:
if block.type == "thinking":
print("Tư duy:", block.thinking)
elif block.type == "text":
print("Phản hồi:", block.text)
Những điểm chính:
"type": "adaptive"bật tư duy. Đừng đặtbudget_tokens— điều đó hiện trả về lỗi 400"display": "summarized"làm cho nội dung tư duy hiển thị trong phản hồi. Mặc định là"omitted"- Kết hợp với tham số
effortđể kiểm soát độ sâu suy luận
Sử dụng tham số Effort
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=16384,
thinking={"type": "adaptive"},
output_config={"effort": "xhigh"}, # xhigh | high | medium | low
messages=[
{"role": "user", "content": "Xem xét pull request này về các lỗ hổng bảo mật..."}
]
)
Các cấp độ nỗ lực cho Opus 4.7:
| Cấp độ | Tốt nhất cho |
|---|---|
xhigh |
Mã hóa, các tác vụ đại diện, suy luận phức tạp |
high |
Hầu hết các công việc nhạy cảm với trí tuệ |
medium |
Cân bằng tốc độ so với chất lượng |
low |
Các tác vụ đơn giản, phản hồi nhanh |
Thị giác độ phân giải cao
Opus 4.7 chấp nhận hình ảnh có cạnh dài lên đến 2.576 pixel (3.75 megapixel). Tọa độ ánh xạ 1:1 với các pixel thực tế.
Python — phân tích hình ảnh từ URL:
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=4096,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "url",
"url": "https://example.com/architecture-diagram.png"
}
},
{
"type": "text",
"text": "Mô tả sơ đồ kiến trúc này. Liệt kê mọi dịch vụ và các kết nối giữa chúng."
}
]
}
]
)
print(message.content[0].text)
Python — phân tích hình ảnh cục bộ bằng base64:
import base64
with open("screenshot.png", "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=4096,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": image_data
}
},
{
"type": "text",
"text": "Bạn thấy những lỗi giao diện người dùng nào trong ảnh chụp màn hình này?"
}
]
}
]
)
Hình ảnh độ phân giải cao hơn tiêu tốn nhiều token hơn. Nếu bạn không cần độ trung thực đầy đủ, hãy thay đổi kích thước hình ảnh trước khi gửi để giảm chi phí.
Sử dụng công cụ (Gọi hàm)
Sử dụng công cụ cho phép Claude gọi các hàm bạn định nghĩa. Opus 4.7 có xu hướng sử dụng ít cuộc gọi công cụ hơn theo mặc định, ưu tiên suy luận. Nâng cao cấp độ nỗ lực để tăng cường sử dụng công cụ.
Python:
import json
tools = [
{
"name": "get_weather",
"description": "Lấy thời tiết hiện tại cho một thành phố. Trả về nhiệt độ, điều kiện và độ ẩm.",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Tên thành phố, ví dụ: 'San Francisco'"
},
"units": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "Đơn vị nhiệt độ"
}
},
"required": ["city"]
}
}
]
messages = [
{"role": "user", "content": "Thời tiết ở Tokyo hiện tại thế nào?"}
]
# Cuộc gọi đầu tiên — Claude yêu cầu một công cụ
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
tools=tools,
messages=messages,
)
# Xử lý các cuộc gọi công cụ
if response.stop_reason == "tool_use":
messages.append({"role": "assistant", "content": response.content})
tool_results = []
for block in response.content:
if block.type == "tool_use":
# Thực thi hàm của bạn ở đây
result = {"temperature": 22, "conditions": "Trời mây một phần", "humidity": 65}
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": json.dumps(result)
})
messages.append({"role": "user", "content": tool_results})
# Cuộc gọi thứ hai — Claude sử dụng kết quả công cụ
final_response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
tools=tools,
messages=messages,
)
print(final_response.content[0].text)
Mô hình Vòng lặp Agentic
Đối với các tác nhân tự động chạy nhiều cuộc gọi công cụ theo trình tự:
def run_agent(system_prompt: str, tools: list, user_message: str) -> str:
messages = [{"role": "user", "content": user_message}]
while True:
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=16384,
system=system_prompt,
tools=tools,
thinking={"type": "adaptive"},
output_config={"effort": "xhigh"},
messages=messages,
)
messages.append({"role": "assistant", "content": response.content})
if response.stop_reason != "tool_use":
return "".join(
block.text for block in response.content
if hasattr(block, "text")
)
tool_results = []
for block in response.content:
if block.type == "tool_use":
result = execute_tool(block.name, block.input)
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result,
})
messages.append({"role": "user", "content": tool_results})
Ngân sách tác vụ (Beta)
Ngân sách tác vụ cung cấp cho Claude một lượng token cho toàn bộ vòng lặp tác nhân. Mô hình sẽ thấy một đồng hồ đếm ngược và hoàn thành công việc khi ngân sách được sử dụng hết.
response = client.beta.messages.create(
model="claude-opus-4-7",
max_tokens=128000,
output_config={
"effort": "high",
"task_budget": {"type": "tokens", "total": 128000},
},
messages=[
{"role": "user", "content": "Xem xét cơ sở mã và đề xuất một kế hoạch tái cấu trúc."}
],
betas=["task-budgets-2026-03-13"],
)
Các ràng buộc chính:
- Ngân sách tối thiểu: 20.000 token
- Mang tính khuyến nghị, không phải giới hạn cứng — Claude có thể vượt quá
- Khác với
max_tokens(giới hạn cứng mà mô hình không thể thấy) - Yêu cầu tiêu đề beta
task-budgets-2026-03-13
Truyền tải phản hồi
Truyền tải phản hồi để có đầu ra thời gian thực trong giao diện trò chuyện.
Python:
with client.messages.stream(
model="claude-opus-4-7",
max_tokens=4096,
messages=[
{"role": "user", "content": "Viết một hàm Python để phân tích các tệp CSV với xử lý lỗi."}
]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
TypeScript:
const stream = await client.messages.stream({
model: "claude-opus-4-7",
max_tokens: 4096,
messages: [
{ role: "user", content: "Viết một hàm Python để phân tích các tệp CSV với xử lý lỗi." }
],
});
for await (const event of stream) {
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
process.stdout.write(event.delta.text);
}
}
Nếu bạn đã bật tư duy thích ứng với display: "summarized", các khối tư duy sẽ được truyền tải trước, sau đó là phản hồi văn bản. Nếu không có display: "summarized", người dùng sẽ thấy một khoảng dừng trong quá trình suy nghĩ, sau đó là đầu ra văn bản.
Bộ đệm nhắc nhở (Prompt Caching)
Giảm chi phí cho ngữ cảnh lặp lại (lời nhắc hệ thống, tài liệu dài) bằng cách lưu vào bộ đệm.
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
system=[
{
"type": "text",
"text": "Bạn là một người đánh giá mã cấp cao. Đánh giá mã về các lỗ hổng bảo mật, vấn đề hiệu suất và vi phạm các phương pháp hay nhất...",
"cache_control": {"type": "ephemeral"}
}
],
messages=[
{"role": "user", "content": "Đánh giá hàm này:\n\ndef process_user_input(data):\n return eval(data)"}
]
)
Giá bộ đệm cho Opus 4.7:
| Hoạt động | Chi phí |
|---|---|
| Ghi bộ đệm 5 phút | $6.25 / MTok (1.25x cơ bản) |
| Ghi bộ đệm 1 giờ | $10 / MTok (2x cơ bản) |
| Đọc/truy cập bộ đệm | $0.50 / MTok (0.1x cơ bản) |
Một lần đọc bộ đệm sẽ bù đắp cho việc ghi bộ đệm 5 phút. Hai lần đọc sẽ bù đắp cho việc ghi bộ đệm 1 giờ.
Cuộc hội thoại nhiều lượt
Duy trì ngữ cảnh qua các lượt bằng cách thêm vào mảng tin nhắn.
messages = []
# Lượt 1
messages.append({"role": "user", "content": "Tôi cần xây dựng một REST API cho một ứng dụng danh sách việc cần làm."})
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=4096,
messages=messages,
)
messages.append({"role": "assistant", "content": response.content})
# Lượt 2
messages.append({"role": "user", "content": "Thêm xác thực bằng mã thông báo JWT."})
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=4096,
messages=messages,
)
Kiểm tra các cuộc gọi API của bạn với Apidog
Xây dựng một tích hợp API Claude liên quan đến các payload phức tạp: tin nhắn nhiều lượt, định nghĩa công cụ, kết quả công cụ, hình ảnh base64 và phản hồi truyền tải. Một công cụ như Apidog đơn giản hóa việc gỡ lỗi và kiểm tra.

Thiết lập môi trường của bạn:
- Tạo một dự án mới trong Apidog và thêm điểm cuối API Claude Messages
- Lưu
ANTHROPIC_API_KEYcủa bạn trong các biến môi trường - Đặt các tiêu đề bắt buộc (
x-api-key,anthropic-version,content-type)
Kiểm tra luồng sử dụng công cụ:
Apidog cho phép bạn chuỗi các yêu cầu, vì vậy bạn có thể mô phỏng một vòng lặp sử dụng công cụ hoàn chỉnh: gửi tin nhắn ban đầu, kiểm tra cuộc gọi công cụ của Claude, xây dựng kết quả công cụ và gửi lại. Trình kiểm tra yêu cầu/phản hồi trực quan hiển thị chính xác những gì có trong mỗi payload.
So sánh các mô hình:
Chạy cùng một lời nhắc trên claude-opus-4-6 và claude-opus-4-7 để so sánh số lượng token, chất lượng phản hồi và độ trễ. Trình chạy thử nghiệm của Apidog giúp việc so sánh A/B có thể lặp lại.
Xác thực lược đồ:
Định nghĩa lược đồ JSON cho định dạng phản hồi mong đợi của bạn và để Apidog tự động xác thực rằng các phản hồi của Claude khớp. Điều này giúp phát hiện các lỗi hồi quy khi bạn thay đổi lời nhắc hoặc chuyển đổi mô hình.
Các lỗi và cách khắc phục thường gặp
| Lỗi | Nguyên nhân | Khắc phục |
|---|---|---|
400: thinking.budget_tokens không được hỗ trợ |
Sử dụng cú pháp tư duy mở rộng | Chuyển sang thinking: {"type": "adaptive"} |
400: temperature không được hỗ trợ |
Đặt các tham số lấy mẫu không mặc định | Xóa temperature, top_p, top_k |
400: max_tokens vượt quá |
Bộ token mới tạo ra nhiều token hơn | Tăng max_tokens (lên đến 128.000) |
| 429: Giới hạn tần suất | Quá nhiều yêu cầu | Triển khai lùi số mũ; kiểm tra giới hạn cấp độ của bạn |
| Khối tư duy trống | Hiển thị tư duy mặc định là "omitted" |
Thêm display: "summarized" vào cấu hình tư duy |
Bảng giá tham khảo
| Cách sử dụng | Chi phí |
|---|---|
| Token đầu vào | $5 / MTok |
| Token đầu ra | $25 / MTok |
| Đầu vào hàng loạt | $2.50 / MTok |
| Đầu ra hàng loạt | $12.50 / MTok |
| Đọc bộ đệm | $0.50 / MTok |
| Ghi bộ đệm 5 phút | $6.25 / MTok |
| Ghi bộ đệm 1 giờ | $10 / MTok |
Lưu ý: Bộ token mới của Opus 4.7 có thể sử dụng nhiều hơn tới 35% token cho cùng một văn bản so với Opus 4.6. Sử dụng điểm cuối /v1/messages/count_tokens để ước tính chi phí trước khi triển khai sản xuất.
Kết luận
Claude Opus 4.7 là mô hình mạnh mẽ nhất trong dòng Claude. API chủ yếu tương thích với Opus 4.6, nhưng việc loại bỏ ngân sách tư duy mở rộng và các tham số lấy mẫu yêu cầu thay đổi mã. Các khả năng mới — tư duy thích ứng, nỗ lực xhigh, ngân sách tác vụ và thị giác độ phân giải cao — cung cấp cho bạn nhiều quyền kiểm soát hơn về cách mô hình suy luận và chi phí của nó.
Bắt đầu với yêu cầu văn bản cơ bản, thêm tư duy thích ứng cho các tác vụ phức tạp và dần dần bổ sung việc sử dụng công cụ và ngân sách tác vụ khi tác nhân của bạn phát triển. Sử dụng Apidog để kiểm tra tích hợp của bạn, xác thực payload và so sánh hiệu suất giữa các phiên bản mô hình.
