Claude Sonnet 5 เปิดตัวเมื่อวันที่ 30 มิถุนายน 2026 และเป็นโมเดล Sonnet ที่มีความเป็นตัวแทน (agentic) มากที่สุดเท่าที่ Anthropic เคยเปิดตัวมา มีประสิทธิภาพใกล้เคียงกับ Opus 4.8 ในงานที่ต้องใช้เครื่องมือและการเขียนโค้ด แต่มีราคาที่ถูกกว่ามาก ทำให้เป็นตัวเลือกเริ่มต้นที่แข็งแกร่งสำหรับงานใด ๆ ที่ต้องเรียกใช้เครื่องมือในวงจรต่อเนื่อง คู่มือนี้จะแสดงวิธีเรียกใช้ Claude Sonnet 5 API แบบ end-to-end: การขอคีย์, การส่งคำขอแรกใน curl และ Python, การอ่านการตอบกลับ, การจัดการค่าเริ่มต้นของการคิดแบบปรับตัว (adaptive-thinking), การหลีกเลี่ยงการเปลี่ยนแปลงคำขอสามอย่างที่ทำให้เกิดข้อผิดพลาด 400, การสตรีมผลลัพธ์ที่ยาวนาน และการนับโทเค็นภายใต้ tokenizer ใหม่
Apidog เพื่อให้คำขอของคุณอยู่ในคอลเลกชันที่นำกลับมาใช้ใหม่ได้ พร้อมด้วยสภาพแวดล้อมที่บันทึกไว้และการทดสอบอัตโนมัติ แทนที่จะกระจัดกระจายอยู่ในประวัติ shell หากคุณเคยเรียกใช้ Messages API มาก่อน ส่วนใหญ่จะคุ้นเคยกันดี ID โมเดลคือ claude-sonnet-5 และรูปแบบคำขอตรงกับสิ่งที่คุณใช้อยู่แล้ว
สิ่งที่คุณต้องมีก่อนเริ่มต้น
- บัญชี Anthropic และ API key จากคอนโซลแพลตฟอร์ม Claude
- ID โมเดล:
claude-sonnet-5เป็นสตริงที่แน่นอน ไม่มีส่วนต่อท้ายวันที่ - วิธีส่งคำขอ HTTP: curl ใช้ได้สำหรับการทดสอบอย่างรวดเร็ว Apidog จะทำงานได้ดีกว่าเมื่อคุณกำลังพัฒนา

