Cách Sử Dụng API Claude Sonnet 4.6

Ashley Innocent

Ashley Innocent

18 tháng 2 2026

Cách Sử Dụng API Claude Sonnet 4.6

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

TL;DR / Tóm tắt nhanh

Claude Sonnet 4.6 là mẫu mô hình tầm trung mới nhất của Anthropic, kết hợp hiệu suất mã hóa hàng đầu với cửa sổ ngữ cảnh 1M token (beta) chỉ với $3/$15 cho mỗi triệu token đầu vào/đầu ra. Để bắt đầu sử dụng API: 1) Lấy khóa API từ console.anthropic.com, 2) Cài đặt SDK (pip install anthropic), 3) Sử dụng ID mô hình claude-sonnet-4-6, và 4) Chuyển sang tư duy thích ứng (thinking: {type: "adaptive"}) để có kết quả tốt nhất. Những người thử nghiệm ban đầu đã ưa chuộng nó hơn Sonnet 4.5 đến 70% và thậm chí hơn Opus 4.5 đến 59%.

Giới thiệu

Anthropic đã phát hành Claude Sonnet 4.6, và nó ngay lập tức định hình lại danh mục mô hình AI tầm trung. Đây không phải là một bản cập nhật tăng cường — đây là một mô hình đánh bại Opus 4.5 cấp cao cấp trước đó trong các thử nghiệm đối đầu với tỷ lệ 59% theo những người dùng sớm, tất cả trong khi vẫn giữ nguyên mức giá của Sonnet.

Điểm chuẩn Claude Sonnet 4.6

Các thay đổi đáng chú ý: cửa sổ ngữ cảnh 1M token đang trong giai đoạn thử nghiệm (beta), chế độ tư duy thích ứng mới thay thế phương pháp tư duy mở rộng nhị phân cũ, và một bộ công cụ — tìm kiếm web, thực thi mã, bộ nhớ và tìm kiếm công cụ — đã sẵn sàng để sử dụng rộng rãi. Đối với các nhà phát triển xây dựng ứng dụng dựa trên tác nhân, Sonnet 4.6 mang đến các khả năng trước đây chỉ dành cho các mô hình tiên tiến đắt tiền với chi phí chỉ bằng khoảng một phần ba.

Các cải tiến về mã hóa là rõ rệt. Người dùng báo cáo khả năng tuân thủ hướng dẫn tốt hơn trong việc tạo mã, hiểu ngữ cảnh thông minh hơn trước khi thực hiện sửa đổi và giảm trùng lặp mã thông qua hợp nhất logic tự động. Sử dụng máy tính đạt độ chính xác 94% trên các quy trình làm việc bảo hiểm phức tạp. Điểm SWE-bench Verified đạt 79,6%.

Hướng dẫn này bao gồm mọi thứ bạn cần để bắt đầu xây dựng với API Claude Sonnet 4.6 ngay hôm nay: xác thực, ví dụ mã thực tế bằng Python và JavaScript, tham số tư duy thích ứng mới, cách mở khóa cửa sổ ngữ cảnh 1M và cách kiểm tra tích hợp của bạn với ứng dụng khách API trực quan của Apidog.

💡
Xây dựng nhanh hơn với Apidog. Kiểm tra thủ công các lệnh gọi API Claude rất chậm. Tải xuống Apidog để cấu hình yêu cầu, kiểm tra phản hồi luồng, gỡ lỗi xác thực và tạo mã SDK — tất cả từ một giao diện duy nhất. Không cần mã mẫu.

nút

Có gì mới trong Claude Sonnet 4.6

Chế độ tư duy thích ứng

Mẫu cũ thinking: {type: "enabled", budget_tokens: N} đã bị loại bỏ trên Sonnet 4.6. Thay thế là tư duy thích ứng: thinking: {type: "adaptive"}. Claude giờ đây tự động quyết định mức độ suy luận mà một nhiệm vụ cần.

Kết hợp tư duy thích ứng với tham số effort (hiện có sẵn trong GA) để điều chỉnh chi phí so với hiệu suất:

Hiệu suất mã hóa được cải thiện

