วิธีใช้งาน API Claude Sonnet 5.5: การเรียกใช้ครั้งแรก, ประสิทธิภาพ, การประมวลผลความคิด, เครื่องมือ และการสตรีมมิ่ง

คู่มือ API ของ Claude Sonnet 5.5: การเรียกใช้งานครั้งแรกด้วย claude-sonnet-5-5 ใน curl, Python และ TypeScript รวมถึง effort, between_tools, strict tools และ streaming

Ashley Innocent

Ashley Innocent

29 September 2026

วิธีใช้งาน API Claude Sonnet 5.5: การเรียกใช้ครั้งแรก, ประสิทธิภาพ, การประมวลผลความคิด, เครื่องมือ และการสตรีมมิ่ง

Apidog สำหรับองค์กร

การติดตั้งแบบ On-Premises

SSO & RBAC

รองรับมาตรฐาน SOC 2

สำรวจ Apidog Enterprise

หากต้องการใช้ Claude Sonnet 5.5 API ให้ส่งคำขอ POST ไปยัง https://api.anthropic.com/v1/messages โดยมี "model": "claude-sonnet-5-5", คีย์ของคุณในเฮดเดอร์ x-api-key และ anthropic-version: 2023-06-01. ค่าใช้จ่ายคือ $2 ต่อล้าน input tokens และ $10 ต่อล้าน output tokens, อ่าน context ได้สูงสุด 1M tokens, เขียนได้สูงสุด 128K, รันการคิดแบบ adaptive เป็นค่าเริ่มต้น และตั้งค่า effort เป็น high เป็นค่าเริ่มต้น

Anthropic ได้เปิดตัว Sonnet 5.5 เมื่อวันที่ 28 กันยายน 2026 (what is Claude Sonnet 5.5 ครอบคลุมข้อมูลจำเพาะและเกณฑ์มาตรฐาน) คู่มือนี้จะแนะนำการเรียกใช้งานครั้งแรกด้วย curl, Python และ TypeScript จากนั้นจะกล่าวถึง effort, thinking, tools, streaming, refusals และ rate limits กำลังย้ายโค้ด Sonnet 5 ใช่หรือไม่ คู่มือ Sonnet 5.5 vs Sonnet 5 มีทุกการเปลี่ยนแปลงที่ทำให้เกิด breaking change พร้อม JSON ก่อน/หลัง คุณสามารถส่งคำขอแต่ละรายการด้านล่างจาก Apidog และบันทึกไว้เป็นการทดสอบที่บันทึกพร้อม assertions ได้

button

ภาพรวม Claude Sonnet 5.5 API

พารามิเตอร์ พฤติกรรมของ Sonnet 5.5
ID โมเดล claude-sonnet-5-5 (Bedrock: anthropic.claude-sonnet-5-5)
ราคาต่อ MTok $2 input, $10 output, $0.20 cache reads; Batch $1/$5
Context / output 1M / 128K; 300K สำหรับ Batch พร้อมเบต้า output-300k-2026-03-24
output_config.effort low, medium, high (ค่าเริ่มต้น), xhigh, max
thinking.type adaptive (ค่าเริ่มต้นเมื่อละไว้) หรือ between_tools; disabled จะคืนค่า 400
thinking.display omitted (ค่าเริ่มต้น), summarized, updates (เบต้า)
tool_choice auto หรือ none; any และ tool จะคืนค่า 400
temperature, top_p, top_k ค่าที่ไม่ใช่ค่าเริ่มต้นจะคืนค่า 400
Prompt ที่สามารถแคชได้ขั้นต่ำ 512 tokens (1,024 สำหรับ Sonnet 5)
max_tokens สำหรับ agentic coding 128,000 พร้อม streaming

แหล่งที่มา: หน้าโมเดล Sonnet 5.5 และ คู่มือการโยกย้าย

ตัวอย่าง Claude Sonnet 5.5 API: การเรียกใช้ครั้งแรกของคุณ

สร้างคีย์ ( คู่มือ Anthropic API key จะแนะนำวิธีการ) และ export เป็น ANTHROPIC_API_KEY แทนการ hardcode จากนั้นส่งสิ่งนี้:

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-sonnet-5-5",
    "max_tokens": 4096,
    "output_config": {"effort": "medium"},
    "messages": [{"role": "user", "content": "Explain idempotency keys in two sentences."}]
  }'