Sonnet 5 มีให้สำหรับลูกค้า API ทุกคน รวมถึง Amazon Bedrock (ผ่าน Claude Platform บน AWS), Google Cloud ผ่าน Vertex AI และ Microsoft Foundry ในช่วงพรีวิว คู่มือนี้ใช้ Anthropic API โดยตรง ส่วนเนื้อหาคำขอจะเหมือนกันในทุกแพลตฟอร์ม มีเพียงการตรวจสอบสิทธิ์และโฮสต์ปลายทางเท่านั้นที่เปลี่ยนแปลง
รับ API key ของคุณ
export ANTHROPIC_API_KEY="sk-ant-..."
คำขอแรกของคุณ
Sonnet 5 API ใช้ปลายทาง Messages ของ Anthropic นี่คือคำขอขั้นต่ำด้วย 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-sonnet-5",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Write a haiku about API testing."}
]
}'
คำขอเดียวกันด้วย Python SDK:
import os
from anthropic import Anthropic
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Write a haiku about API testing."}
],
)
print(message.content[0].text)
มีสองฟิลด์ที่สำคัญ model เลือก Sonnet 5 ส่วน max_tokens กำหนดขีดจำกัดของผลลัพธ์ทั้งหมด โปรดอ่านต่อไป เพราะ max_tokens ทำงานแตกต่างไปจาก Sonnet 4.6 และเป็นสิ่งที่ผิดพลาดได้ง่ายที่สุด
การอ่านการตอบกลับ
การเรียกสำเร็จจะคืนค่า HTTP 200 พร้อมเนื้อหา JSON ดังนี้ (ตัดทอน):
{
"id": "msg_01ABC...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5",
"content": [
{"type": "text", "text": "Assertions green,\nendpoints answer on the first try,\nship the merge tonight."}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 18,
"output_tokens": 27
}
}
มีบางฟิลด์ที่สำคัญสำหรับการทำงานจริง
contentเป็นอาร์เรย์ ข้อความจะอยู่ในบล็อกที่typeเป็น"text"หากมีการใช้เครื่องมือหรือการคิด (thinking) คุณจะเห็นประเภทบล็อกอื่น ๆ ในอาร์เรย์เดียวกัน ดังนั้นควรวนลูป ไม่ควรถือว่าcontent[0]คือคำตอบเสมอไปstop_reasonบอกคุณว่าการสร้างข้อความสิ้นสุดลงด้วยเหตุผลใดend_turnเป็นเรื่องปกติmax_tokensหมายความว่าคุณถึงขีดจำกัดและผลลัพธ์ถูกตัดทอนrefusalเป็นสิ่งใหม่และควรทำความเข้าใจ (ด้านล่าง)usageรายงานinput_tokensและoutput_tokensนี่คือสิ่งที่คุณจะถูกเรียกเก็บเงิน และตัวเลขจะสูงขึ้นใน Sonnet 5 สำหรับข้อความเดียวกันเนื่องจาก tokenizer ใหม่
เหตุผลการหยุด "การปฏิเสธ" (refusal)
Sonnet 5 เป็นโมเดลระดับ Sonnet ตัวแรกที่มีการป้องกันความปลอดภัยทางไซเบอร์แบบเรียลไทม์ หากคำขอเกี่ยวข้องกับหัวข้อไซเบอร์ที่ต้องห้ามหรือมีความเสี่ยงสูง โมเดลอาจปฏิเสธ คำปฏิเสธจะกลับมาเป็น HTTP 200 ปกติพร้อม stop_reason: "refusal" ไม่ใช่ข้อผิดพลาด จัดการในโค้ดการแยกวิเคราะห์การตอบกลับของคุณในลักษณะเดียวกับการจัดการเหตุผลการหยุดที่ไม่ใช่ end_turn แทนที่จะถือว่าเป็นการเรียก HTTP ที่ล้มเหลว
การคิดแบบปรับตัว (Adaptive thinking) เปิดใช้งานโดยค่าเริ่มต้น
นี่คือการเปลี่ยนแปลงพฤติกรรมที่ใหญ่ที่สุดจาก Sonnet 4.6 และทำให้ผู้คนสับสน ใน Sonnet 4.6 การไม่มีฟิลด์ thinking หมายถึงไม่มีการคิด ใน Sonnet 5 การคิดแบบปรับตัวจะเปิดใช้งานโดยค่าเริ่มต้น คำขอที่ไม่มีฟิลด์ thinking ตอนนี้จะทำงานด้วยการคิดแบบปรับตัว และโทเค็นการคิดจะนับรวมในผลลัพธ์ทั้งหมดของคุณ
max_tokens เป็นขีดจำกัดที่แน่นอนสำหรับผลลัพธ์ทั้งหมด (โทเค็นการคิดบวกข้อความตอบกลับ) ค่า max_tokens ที่เหมาะสมสำหรับ 4.6 อาจตัดทอนคำตอบที่มองเห็นได้ก่อนที่จะเสร็จสมบูรณ์ หากคุณย้ายเวิร์กโหลดที่ไม่เคยใช้การคิดและตั้งค่า max_tokens ไว้ต่ำ ให้เพิ่มค่าดังกล่าวหรือคาดว่าจะมีการตัดทอน
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
thinking={"type": "disabled"},
messages=[
{"role": "user", "content": "Return only the JSON, no reasoning."}
],
)
หากต้องการเปิดใช้งานการคิดแบบปรับตัวและควบคุมว่าโมเดลทำงานหนักแค่ไหน ให้ใช้พารามิเตอร์ effort แทนที่จะพยายามตั้งค่างบประมาณโทเค็นด้วยตนเอง Effort รองรับค่า low, medium, high และ xhigh ความพยายามที่สูงขึ้นหมายถึงการคิดที่ลึกซึ้งขึ้นและการใช้โทเค็นมากขึ้น Anthropic ได้จัดทำเอกสารพฤติกรรมบนหน้า adaptive thinking โปรดทราบว่าค่าฟิลด์คือ {"type": "adaptive"} ไม่ใช่ตัวเลข budget_tokens
การเปลี่ยนแปลงคำขอสามอย่างที่คืนค่า 400
หากคุณกำลังย้ายโค้ดจาก Sonnet 4.6 หรือโมเดล Claude รุ่นเก่า สามสิ่งที่เคยใช้งานได้ตอนนี้จะคืนค่าข้อผิดพลาด 400 แก้ไขก่อนที่คุณจะย้ายระบบ
- การคิดแบบขยายด้วยตนเองถูกลบออกแล้ว
thinking: {type: "enabled", budget_tokens: N}จะคืนค่า 400 ซึ่งถูกยกเลิกไปแล้วใน 4.6 ให้ใช้การคิดแบบปรับตัวพร้อมกับพารามิเตอร์ effort แทน - พารามิเตอร์การสุ่มตัวอย่างถูกปฏิเสธ การตั้งค่า
temperature,top_pหรือtop_kเป็นค่าที่ไม่ใช่ค่าเริ่มต้นจะคืนค่า 400 ให้ลบออก การละเว้นหรือไม่ตั้งค่า หรือปล่อยให้เป็นค่าเริ่มต้นก็ใช้ได้ กำหนดพฤติกรรมด้วยคำสั่งใน system prompt แทน ข้อจำกัดนี้มีอยู่แล้วใน Opus 4.7 ขึ้นไป และเป็นสิ่งใหม่สำหรับคลาส Sonnet - การเติมข้อความผู้ช่วยล่วงหน้าไม่รองรับ การเติมข้อความล่วงหน้าสำหรับการเริ่มต้นเทิร์นของผู้ช่วยจะคืนค่า 400 ให้ใช้เอาต์พุตที่มีโครงสร้าง (structured outputs) หรือ
output_config.formatหรือคำสั่งใน system prompt เพื่อกำหนดรูปแบบผลลัพธ์แทน
ส่วนอื่น ๆ ทั้งหมดที่ทำงานบน Sonnet 4.6 ก็สามารถทำงานบน Sonnet 5 ได้โดยไม่มีการเปลี่ยนแปลงโค้ดอื่น ๆ รูปแบบของคำขอ การตอบกลับ และการสตรีมเหมือนกัน สำหรับคำแนะนำการย้ายข้อมูลที่สมบูรณ์ยิ่งขึ้น โปรดดูคู่มือของเราเกี่ยวกับ Claude Sonnet 4.6 API ซึ่งครอบคลุมส่วนของคำขอเดียวกันกับที่ Sonnet 5 ได้รับมรดกมา
การสตรีมสำหรับเอาต์พุตขนาดใหญ่
Sonnet 5 รองรับเอาต์พุตสูงสุด 128,000 โทเค็น สำหรับการตอบกลับที่ยาวนาน หรือคำขอใด ๆ ที่การคิดแบบปรับตัวทำให้เอาต์พุตรวมสูง ให้สตรีมผลลัพธ์เพื่อให้คุณได้รับโทเค็นเมื่อสร้างขึ้น แทนที่จะรอการตอบกลับทั้งหมด การสตรีมยังช่วยหลีกเลี่ยงการหมดเวลาของไคลเอนต์ในการสร้างข้อความขนาดใหญ่
with client.messages.stream(
model="claude-sonnet-5",
max_tokens=8000,
messages=[
{"role": "user", "content": "Draft an OpenAPI 3.1 spec for a bookstore checkout API."}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
รูปแบบเหตุการณ์การสตรีมจะเหมือนกับ Sonnet 4.6 ดังนั้นตัวจัดการสตรีมที่มีอยู่จึงทำงานได้โดยไม่มีการเปลี่ยนแปลง
การนับโทเค็นภายใต้ tokenizer ใหม่
Sonnet 5 ใช้ tokenizer ใหม่ ข้อความอินพุตเดียวกันสร้างโทเค็นมากขึ้นประมาณ 30% เมื่อเทียบกับ Sonnet 4.6 หรือประมาณ 1.3 เท่า นี่ไม่ใช่การเปลี่ยนแปลง API รูปแบบคำขอ การตอบกลับ และการสตรีมเหมือนกัน และคุณไม่จำเป็นต้องเปลี่ยนโค้ดใด ๆ แต่มีผลกับทุกสิ่งที่คุณวัดหรือกำหนดงบประมาณเป็นโทเค็น
- ตัวเลข
usageและผลลัพธ์การนับโทเค็นของคุณจะสูงขึ้นสำหรับข้อความเดียวกัน ให้นับใหม่เทียบกับ Sonnet 5 อย่าใช้การนับจาก 4.6 ซ้ำ - หน้าต่างบริบท (context window) 1,000,000 โทเค็นจะจุข้อความได้น้อยลงโดยเฉลี่ย เพราะแต่ละโทเค็นตอนนี้ครอบคลุมข้อความได้น้อยลง
- ค่า
max_tokensที่กำหนดขนาดใกล้เคียงกับเอาต์พุตที่คาดไว้ อาจถูกตัดทอนแล้ว ทบทวนใหม่ - ค่าใช้จ่ายต่อคำขอสำหรับข้อความที่เทียบเท่ากันอาจสูงขึ้น แม้ว่าราคาต่อโทเค็นจะไม่เปลี่ยนแปลงก็ตาม
ใช้ปลายทาง count-tokens ก่อนที่คุณจะส่ง เพื่อให้คุณสามารถกำหนดงบประมาณตามตัวเลขจริงของ Sonnet 5:
count = client.messages.count_tokens(
model="claude-sonnet-5",
messages=[
{"role": "user", "content": "Estimate the tokens for this prompt on Sonnet 5."}
],
)
print(count.input_tokens)
Anthropic ได้จัดทำเอกสารนี้บนหน้า การนับโทเค็น
ข้อผิดพลาด, ข้อจำกัดอัตรา (rate limits) และข้อมูลพื้นฐานด้านต้นทุน
ความหมายของ HTTP มาตรฐานยังคงใช้ได้ ข้อผิดพลาด 400 หมายถึงคำขอผิดรูปแบบ (สามการเปลี่ยนแปลงข้างต้นเป็นสาเหตุหลักใน Sonnet 5) 401 หมายถึง API key ไม่ถูกต้องหรือไม่มี 429 หมายถึงคุณถึงขีดจำกัดอัตรา อ่านส่วนหัว retry-after และรอสักครู่ก่อนลองใหม่ โปรดจำไว้ว่าการปฏิเสธ (refusal) คือ 200 ไม่ใช่ข้อผิดพลาด ดังนั้นอย่าส่งผ่านตรรกะการลองใหม่ของคุณ
ในด้านราคา อัตราแนะนำคือ 2 ดอลลาร์ต่อล้านโทเค็นอินพุต และ 10 ดอลลาร์ต่อล้านโทเค็นเอาต์พุต มีผลถึง 31 สิงหาคม 2026 หลังจากนั้นจะเปลี่ยนเป็นอัตรามาตรฐาน 3 ดอลลาร์ต่อล้านอินพุต และ 15 ดอลลาร์ต่อล้านเอาต์พุต ซึ่งเป็นอัตราต่อโทเค็นเดียวกับ Sonnet 4.6 เนื่องจากการเปลี่ยนแปลงของ tokenizer ค่าใช้จ่ายของคำขอข้อความที่เทียบเท่ากันอาจยังสูงกว่า 4.6 แม้ว่าอัตราต่อโทเค็นจะตรงกัน ดังนั้นให้จำลองเวิร์กโหลดจริงของคุณด้วยการนับโทเค็นแทนที่จะถือว่ามีความเท่าเทียมกัน สำหรับรายละเอียดค่าใช้จ่ายเพิ่มเติม โปรดดูการวิเคราะห์ ค่าใช้จ่าย Claude API และคู่มือ ข้อจำกัดอัตรา Claude API Priority Tier ไม่สามารถใช้ได้ใน Sonnet 5
ทดสอบและจัดระเบียบการเรียก Sonnet 5 ของคุณใน Apidog
เมื่อคุณผ่านคำสั่ง curl แรกไปแล้ว คุณต้องการให้คำขอของคุณถูกบันทึก, คีย์ของคุณถูกจัดเก็บเพียงครั้งเดียว และการตอบกลับของคุณถูกตรวจสอบโดยอัตโนมัติ นั่นคือที่ที่ Apidog เข้ามามีบทบาท เป็นแพลตฟอร์ม API แบบครบวงจร ดังนั้นคำขอเดียวกันที่คุณส่งด้วยตนเองจะกลายเป็นสินทรัพย์ที่นำกลับมาใช้ใหม่และทดสอบได้ ดาวน์โหลด Apidog เพื่อทำตาม
นี่คือการตั้งค่าที่ใช้งานได้จริงสำหรับ Sonnet 5 API
1. สร้างคำขอ เพิ่มคำขอ HTTP ใหม่ใน Apidog ตั้งค่าเมธอดเป็น POST และ URL เป็น https://api.anthropic.com/v1/messages เพิ่มเฮดเดอร์ anthropic-version: 2023-06-01 และ content-type: application/json วางเนื้อหา JSON พร้อม "model": "claude-sonnet-5"
2. จัดเก็บ API key เป็นตัวแปรสภาพแวดล้อม สร้างสภาพแวดล้อม (เช่น "Anthropic Production") และเพิ่มตัวแปรชื่อ ANTHROPIC_API_KEY อ้างอิงในเฮดเดอร์ x-api-key เป็น {{ANTHROPIC_API_KEY}} ตอนนี้คีย์ของคุณจะอยู่ในที่เดียว นอกเนื้อหาคำขอของคุณ และคุณสามารถสลับสภาพแวดล้อมได้โดยไม่ต้องแก้ไขคำขอ
3. บันทึกในคอลเลกชัน จัดกลุ่มคำขอ Sonnet 5 ของคุณ เช่น การเรียกข้อความธรรมดา การเรียกสตรีมมิ่ง การเรียกเครื่องมือ ไว้ในคอลเลกชันเดียว ทีมงานทั้งหมดของคุณจะได้รับคำขอที่ทำงานได้ดีแบบเดียวกัน แทนที่จะคัดลอกส่วนย่อยของ curl ไปมา
4. เพิ่มการทดสอบอัตโนมัติ แนบการยืนยัน (assertions) เข้ากับคำขอเพื่อให้การรันล้มเหลวอย่างชัดเจนเมื่อมีสิ่งผิดปกติเกิดขึ้น ตัวอย่างเช่น:
- ยืนยันว่าสถานะการตอบกลับคือ
200 - ยืนยันว่า
modelเท่ากับclaude-sonnet-5 - ยืนยันว่ามี
stop_reasonและไม่ใช่max_tokens(วิธีรวดเร็วในการตรวจจับการตัดทอนหลังจากมีการเปลี่ยนแปลง tokenizer) - ยืนยันว่า
usage.output_tokensมากกว่า0
เชื่อมโยงสิ่งเหล่านี้เข้ากับสถานการณ์การทดสอบและรันใน CI ทุกครั้งที่คุณเปลี่ยน prompt หรือย้ายเวอร์ชันโมเดล การยืนยันสุดท้ายเป็นวิธีที่ถูกที่สุดในการตรวจจับการถดถอยของ max_tokens ที่เกิดจากการเปิดใช้งาน adaptive thinking โดยค่าเริ่มต้นในปัจจุบัน
5. จำลองปลายทาง (Mock the endpoint) การจำลองอัจฉริยะของ Apidog จะคืนค่าการตอบกลับที่สมจริงสำหรับรูปแบบ Messages ดังนั้นโค้ดไคลเอนต์ของแอปของคุณ การจัดการข้อผิดพลาด และตัวแยกวิเคราะห์สตรีมมิ่งสามารถสร้างและทดสอบได้โดยไม่ต้องใช้โทเค็นแม้แต่ตัวเดียว สิ่งนี้มีประโยชน์สำหรับการทำงานฝั่งส่วนหน้า (frontend) และสำหรับการทดสอบโหลดชั้นการรวมระบบของคุณเอง
หากคุณกำลังย้ายออกจาก Postman สำหรับเรื่องนี้ มุมมองของเราเกี่ยวกับ การทดสอบ API โดยไม่ใช้ Postman ในปี 2026 ครอบคลุมว่าทำไมเวิร์กโฟลว์การออกแบบ-ทดสอบ-จำลองในเครื่องมือเดียวจึงช่วยประหยัดเวลา หากคุณชอบใช้เทอร์มินัล คู่มือฉบับสมบูรณ์ของ Apidog CLI แสดงวิธีรันการทดสอบที่บันทึกไว้เหล่านี้ในไปป์ไลน์
คำถามที่พบบ่อย
ID โมเดล Claude Sonnet 5 คืออะไร?
คือ claude-sonnet-5 ซึ่งเป็นสตริงที่แน่นอนที่ไม่มีส่วนต่อท้ายวันที่ ใช้ในฟิลด์ model ของคำขอ Messages ของคุณ เป็นการแทนที่ claude-sonnet-4-6 ได้โดยตรง ดังนั้นในกรณีส่วนใหญ่ คุณเพียงแค่เปลี่ยน ID โมเดลและตรวจสอบสามสิ่ง: adaptive thinking ที่เปิดใช้งานโดยค่าเริ่มต้น, พารามิเตอร์การสุ่มตัวอย่างที่ถูกลบออก และงบประมาณการคิดแบบแมนนวลที่ถูกลบออก สำหรับภาพรวมทั้งหมดของโมเดล โปรดอ่าน Claude Sonnet 5 คืออะไร
ทำไมเอาต์พุต max_tokens ของฉันถึงถูกตัดออกใน Sonnet 5?
Adaptive thinking เปิดใช้งานโดยค่าเริ่มต้น และโทเค็นการคิดจะนับรวมกับ max_tokens พร้อมกับข้อความตอบกลับของคุณ หากขีดจำกัดของคุณถูกปรับสำหรับเวิร์กโหลดที่ไม่ต้องคิดใน Sonnet 4.6 ให้เพิ่มขึ้น หรือตั้งค่า thinking: {"type": "disabled"} หากคุณไม่ต้องการการคิดเลย Tokenizer ใหม่สร้างโทเค็นมากขึ้นประมาณ 30% สำหรับข้อความเดียวกัน ซึ่งทำให้ผลกระทบนี้เพิ่มขึ้น
ฉันจำเป็นต้องเปลี่ยนโค้ดเพื่อย้ายจาก Sonnet 4.6 หรือไม่?
แค่ในสามจุดเท่านั้น ลบ temperature, top_p และ top_k ที่ไม่ใช่ค่าเริ่มต้นออก ลบ thinking: {type: "enabled", budget_tokens: N} ออก ลบการเติมข้อความผู้ช่วยล่วงหน้าออก สิ่งเหล่านี้แต่ละอย่างจะคืนค่า 400 ใน Sonnet 5 ส่วนอื่น ๆ ทั้งหมด รวมถึงรูปแบบการสตรีมและการตอบกลับไม่มีการเปลี่ยนแปลง หากคุณใช้ Opus ด้วย คู่มือ Opus 4.8 API ของเราก็ใช้ Messages surface แบบเดียวกัน
การปฏิเสธ (refusal) ถือเป็นข้อผิดพลาดที่ฉันต้องดักจับหรือไม่?
ไม่ การปฏิเสธด้านความปลอดภัยทางไซเบอร์จะคืนค่า HTTP 200 พร้อม stop_reason: "refusal" ปฏิบัติต่อสิ่งนี้เป็นการตอบกลับปกติที่มีเหตุผลการหยุดที่ไม่ใช่ end_turn ไม่ใช่คำขอที่ล้มเหลว อย่าส่งผ่านเส้นทางการลองใหม่เมื่อเกิดข้อผิดพลาดของคุณ
API ของ Sonnet 5 มีค่าใช้จ่ายเท่าไหร่?
ราคาแนะนำคือ 2 ดอลลาร์ต่อล้านโทเค็นอินพุต และ 10 ดอลลาร์ต่อล้านโทเค็นเอาต์พุต ถึงวันที่ 31 สิงหาคม 2026 หลังจากนั้นจะอยู่ที่ 3 ดอลลาร์และ 15 ดอลลาร์ ซึ่งเป็นอัตราต่อโทเค็นเดียวกับ Sonnet 4.6 เนื่องจากการเปลี่ยนแปลงของ tokenizer ข้อความที่เทียบเท่ากันอาจมีค่าใช้จ่ายสูงขึ้น ดังนั้นให้วัดด้วยการนับโทเค็นแทนที่จะถือว่ามีความเท่าเทียมกัน