Sonnet 4.6 mang đến ba cải tiến cụ thể cho việc tạo mã:

  1. Tuân thủ hướng dẫn tốt hơn — tạo mã khớp chính xác hơn với thông số kỹ thuật
  2. Hiểu ngữ cảnh — đọc và hiểu mã hiện có trước khi sửa đổi, giảm thiểu lỗi hồi quy
  3. Hợp nhất logic — xác định các mẫu trùng lặp và đề xuất các trừu tượng hóa chung

Những người thử nghiệm ban đầu chạy điểm chuẩn mã hóa đã báo cáo thích đầu ra của Sonnet 4.6 hơn Sonnet 4.5 trong 70% trường hợp và hơn Opus 4.5 trong 59% trường hợp.

Cải tiến về sử dụng máy tính

Độ chính xác khi sử dụng máy tính đạt 72,5% trên OSWorld-Verified (trong phạm vi 0,2% của Opus 4.6), tăng đáng kể so với Sonnet 4.5. Mô hình cho thấy độ chính xác 94% trên các quy trình làm việc bảo hiểm yêu cầu điều hướng UI, thao tác bảng tính và hoàn thành biểu mẫu nhiều bước. Nó cũng chống lại các cuộc tấn công chèn prompt tốt hơn trong các tác vụ tự động.

Sử dụng máy tính Sonnet 4.6

Đột phá ARC-AGI-2

Con số điểm chuẩn ấn tượng nhất: hiệu suất ARC-AGI-2 tăng từ 13,6% lên 58,3% — cải thiện 4,3 lần. Điều này đo lường khả năng giải quyết vấn đề mới lạ trên các tác vụ mà mô hình chưa từng thấy các mẫu, cho thấy những cải thiện thực sự trong suy luận hơn là ghi nhớ.

Thông số kỹ thuật và giá API

Tính năng Giá trị
ID mô hình API claude-sonnet-4-6
ID AWS Bedrock anthropic.claude-sonnet-4-6
ID GCP Vertex AI claude-sonnet-4-6
Cửa sổ ngữ cảnh 200K token (1M beta với tiêu đề)
Số token đầu ra tối đa 64K
Giá đầu vào $3 / triệu token
Giá đầu ra $15 / triệu token
Tiết kiệm nhờ bộ nhớ đệm prompt Lên đến 90%
Tiết kiệm API hàng loạt Lên đến 50%
Giới hạn kiến thức (đáng tin cậy) Tháng 8 năm 2025
Giới hạn dữ liệu huấn luyện Tháng 1 năm 2026
Tư duy mở rộng
Tư duy thích ứng
Cấp độ ưu tiên

Các lựa chọn giảm chi phí:

Đối với ngân sách sản xuất: một cuộc trò chuyện triệu token ở chế độ tư duy thích ứng với effort: "medium" có giá khoảng $3 cho các token đầu vào. Hầu hết các lệnh gọi API đơn lẻ đều có giá dưới một xu.

Bắt đầu với API Claude Sonnet 4.6

Bước 1: Lấy khóa API của bạn

  1. Đăng nhập vào platform.anthropic.com
  2. Điều hướng đến API Keys trong cài đặt
  3. Nhấp vào Create Key và sao chép giá trị ngay lập tức (nó chỉ hiển thị một lần)
API Claude Sonnet 4.6

Lưu khóa của bạn dưới dạng biến môi trường — đừng bao giờ mã hóa cứng nó:

export ANTHROPIC_API_KEY="sk-ant-..."

Bước 2: Cài đặt SDK

Python:

pip install anthropic

JavaScript/Node.js:

npm install @anthropic-ai/sdk

Bước 3: Thực hiện yêu cầu đầu tiên của bạn

import anthropic

client = anthropic.Anthropic()  # đọc ANTHROPIC_API_KEY từ môi trường

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Giải thích sự khác biệt giữa async/await và promises trong JavaScript."}
    ]
)

print(response.content[0].text)

Đó là lệnh gọi tối thiểu khả thi. Đối tượng phản hồi bao gồm số liệu thống kê sử dụng (token đầu vào, token đầu ra), lý do dừng và phiên bản mô hình.

Ví dụ mã Python

Tạo văn bản cơ bản

import anthropic

client = anthropic.Anthropic()