Python SDK จะอ่าน ANTHROPIC_API_KEY จาก environment:

import anthropic

client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-sonnet-5-5",
    max_tokens=4096,
    output_config={"effort": "medium"},
    messages=[{"role": "user", "content": "Explain idempotency keys in two sentences."}],
)
print(response.stop_reason)
for block in response.content:
    if block.type == "text":
        print(block.text)

TypeScript ทำงานในลักษณะเดียวกัน:

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

const client = new Anthropic();
const response = await client.messages.create({
  model: "claude-sonnet-5-5",
  max_tokens: 4096,
  output_config: { effort: "medium" },
  messages: [{ role: "user", content: "Explain idempotency keys in two sentences." }],
});
for (const block of response.content) {
  if (block.type === "text") console.log(block.text);
}

อ่าน content blocks ตาม type การคิดจะเปิดใช้งานเป็นค่าเริ่มต้น ดังนั้นการตอบสนองสามารถเริ่มต้นด้วยบล็อก thinking และโค้ดที่อ่าน content[0].text จะเกิดข้อผิดพลาด Thinking tokens จะถูกเรียกเก็บเงินเป็น output และนับรวมใน max_tokens แม้ว่าข้อความของมันจะถูกซ่อนอยู่ ดังนั้นควรเผื่อพื้นที่ไว้ให้มากกว่าการตอบกลับที่คุณคาดหวัง

เลือกระดับความพยายาม (effort)

Effort ซึ่งตั้งค่าใน output_config.effort เป็นตัวปรับหลักสำหรับต้นทุนและคุณภาพของคุณ Anthropic ได้ปรับระดับใหม่สำหรับ Sonnet 5.5 ดังนั้นการตั้งค่า Sonnet 5 จึงไม่สามารถใช้ได้ ควรทำการทดสอบใหม่ด้วย evals ของคุณเอง คู่มือ prompting แนะนำจุดเริ่มต้นเหล่านี้:

ลักษณะงาน เริ่มต้นที่
งานทั่วไป high (ค่าเริ่มต้นของ API)
Agentic coding, งานที่ระบุชัดเจน medium, เปลี่ยนเป็น high สำหรับงานที่ยากขึ้นหรือยาวขึ้น
แชทและการเรียกที่อ่อนไหวต่อความหน่วง medium หรือ low
งานยากที่ evals ของคุณแสดงให้เห็นถึงผลลัพธ์ที่เพิ่มขึ้น xhigh หรือ max

ความแตกต่างนั้นกว้างมาก ในการรัน Terminal-Bench 4.0 ของ Anthropic เอง Sonnet 5.5 ทำคะแนนได้ 43.0% ที่ high ด้วยค่าใช้จ่าย $1.94 ต่อครั้ง และ 70.6% ที่ max ด้วยค่าใช้จ่าย $12.54 การวิเคราะห์ราคา Sonnet 5.5 จะอธิบายถึงต้นทุนต่อคำขอ

วางแผนสำหรับสามพฤติกรรม ตั้งแต่ medium ขึ้นไป โมเดลจะคิดก่อนการตอบกลับเกือบทุกครั้ง แม้กระทั่งคำทักทาย และการบอกให้คิดน้อยลงนั้นไม่น่าเชื่อถือ: ควรลด effort แทน ที่ low และ medium มันมักจะตรวจสอบตั้งแต่ต้นในงาน agentic ที่ยาวนาน และการเปลี่ยน effort ระดับบนสุดระหว่างคำขอจะทำให้ prompt cache ไม่ถูกต้อง หากต้องการเปลี่ยนระดับระหว่างการสนทนาและเก็บ cache ไว้ ให้ใช้ per-message effort (เบต้า, header anthropic-beta: mid-conversation-output-config-2026-07-01): เพิ่มข้อความ role: "system" โดยมี content ว่างเปล่า และ output_config.effort ใหม่

ควบคุมการคิด: adaptive หรือ between_tools

