Hướng Dẫn Sử Dụng API Claude Opus 4.7

Ashley Innocent

Ashley Innocent

16 tháng 4 2026

Hướng Dẫn Sử Dụng API Claude Opus 4.7

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

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ô.

button

Bắt đầu

Lấy Khóa API của bạn

  1. Đăng ký tại console.anthropic.com
  2. Điều hướng đến Khóa API trong bảng điều khiển
  3. Nhấp vào Tạo khóa và sao chép khóa
  4. 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:

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:

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:

  1. Tạo một dự án mới trong Apidog và thêm điểm cuối API Claude Messages
  2. Lưu ANTHROPIC_API_KEY của bạn trong các biến môi trường
  3. Đặ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-6claude-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.

button

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.

button

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