def ask_claude(question: str, system: str = None) -> str:
    """Wrapper đơn giản để tạo văn bản bằng Claude Sonnet 4.6."""
    messages = [{"role": "user", "content": question}]

    kwargs = {
        "model": "claude-sonnet-4-6",
        "max_tokens": 2048,
        "messages": messages,
    }
    if system:
        kwargs["system"] = system

    response = client.messages.create(**kwargs)
    return response.content[0].text

# Ví dụ sử dụng
answer = ask_claude(
    "Xem xét chức năng Python này để tìm các vấn đề về hiệu suất:\n\ndef find_duplicates(lst):\n    return [x for x in lst if lst.count(x) > 1]",
    system="Bạn là một kỹ sư Python cấp cao. Hãy cụ thể và cung cấp mã đã sửa."
)
print(answer)

Phản hồi luồng

Đối với đầu ra dài hoặc trải nghiệm người dùng thời gian thực, hãy sử dụng luồng:

import anthropic

client = anthropic.Anthropic()

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    messages=[{
        "role": "user",
        "content": "Viết một trình xử lý REST API hoàn chỉnh trong FastAPI để xác thực người dùng bằng JWT."
    }]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

# Lấy tin nhắn cuối cùng với số liệu thống kê sử dụng sau khi luồng hoàn tất
message = stream.get_final_message()
print(f"\n\nSố token đã sử dụng: {message.usage.input_tokens} vào, {message.usage.output_tokens} ra")

Gọi công cụ / Sử dụng hàm

import anthropic
import json

client = anthropic.Anthropic()

# Định nghĩa công cụ
tools = [
    {
        "name": "get_repository_info",
        "description": "Lấy thông tin về một kho lưu trữ GitHub bao gồm sao, fork và các commit gần đây.",
        "input_schema": {
            "type": "object",
            "properties": {
                "owner": {
                    "type": "string",
                    "description": "Tên chủ sở hữu kho lưu trữ hoặc tổ chức"
                },
                "repo": {
                    "type": "string",
                    "description": "Tên kho lưu trữ"
                }
            },
            "required": ["owner", "repo"]
        }
    }
]

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    tools=tools,
    messages=[{
        "role": "user",
        "content": "Bạn có thể cho tôi biết gì về kho lưu trữ anthropics/anthropic-sdk-python?"
    }]
)

# Xử lý phản hồi sử dụng công cụ
for block in response.content:
    if block.type == "tool_use":
        print(f"Công cụ được gọi: {block.name}")
        print(f"Đối số: {json.dumps(block.input, indent=2)}")
        # Trong sản xuất, hãy gọi triển khai thực tế của bạn tại đây
        # result = get_repository_info(block.input["owner"], block.input["repo"])

Phân tích hình ảnh và thị giác máy tính

import anthropic
import base64
from pathlib import Path

client = anthropic.Anthropic()

def analyze_image(image_path: str, question: str) -> str:
    """Phân tích hình ảnh với Claude Sonnet 4.6."""
    image_data = base64.standard_b64encode(Path(image_path).read_bytes()).decode("utf-8")

    # Phát hiện loại phương tiện từ phần mở rộng
    ext = Path(image_path).suffix.lower()
    media_type_map = {
        ".jpg": "image/jpeg",
        ".jpeg": "image/jpeg",
        ".png": "image/png",
        ".gif": "image/gif",
        ".webp": "image/webp"
    }
    media_type = media_type_map.get(ext, "image/jpeg")

    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        messages=[{
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_data,
                    },
                },
                {
                    "type": "text",
                    "text": question
                }
            ],
        }]
    )
    return response.content[0].text

# Ví dụ: phân tích ảnh chụp màn hình UI để tìm các vấn đề về khả năng tiếp cận
result = analyze_image(
    "screenshot.png",
    "Xác định mọi vấn đề về khả năng tiếp cận trong thiết kế UI này. Kiểm tra tỷ lệ tương phản, thiếu chỉ báo văn bản thay thế và các vấn đề điều hướng bằng bàn phím."
)
print(result)

Ví dụ JavaScript/Node.js

Thiết lập và yêu cầu cơ bản

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY, // mặc định, hiển thị rõ ràng để dễ hiểu
});