ละเว้นฟิลด์ thinking แล้ว Sonnet 5.5 จะรัน adaptive thinking มันจะปฏิเสธ {"type": "disabled"} ด้วยค่า 400 หากต้องการปิดการคิดเบื้องต้น ให้ส่ง between_tools ซึ่งเป็นการตั้งค่าที่ต่ำที่สุด:

{
  "model": "claude-sonnet-5-5",
  "max_tokens": 16000,
  "thinking": {"type": "between_tools"},
  "output_config": {"effort": "high"},
  "messages": [{"role": "user", "content": "..."}]
}

กฎสำหรับ Sonnet 5.5 between_tools:

ภายใต้ adaptive thinking, display จะกำหนดว่าบล็อก thinking มีอะไรบ้าง ค่าเริ่มต้น omitted จะคืนค่าบล็อก thinking แต่ละอันโดยมีฟิลด์ thinking ว่างเปล่าพร้อม signature summarized จะคืนค่าสรุปที่อ่านได้ updates (เบต้า, header thinking-display-updates-2026-08-18) จะคืนค่าเฉพาะการอัปเดตความคืบหน้าเป็นข้อความเท่านั้น

การอัปเดตความคืบหน้าเป็นการเปลี่ยนแปลงที่น่าจะทำให้ UI สับสนมากที่สุด Sonnet 5.5 จะใส่บันทึกที่ยาวกว่าหนึ่งหรือสองประโยค ซึ่งเขียนอยู่ระหว่างการเรียกใช้เครื่องมือ ลงในบล็อก thinking ของตัวเองแทนที่จะเป็น text ภายใต้ค่าเริ่มต้น omitted บล็อกเหล่านั้นจะว่างเปล่า ดังนั้นอินเทอร์เฟซตัวแทนที่เคยเล่าขั้นตอนต่างๆ จะเงียบไป ให้ตั้งค่า display: "updates" หรือ "summarized" หรือรัน between_tools ซึ่งจะคืนค่าบันทึกพร้อมข้อความ แสดงบล็อก thinking ที่ไม่ว่างเปล่าแต่ละบล็อกก่อนบล็อก tool_use ที่ตามมา การขอเหตุผลในข้อความตอบกลับอาจนำไปสู่การปฏิเสธ reasoning_extraction ดังนั้นควรอ่านบล็อกเหล่านี้แทน

ใช้เครื่องมือโดยไม่บังคับ tool_choice

การบังคับใช้เครื่องมือถูกยกเลิกแล้ว tool_choice แบบ {"type": "any"} หรือ {"type": "tool", ...} จะคืนค่า 400 พร้อมข้อความนี้ แม้กระทั่งบน endpoint การนับโทเค็น:

tool_choice: type "tool" and "any" are not supported for this model.

ส่ง auto, ทำเครื่องหมายเครื่องมือ strict: true เพื่อให้ input ตรงกับ schema, และบอกโมเดลใน prompt ว่าจะเรียกใช้เมื่อใด:

{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "tools": [{
    "name": "get_weather",
    "description": "Get the current weather for a city",
    "input_schema": {
      "type": "object",
      "properties": {"location": {"type": "string"}},
      "required": ["location"],
      "additionalProperties": false
    },
    "strict": true
  }],
  "tool_choice": {"type": "auto"},
  "messages": [{"role": "user", "content": "What's the weather in Paris? Use the get_weather tool."}]
}

คำขอสามารถมีเครื่องมือแบบ strict ได้สูงสุด 20 รายการ และ schema แบบ strict จำเป็นต้องมี additionalProperties: false ในทุก object บน Amazon Bedrock เครื่องมือแบบ strict ไม่พร้อมใช้งานสำหรับ Sonnet 5.5: ให้ส่ง auto โดยไม่มี strict และตรวจสอบความถูกต้องของ input ในโค้ดของคุณ

รายละเอียดของลูปสองอย่างมีความสำคัญ ส่งบล็อก thinking ทุกบล็อกกลับไปโดยไม่เปลี่ยนแปลงพร้อมกับบล็อก tool_use ของมัน รวมถึงบล็อกที่ว่างเปล่าด้วย และคาดว่าจะมีการเปลี่ยนแปลงตัวพิมพ์บางครั้ง เช่น bash สำหรับเครื่องมือที่ประกาศเป็น Bash คู่มือการ prompt แนะนำให้ยอมรับการจับคู่ที่ไม่กำกวม หรือส่งคืน tool_result ที่มี is_error: true ซึ่งระบุชื่อที่แน่นอน

สตรีมการตอบกลับ

เพิ่ม "stream": true ลงใน body หรือใช้ stream helper ของ SDK สำหรับ agentic coding คู่มือการ prompt แนะนำ max_tokens ที่ 128,000 พร้อม streaming:

with client.messages.stream(
    model="claude-sonnet-5-5",
    max_tokens=128000,
    output_config={"effort": "medium"},
    messages=[{"role": "user", "content": "Review this diff for bugs: ..."}],
) as stream:
    for event in stream:
        if event.type == "content_block_delta" and event.delta.type == "text_delta":
            print(event.delta.text, end="", flush=True)
    final = stream.get_final_message()

เหตุการณ์ Server-sent จะมาถึงเป็น message_start จากนั้น content_block_start, content_block_delta และ content_block_stop สำหรับแต่ละบล็อก จากนั้น message_delta (มี stop_reason) และ message_stop ภายใต้ omitted บล็อก thinking จะสตรีม thinking_delta ที่ว่างเปล่าหนึ่งรายการและ signature_delta จากนั้นข้อความจะเริ่มขึ้น คาดการณ์ว่าจะมีการหยุดชั่วคราวหลายวินาทีก่อนที่บล็อกการอัปเดตความคืบหน้าจะเริ่มขึ้น

stream.get_final_message() (TypeScript: stream.finalMessage()) จะสร้างบล็อกที่สมบูรณ์ขึ้นใหม่พร้อมลายเซ็นของบล็อกเหล่านั้น เพิ่มเนื้อหาดังกล่าวลงในประวัติเป็นการตอบกลับของผู้ช่วยโดยไม่เปลี่ยนแปลง และเก็บประวัติไว้แบบ append-only Sonnet 5.5 จะลงนามในบล็อก thinking แต่ละบล็อกตลอดการสนทนาก่อนหน้า ดังนั้นสำหรับบัญชีที่สร้างขึ้นในหรือหลังวันที่ 31 สิงหาคม 2026 (00:00 UTC) การเล่นบล็อกซ้ำหลังจากแก้ไขประวัติก่อนหน้าจะคืนค่า 400 บล็อกยังเชื่อมโยงกับบัญชีที่สร้างบล็อกเหล่านั้นด้วย

จัดการการปฏิเสธและการ fallback

การปฏิเสธไม่ใช่ข้อผิดพลาด คุณจะได้รับ HTTP 200 พร้อม stop_reason: "refusal" และ object stop_details ที่มี category เป็น cyber, bio, frontier_llm, reasoning_extraction หรือ general_harms พร้อม explanation แสดงคำอธิบายแทนที่จะแยกวิเคราะห์ เพราะคำพูดอาจไม่คงที่ แยกสาขาตาม stop_reason ก่อนที่คุณจะอ่าน content

Server-side fallback เป็นแบบเลือกใช้ เพิ่ม "fallbacks": "default" และเฮดเดอร์ anthropic-beta: server-side-fallback-2026-07-01 (เบต้า, เฉพาะ Claude API) แล้ว API จะลองอีกครั้งสำหรับ cyber และ frontier_llm ที่ถูกปฏิเสธบน Sonnet 5 อีกสามหมวดหมู่จะไม่ถูกลองใหม่ ฟิลด์ model ของการตอบกลับจะระบุชื่อโมเดลที่ให้บริการ และบล็อกเนื้อหา fallback จะทำเครื่องหมายการส่งมอบ

ข้อจำกัดอัตรา (Rate limits)

Sonnet 5.5 มีข้อจำกัดอัตราของตัวเอง แยกต่างหากจาก Sonnet 5 หน้ารายการข้อจำกัดอัตรา ระบุสี่ระดับ:

ระดับ คำขอ/นาที Input tokens/นาที Output tokens/นาที
Start 1,000 2,000,000 400,000
Build 5,000 5,000,000 1,000,000
Scale 10,000 10,000,000 2,000,000
Custom ติดต่อฝ่ายขาย ติดต่อฝ่ายขาย ติดต่อฝ่ายขาย