async function askClaude(userMessage, systemPrompt = null) {
  const params = {
    model: "claude-sonnet-4-6",
    max_tokens: 2048,
    messages: [{ role: "user", content: userMessage }],
  };

  if (systemPrompt) {
    params.system = systemPrompt;
  }

  const response = await client.messages.create(params);
  return response.content[0].text;
}

// Cách sử dụng
const answer = await askClaude(
  "Tái cấu trúc tuyến Express này để sử dụng async/await:\n\napp.get('/users', (req, res) => {\n  User.find({}, (err, users) => {\n    if (err) return res.status(500).send(err);\n    res.json(users);\n  });\n});",
  "Bạn là một nhà phát triển Node.js cấp cao. Chỉ trả về mã đã được tái cấu trúc kèm theo giải thích ngắn gọn."
);

console.log(answer);

Truyền trực tuyến với TypeScript

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();

async function streamCodeReview(codeSnippet: string): Promise<void> {
  const stream = await client.messages.stream({
    model: "claude-sonnet-4-6",
    max_tokens: 4096,
    messages: [
      {
        role: "user",
        content: `Thực hiện đánh giá mã kỹ lưỡng cho chức năng TypeScript này:\n\n\`\`\`typescript\n${codeSnippet}\n\`\`\`\n\nTập trung vào: an toàn kiểu, trường hợp ngoại lệ, hiệu suất và bảo mật.`,
      },
    ],
  });

  // Truyền văn bản khi nó đến
  stream.on("text", (text) => {
    process.stdout.write(text);
  });

  // Lấy số liệu thống kê cuối cùng
  const finalMessage = await stream.finalMessage();
  console.log(
    `\n\n---\nTổng số token: ${finalMessage.usage.input_tokens + finalMessage.usage.output_tokens}`
  );
}

Hội thoại đa lượt

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();

class ConversationManager {
  constructor(systemPrompt = null) {
    this.messages = [];
    this.systemPrompt = systemPrompt;
  }

  async chat(userMessage) {
    this.messages.push({ role: "user", content: userMessage });

    const params = {
      model: "claude-sonnet-4-6",
      max_tokens: 2048,
      messages: this.messages,
    };

    if (this.systemPrompt) {
      params.system = this.systemPrompt;
    }

    const response = await client.messages.create(params);
    const assistantMessage = response.content[0].text;

    // Duy trì lịch sử cuộc trò chuyện
    this.messages.push({ role: "assistant", content: assistantMessage });

    return assistantMessage;
  }
}

// Ví dụ: phiên gỡ lỗi đa lượt
const debugSession = new ConversationManager(
  "Bạn là một chuyên gia gỡ lỗi. Hãy đặt câu hỏi làm rõ và hướng dẫn giải quyết vấn đề từng bước."
);

console.log(await debugSession.chat("API của tôi liên tục trả về lỗi 401."));
console.log(await debugSession.chat("Tôi đang bao gồm tiêu đề Authorization."));
console.log(
  await debugSession.chat("Token đến từ localStorage sau khi đăng nhập.")
);

Tư duy thích ứng: Tư duy mở rộng mới

Tư duy thích ứng thay thế mô hình tư duy mở rộng cũ trên Sonnet 4.6. Sự khác biệt chính: thay vì đặt một ngân sách token cố định cho việc suy nghĩ, bạn đặt một mức effort và Claude sẽ quyết định mức độ suy luận mà vấn đề thực sự cần.

Cách sử dụng tư duy thích ứng

import anthropic

client = anthropic.Anthropic()

# Khuyến nghị: tư duy thích ứng với mức độ nỗ lực trung bình cho hầu hết các trường hợp sử dụng
response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=16000,
    thinking={"type": "adaptive"},
    effort="medium",  # các tùy chọn: "low", "medium", "high" (mặc định: high)
    messages=[{
        "role": "user",
        "content": """
        Thiết kế một lược đồ cơ sở dữ liệu cho nền tảng phân tích SaaS cần:
        - Theo dõi sự kiện từ hàng triệu người dùng
        - Hỗ trợ truy vấn thời gian thực trong 24 giờ qua
        - Lưu trữ dữ liệu lịch sử một cách hiệu quả về chi phí
        - Xử lý cô lập khách thuê cho khách hàng doanh nghiệp
        """
    }]
)

# Các khối suy nghĩ xuất hiện trước phản hồi văn bản
for block in response.content:
    if block.type == "thinking":
        print(f"[Suy luận của Claude - {len(block.thinking)} ký tự]")
    elif block.type == "text":
        print(block.text)

Các mức độ nỗ lực trong thực tế

Nỗ lực Tốt nhất cho Chi phí tương đối Tốc độ tương đối
thấp Phân loại, hỏi đáp đơn giản, định dạng 1x Nhanh nhất
trung bình Tạo mã, phân tích, hầu hết các tác vụ 1.5-2x Nhanh
cao Quyết định kiến trúc, gỡ lỗi phức tạp, toán học 3-5x Vừa phải
Lưu ý di chuyển:thinking: {type: "enabled", budget_tokens: N}thinking: {type: "adaptive"}effort

Cửa sổ ngữ cảnh 1M Token

Cửa sổ ngữ cảnh 1M token cho phép bạn cung cấp cho Claude toàn bộ cơ sở mã, các bộ tài liệu mở rộng hoặc lịch sử cuộc trò chuyện kéo dài hàng tháng. Điều đó tương đương với khoảng 750.000 từ hoặc tương đương 5–10 cơ sở mã hoàn chỉnh trong một yêu cầu duy nhất.

Cách bật ngữ cảnh 1M

Truyền tiêu đề beta context-1m-2025-08-07 trong yêu cầu của bạn:

import anthropic

client = anthropic.Anthropic()

# Đọc toàn bộ một cơ sở mã lớn
with open("large_codebase.txt", "r") as f:
    codebase_content = f.read()

response = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    betas=["context-1m-2025-08-07"],
    messages=[{
        "role": "user",
        "content": f"""
        Đây là toàn bộ cơ sở mã backend của chúng tôi:\n\n{codebase_content}\n\n
        Tìm tất cả các truy vấn cơ sở dữ liệu có thể gây ra vấn đề N+1 và đề xuất cách khắc phục.
        """
    }]
)

print(response.content[0].text)
// Tương đương JavaScript
const response = await client.beta.messages.create({
  model: "claude-sonnet-4-6",
  max_tokens: 4096,
  betas: ["context-1m-2025-08-07"],
  messages: [
    {
      role: "user",
      content: `Xem xét toàn bộ cơ sở mã này để tìm lỗ hổng bảo mật:\n\n${codebaseContent}`,
    },
  ],
});

1M Token mang lại điều gì

Lưu ý về giá: Các yêu cầu vượt quá 200K token sử dụng giá ngữ cảnh dài. Lập kế hoạch phù hợp cho việc sử dụng với khối lượng lớn.

Tìm kiếm web và lọc động

Các công cụ tìm kiếm web và lấy dữ liệu web hiện hỗ trợ **lọc động** trong bản beta công khai trên Sonnet 4.6. Claude viết và thực thi mã để lọc kết quả tìm kiếm trước khi chúng vào cửa sổ ngữ cảnh — chỉ giữ lại thông tin liên quan và cắt giảm đáng kể việc sử dụng token.

Thực thi mã là **miễn phí** khi được sử dụng cùng với các công cụ tìm kiếm web hoặc lấy dữ liệu web (không tính phí riêng).

Thiết lập tìm kiếm web động

import anthropic

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    betas=["code-execution-web-tools-2026-02-09"],
    tools=[
        {
            "type": "web_search_20260209",  # Sử dụng phiên bản này để lọc động
            "name": "web_search",
        }
    ],
    messages=[{
        "role": "user",
        "content": "Tìm các CVE mới nhất cho Apache Log4j được công bố trong 30 ngày qua và tóm tắt mức độ nghiêm trọng."
    }]
)

for block in response.content:
    if hasattr(block, "text"):
        print(block.text)

Lấy dữ liệu web với lọc động