สำหรับการจัดการ 429 และ backoff โปรดดูที่ คู่มือการจำกัดอัตราเกิน

ทดสอบ Claude Sonnet 5.5 API ใน Apidog

คำขอที่บันทึกไว้ทำให้การเปรียบเทียบ effort และการดีบักสตรีมสามารถทำซ้ำได้ นี่คือการตั้งค่าใน Apidog:

ภาพหน้าจอแสดงการตั้งค่า API ใน Apidog
  1. สร้าง environment และเพิ่ม ANTHROPIC_API_KEY เป็นตัวแปร อ้างอิงถึงมันเป็น {{ANTHROPIC_API_KEY}} ในเฮดเดอร์ x-api-key ถัดจาก anthropic-version และ content-type
  2. สร้างคำขอ POST ไปยัง https://api.anthropic.com/v1/messages วาง body ของการเรียกครั้งแรก และบันทึกมัน
  3. เพิ่ม assertions: สถานะคือ 200, $.stop_reason เท่ากับ end_turn, $.usage.output_tokens มากกว่า 0, และ $.content[*].type มี text การปฏิเสธตอนนี้จะทำให้การทดสอบล้มเหลวแทนที่จะผ่านไปอย่างเงียบ ๆ
  4. ทำซ้ำคำขอด้วย "stream": true Apidog จะแสดงเหตุการณ์ตอบกลับ text/event-stream ทีละเหตุการณ์ เพื่อให้คุณสามารถดู thinking_delta ที่ว่างเปล่า, signature_delta และข้อความที่มาถึงตามลำดับ
  5. โคลนอีกครั้งด้วย "model": "claude-sonnet-5" และเก็บทั้งคู่ไว้ในโฟลเดอร์เดียว: prompt เดียวกัน, สองโมเดล, usage เคียงข้างกัน

สำหรับรูปแบบที่กว้างขึ้น โปรดดู การทดสอบแอปพลิเคชัน LLM และ การทดสอบ API ของ AI agent

คำถามที่พบบ่อย

Claude Sonnet 5.5 model ID คืออะไร? claude-sonnet-5-5 โดยไม่มีวันที่ต่อท้าย บน Claude API, Google Cloud, Microsoft Foundry และ Claude Platform บน AWS บน Amazon Bedrock คือ anthropic.claude-sonnet-5-5

ฉันสามารถปิดการคิดทั้งหมดได้หรือไม่? ไม่ได้ disabled จะคืนค่า 400 between_tools เป็นการตั้งค่าที่ต่ำที่สุด: ไม่มีการคิดเบื้องต้น ที่ effort ระดับ low, medium หรือ high

ทำไมคำขอ Sonnet 5 ของฉันถึงคืนค่า 400 บน Sonnet 5.5? ตรวจสอบ thinking.type: "disabled" และ tool_choice ที่ถูกบังคับก่อน คู่มือ Sonnet 5.5 vs Sonnet 5 ครอบคลุมการเปลี่ยนแปลงที่ทำให้เกิด breaking change ทั้งห้าและการแก้ไข

มี Claude Sonnet 5.5 API ฟรีหรือไม่? Anthropic API เป็นแบบชำระเงินล่วงหน้า และไม่มีหน้าเว็บทางการใดที่ระบุเครดิตการลงทะเบียนฟรี แผนแชทของ Claude ก็ไม่รวมถึงการเข้าถึง API ด้วย คู่มือ API ฟรี ครอบคลุมโปรแกรมเครดิตและเส้นทางที่ต้องชำระเงินที่ถูกที่สุด

ขั้นตอนต่อไป

ส่งคำขอเรียกใช้ครั้งแรกที่ medium จากนั้นรันซ้ำที่ high และเปรียบเทียบ usage.output_tokens และคุณภาพคำตอบบน prompt จากปริมาณงานของคุณเอง ดาวน์โหลด Apidog เพื่อบันทึกการรันทั้งสองพร้อม assertions หากคุณต้องการทำงานจากเทอร์มินัล โปรดดู Claude Sonnet 5.5 ใน Claude Code

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API