import anthropic

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=2048,
    betas=["code-execution-web-tools-2026-02-09"],
    tools=[
        {
            "type": "web_fetch_20260209",  # Phiên bản mới với lọc động
            "name": "web_fetch",
        }
    ],
    messages=[{
        "role": "user",
        "content": "Lấy trang giá của Anthropic và chỉ trích xuất các hàng giá của Claude Sonnet."
    }]
)

print(response.content[-1].text)

Tại sao lọc động lại quan trọng: Nếu không lọc, việc lấy một trang web đầy đủ có thể tiêu tốn 100K token cho một trang mà bạn chỉ cần 2K token nội dung liên quan. Lọc động cho phép Claude phân tích trang bằng mã và chỉ trả về những gì cần thiết, giảm chi phí hơn 90% trên các trang có nội dung nặng.

API nén ngữ cảnh

Nén ngữ cảnh xử lý các phiên tác nhân chạy dài, nơi ngữ cảnh tích lũy vượt quá giới hạn cửa sổ. API tự động tóm tắt các phần cũ hơn của cuộc trò chuyện phía máy chủ khi đạt gần giới hạn, cho phép độ dài cuộc trò chuyện gần như không giới hạn.

import anthropic

client = anthropic.Anthropic()

# Bật nén ngữ cảnh thông qua tiêu đề beta
response = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    betas=["interleaved-thinking-2025-05-14"],  # Bật nén trong bản beta
    system="Bạn là một tác nhân phát triển phần mềm chạy dài. Duy trì ngữ cảnh về các thay đổi cơ sở mã được thực hiện trong phiên này.",
    messages=[
        {"role": "user", "content": "Bắt đầu một phiên tái cấu trúc cho mô-đun xác thực của chúng tôi."},
        # ... nhiều lượt khác sẽ xuất hiện ở đây trong một phiên thực tế
    ]
)

# Trường compaction_details cho biết khi nào việc tóm tắt xảy ra
if hasattr(response, "usage") and hasattr(response.usage, "cache_read_input_tokens"):
    print(f"Token ngữ cảnh đã lưu thông qua bộ nhớ đệm: {response.usage.cache_read_input_tokens}")

Khi nào nên sử dụng nén: Bất kỳ quy trình làm việc dựa trên tác nhân nào chạy trong hơn vài phút và tích lũy lịch sử — tác nhân CI/CD, các phiên mã hóa dài, các chuỗi hỗ trợ khách hàng hoặc các tác vụ nghiên cứu nhiều bước.

Kiểm tra Claude Sonnet 4.6 với Apidog

Trước khi viết mã SDK, hãy sử dụng Apidog để khám phá API Claude Sonnet 4.6 một cách trực quan. Apidog tăng tốc phát triển bằng cách cho phép bạn cấu hình tiêu đề, xây dựng phần thân yêu cầu và kiểm tra phản hồi luồng mà không cần mã mẫu.

Giao diện Apidog

Thiết lập API Anthropic trong Apidog

  1. Mở Apidog và tạo yêu cầu HTTP mới
  2. Đặt phương thức là POST và URL là https://api.anthropic.com/v1/messages
  3. Thêm các tiêu đề sau:
Tiêu đề Giá trị
x-api-key {{ANTHROPIC_API_KEY}}
anthropic-version 2023-06-01
Content-Type application/json
  1. Đặt phần thân yêu cầu thành JSON:
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Những cải tiến chính trong Claude Sonnet 4.6 là gì?"
    }
  ]
}

Kiểm tra tư duy thích ứng

Để kiểm tra chế độ tư duy thích ứng trong Apidog, hãy thêm các trường thinkingeffort vào phần thân yêu cầu của bạn:

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 8192,
  "thinking": {
    "type": "adaptive"
  },
  "effort": "medium",
  "messages": [
    {
      "role": "user",
      "content": "Thiết kế một chiến lược giới hạn tốc độ cho một API công cộng phục vụ 10 triệu yêu cầu mỗi ngày."
    }
  ]
}

Kiểm tra các tính năng Beta trong Apidog

Đối với các tính năng beta (ngữ cảnh 1M, tìm kiếm web động, nén ngữ cảnh), hãy thêm tiêu đề beta:

Tiêu đề Giá trị
anthropic-beta context-1m-2025-08-07

Hoặc để lọc động tìm kiếm web:

Tiêu đề Giá trị
anthropic-beta code-execution-web-tools-2026-02-09

Apidog cho phép bạn lưu các cấu hình này dưới dạng cài đặt trước và chia sẻ chúng với nhóm của bạn, để mọi người có môi trường kiểm tra API nhất quán.

💡
Dùng thử Apidog miễn phí — Tải xuống Apidog để kiểm tra tích hợp Claude Sonnet 4.6 của bạn với tính năng xây dựng yêu cầu trực quan, đoạn mã được tạo tự động và các tính năng cộng tác nhóm. Không yêu cầu thẻ tín dụng.

nút

Các công cụ mới hiện đã có sẵn (GA)

Một số công cụ trước đây đang trong giai đoạn thử nghiệm (beta) nay đã có sẵn (GA) trên Sonnet 4.6, nghĩa là không cần tiêu đề beta đặc biệt:

Công cụ thực thi mã

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    tools=[{"type": "code_execution_20250522", "name": "code_execution"}],
    messages=[{
        "role": "user",
        "content": "Tính lãi kép trên $10.000 với lãi suất hàng năm 5% trong 10 năm, gộp hàng tháng. Hiển thị bảng phân tích từng năm."
    }]
)

for block in response.content:
    if block.type == "tool_result":
        print("Đầu ra thực thi:", block.content)
    elif hasattr(block, "text"):
        print(block.text)

Công cụ bộ nhớ

Công cụ bộ nhớ cho phép Claude duy trì thông tin qua các phiên hội thoại, hữu ích để xây dựng các trợ lý có trạng thái:

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=2048,
    tools=[{"type": "memory_20250416", "name": "memory"}],
    messages=[{
        "role": "user",
        "content": "Hãy nhớ rằng URL cơ sở API của chúng tôi là https://api.company.com/v2 và chúng tôi yêu cầu xác thực token Bearer trên tất cả các điểm cuối."
    }]
)

Gọi công cụ theo chương trình

Gọi công cụ theo chương trình cho phép Claude tạo các lệnh gọi API có cấu trúc trực tiếp:

import anthropic

client = anthropic.Anthropic()

# Claude giờ đây có thể gọi các công cụ theo chương trình mà không cần sự can thiệp của con người
response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=2048,
    tools=[
        {
            "name": "execute_sql",
            "description": "Thực thi truy vấn SQL và trả về kết quả",
            "input_schema": {
                "type": "object",
                "properties": {
                    "query": {"type": "string", "description": "Truy vấn SQL cần thực thi"},
                    "database": {"type": "string", "description": "Tên cơ sở dữ liệu"}
                },
                "required": ["query", "database"]
            }
        }
    ],
    messages=[{
        "role": "user",
        "content": "Tìm tất cả người dùng đã đăng ký vào tháng 1 năm 2026 và chưa thực hiện giao dịch mua nào."
    }]
)

Sonnet 4.6 so với các mô hình trước

Claude Sonnet 4.6 Claude Sonnet 4.5 Claude Opus 4.5
ID API claude-sonnet-4-6 claude-sonnet-4-5-20250929 claude-opus-4-5-20251101
Giá đầu vào $3/MTok $3/MTok $5/MTok
Giá đầu ra $15/MTok $15/MTok $25/MTok
Cửa sổ ngữ cảnh 200K / 1M (beta) 200K / 1M (beta) 200K
Đầu ra tối đa 64K 64K 64K
Tư duy thích ứng Không Không
Tư duy mở rộng Có (đã loại bỏ)
Điểm SWE-bench 79.6% ~72% ~76%
OSWorld (sử dụng máy tính) 72.5% ~65% ~72.7%
Lọc tìm kiếm web Có (beta) Không Không
Công cụ GA Thực thi mã, lấy dữ liệu web, bộ nhớ, tìm kiếm công cụ Ít GA hơn Bộ đầy đủ
Được người dùng ưa thích hơn so với Sonnet 4.5 70%
Được người dùng ưa thích hơn so với Opus 4.5 59%

Điểm mấu chốt: Nếu bạn đang sử dụng Sonnet 4.5, việc nâng cấp lên Sonnet 4.6 là điều không cần suy nghĩ — cùng mức giá, hiệu suất mã hóa tốt hơn đáng kể và tư duy thích ứng. Nếu bạn đang sử dụng Opus 4.5, Sonnet 4.6 hiện đã sánh ngang hoặc vượt trội trong hầu hết các trường hợp sử dụng với chi phí bằng 60%.

Các thực hành tốt nhất và Mẹo

1. Sử dụng Tư duy thích ứng với nỗ lực trung bình theo mặc định

Đối với hầu hết các trường hợp sử dụng Sonnet 4.6, effort: "medium" cung cấp sự cân bằng chi phí-hiệu suất tốt nhất. Giữ effort: "high" cho các tác vụ thực sự phức tạp như thiết kế kiến trúc, chuỗi suy luận nhiều bước hoặc chứng minh toán học.

# Mẫu mặc định tốt cho Sonnet 4.6
response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    thinking={"type": "adaptive"},
    effort="medium",  # Điểm tối ưu cho hầu hết các tác vụ
    messages=[...]
)

2. Sử dụng Luồng cho Đầu ra trên 1K Token

Các phản hồi lớn được hưởng lợi từ việc truyền trực tuyến để tránh hết thời gian chờ HTTP và mang lại cho người dùng thời gian phản hồi nhanh hơn.

# Đối với bất kỳ phản hồi nào được dự kiến là dài
with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=8192,
    messages=[...]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

3. Bật Bộ nhớ đệm Prompt cho các Prompt hệ thống lặp lại

Nếu bạn sử dụng cùng một prompt hệ thống trong nhiều lệnh gọi, hãy lưu trữ nó vào bộ nhớ đệm để tiết kiệm tới 90%:

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": "Prompt hệ thống dài của bạn ở đây...",
            "cache_control": {"type": "ephemeral"}  # Lưu trữ khối này vào bộ nhớ đệm
        }
    ],
    messages=[{"role": "user", "content": user_input}]
)

4. Xử lý giới hạn tốc độ một cách linh hoạt

Sonnet 4.6 có giới hạn tốc độ hào phóng, nhưng các hệ thống sản xuất nên triển khai chiến lược lùi lũy thừa:

import anthropic
import time

def create_with_retry(client, max_retries=3, **kwargs):
    for attempt in range(max_retries):
        try:
            return client.messages.create(**kwargs)
        except anthropic.RateLimitError:
            if attempt == max_retries - 1:
                raise
            wait_time = (2 ** attempt) + 1  # 2 giây, 3 giây, 5 giây
            time.sleep(wait_time)

5. Chuyển đổi khỏi Prefill trên Sonnet 4.6

Tin nhắn trợ lý điền trước (prefills lượt cuối) không được hỗ trợ trên các mô hình Claude 4.6. Thay vào đó, hãy sử dụng đầu ra có cấu trúc:

# Cách tiếp cận cũ (sẽ lỗi trên Claude 4.6):
# messages = [
#     {"role": "user", "content": "Give me JSON..."},
#     {"role": "assistant", "content": "{"}  # Điền trước
# ]

# Cách tiếp cận mới: sử dụng đầu ra có cấu trúc
response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    output_config={
        "format": {
            "type": "json_schema",
            "schema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "score": {"type": "number"}
                }
            }
        }
    },
    messages=[{"role": "user", "content": "Tạo một đối tượng người dùng mẫu."}]
)

6. Chỉ định AWS hoặc GCP cho việc lưu trú dữ liệu

Nếu các yêu cầu tuân thủ của bạn cần suy luận chỉ ở Hoa Kỳ, hãy sử dụng tham số inference_geo:

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    inference_geo="us",  # Đảm bảo suy luận chạy trong các trung tâm dữ liệu Hoa Kỳ
    messages=[...]
)

Suy luận chỉ ở Hoa Kỳ có giá cao gấp 1.1 lần so với mức tiêu chuẩn trên Sonnet 4.6.


Sẵn sàng xây dựng với Claude Sonnet 4.6? Tải xuống Apidog miễn phí để kiểm tra các lệnh gọi API của bạn một cách trực quan, cộng tác với nhóm của bạn trên các cấu hình yêu cầu và tự động tạo mã SDK — không yêu cầu thẻ tín dụng.

nút

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