Claude API เวอร์ชัน 2026-10-21: มีอะไรเปลี่ยนแปลงและวิธีอัปเกรดอย่างปลอดภัย

anthropic-version ใหม่ตัวแรกของ Anthropic นับตั้งแต่ปี 2023: การเปลี่ยนแปลงที่ทำให้โค้ดเดิมใช้งานไม่ได้, SDK เวอร์ชันเมเจอร์ที่สลับเวอร์ชันให้คุณโดยอัตโนมัติ, ข้อยกเว้นสำหรับ Bedrock และวิธีทดสอบทั้งสองเวอร์ชันก่อนที่คุณจะปล่อย

INEZA Felin-Michel

INEZA Felin-Michel

2 November 2026

Claude API เวอร์ชัน 2026-10-21: มีอะไรเปลี่ยนแปลงและวิธีอัปเกรดอย่างปลอดภัย

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

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

SSO & RBAC

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

สำรวจ Apidog Enterprise

Claude API เวอร์ชัน 2026-10-21 เป็นค่า anthropic-version ใหม่ค่าแรกนับตั้งแต่ 2023-06-01 โดยมีการเปลี่ยนแปลงแบบ breaking change สามรายการใน Messages API ได้แก่ temperature, top_p และ top_k จะส่งคืนข้อผิดพลาด 400 แล้ว, บล็อก document ในข้อความ assistant จะส่งคืน 400 และ citations บนบล็อก text ในข้อความ user จะส่งคืน 400 นอกจากนี้ยังเปลี่ยนชื่อฟิลด์หลายรายการใน Admin API และ Enterprise Analytics API คุณเลือกใช้เวอร์ชันใหม่ได้โดยส่ง anthropic-version: 2026-10-21 หรืออัปเกรดเป็น SDK major ใหม่ (Python 2.0.0, TypeScript 1.0.0, Go 2.0.0 และอื่น ๆ)

แต่มีจุดที่ต้องระวัง: การอัปเกรด SDK คือวิธีที่ทีมส่วนใหญ่จะ "เผลอ" ย้ายไปใช้เวอร์ชันใหม่ คำสั่ง pip install -U anthropic หรือ npm update ตามปกติที่ข้าม major version จะเปลี่ยนทุกคำขอไปเป็น 2026-10-21 พร้อมกันในทันที คู่มือนี้รวบรวมทุกการเปลี่ยนแปลงที่ Anthropic dokument ไว้ แสดงให้เห็นว่ารายการใดสร้างปัญหาในโค้ดจริง และให้ลำดับการอัปเกรดที่ปลอดภัยแก่คุณ

anthropic-version header คืออะไร?

anthropic-version header เป็น request header ที่จำเป็น ซึ่งกำหนดรูปร่างของ Claude API ที่คุณจะได้รับกลับมา ภายในเวอร์ชันเดียวกัน Anthropic จะรักษาพารามิเตอร์อินพุตและเอาต์พุตที่มีอยู่ให้คงที่ แต่สามารถเพิ่มอินพุตแบบไม่บังคับ ค่าเอาต์พุตใหม่ รูปแบบ enum ใหม่ เช่น ชนิดของเหตุการณ์สตรีมมิ่ง และเงื่อนไขข้อผิดพลาดใหม่ ๆ ได้ การเปลี่ยนแปลงแบบ breaking change จะเกิดขึ้นเฉพาะเมื่อมีเวอร์ชันวันที่ใหม่เท่านั้น

จากหน้าประวัติเวอร์ชัน มีอยู่สามเวอร์ชัน:

เวอร์ชัน สิ่งที่เปิดตัวในเวอร์ชันนี้
2023-01-01 การเปิดตัวครั้งแรก
2023-06-01 เพิ่ม server-sent events แบบมีชื่อสำหรับการสตรีมแบบเพิ่มทีละส่วน; ลบเหตุการณ์ data: [DONE] และค่า exception กับ truncated แบบเดิมออก
2026-10-21 ลบพารามิเตอร์การสุ่มตัวอย่าง (sampling parameters), กฎการตรวจสอบเนื้อหาข้อความที่เข้มงวดขึ้น, เปลี่ยนชื่อฟิลด์ใน Admin และ Analytics

หากคุณใช้ SDK อย่างเป็นทางการ คุณจะไม่ต้องตั้ง header นี้ด้วยตัวเอง เพราะ SDK major แต่ละรุ่นจะส่งเวอร์ชันที่เป็นเวอร์ชันปัจจุบันตอนที่ major นั้นเปิดตัว นั่นคือเหตุผลที่การอัปเกรด SDK และการอัปเกรดเวอร์ชัน API จึงเป็นเหตุการณ์เดียวกันสำหรับโค้ดเบสส่วนใหญ่

การเปลี่ยนแปลงแบบ breaking change ของ Claude API 2026-10-21

การเปลี่ยนแปลงเหล่านนี้มีผลกับ POST /v1/messages กับการนับ token และกับทุกคำขอภายใน Message Batch ที่สร้างด้วย 2026-10-21

1. temperature, top_p และ top_k ถูกนำออก

นี่คือการเปลี่ยนแปลงที่คนส่วนใหญ่จะเจอ คำขอใดก็ตามที่ส่ง temperature, top_p หรือ top_k จะส่งคืนข้อผิดพลาด 400 ในทุกโมเดล แม้ว่าคุณจะส่งค่าเริ่มต้นก็ตาม การมี temperature: 1.0 หลงเหลืออยู่ในไฟล์คอนฟิกก็เพียงพอที่จะทำให้การเรียกใช้งานล้มเหลวได้

สิ่งที่จะเกิดขึ้นกับคุณภาพของเอาต์พุตนั้นขึ้นอยู่กับโมเดล:

หากคำขอใดจำเป็นต้องใช้ค่าที่ไม่ใช่ค่าเริ่มต้นจริง ๆ Anthropic ให้ทางเลือกคุณสองทาง คือ หยุดส่งค่านั้นไป หรือคงคำขอนั้นไว้บน 2023-06-01

2. บล็อก document ในข้อความ assistant ส่งคืน 400

แอปบางตัวเล่นประวัติการสนทนาซ้ำโดยมีบล็อก document อยู่ในเทิร์นของ assistant โดยตรง ภายใต้เวอร์ชัน 2026-10-21 สิ่งนี้จะถูกปฏิเสธ ให้ย้ายเอกสารไปไว้ในข้อความ user แทน ส่วนเอกสารที่ซ้อนอยู่ภายในบล็อกอื่น เช่น ผลลัพธ์ของเครื่องมือ web fetch ที่ Claude ส่งกลับมา ยังคงได้รับการยอมรับ

3. citations ในข้อความ user ส่งคืน 400

บล็อก text ที่มีอาร์เรย์ citations ไม่ว่างเปล่าในข้อความ user จะล้มเหลวในตอนนี้ ซึ่งรวมถึงข้อความที่อยู่ภายในบล็อก search_result ด้วย ให้ลบ citations ออกจากบล็อกเหล่านั้น ส่วน citations ในคำตอบ assistant ของ Claude เองที่คุณส่งกลับไปยังใช้ได้ปกติ เช่นเดียวกับ "citations": {"enabled": true} บนเอกสารและผลการค้นหา

4. การเปลี่ยนชื่อฟิลด์ใน Admin API และ Enterprise Analytics

คำตอบจะไม่มีชื่อฟิลด์เดิมอีกต่อไป:

Endpoint ฟิลด์เดิม ฟิลด์ใหม่
RBAC groups roles role_ids
RBAC group members group_id rbac_group_id
RBAC roles name display_name
Organization and workspace rate limits group_type group.type
API keys workspace_id scope.workspace_id
Analytics per-user usage and cost reports actor.email actor.email_address
Analytics activity summaries summaries data

การเปลี่ยนแปลงของ API key เป็นจุดที่สังเกตได้ยาก ภายใต้เวอร์ชัน 2023-06-01 นั้น workspace_id จะเป็น null ทั้งสำหรับคีย์ที่ผูกกับ Default Workspace และสำหรับคีย์ที่ใช้ได้กับทุก workspace ภายใต้เวอร์ชัน 2026-10-21 นั้น scope.workspace_id จะเก็บ ID จริงของ Default Workspace และคีย์ที่ใช้ได้กับทุก workspace จะมี scope: {"type": "organization"} โดยไม่มี workspace_id หากแดชบอร์ดของคุณตีความ null ว่าเป็น "Default Workspace" แดชบอร์ดนั้นจะติดป้ายกำกับคีย์ผิดหลังการอัปเกรด

Diagram of the upgrade path from anthropic-version 2023-06-01 to 2026-10-21 in three steps: upgrade the SDK, fix breaking changes, test both versions, with temperature, top_p and top_k marked as removed

เวอร์ชัน SDK ที่ส่ง 2026-10-21

Anthropic เปิดตัว SDK major ใหม่เมื่อวันที่ 21 ตุลาคม 2026 และแต่ละตัวจะส่ง 2026-10-21 เป็นค่าเริ่มต้น ตามบันทึกประจำรุ่น:

SDK เวอร์ชันแรกที่ใช้ 2026-10-21
Python (anthropic) 2.0.0
TypeScript (@anthropic-ai/sdk) 1.0.0
Go (anthropic-sdk-go/v2) 2.0.0
Java (anthropic-java) 3.0.0
C# (Anthropic) 13.0.0
PHP (anthropic-ai/sdk) 1.0.0
Ruby (anthropic) 2.0.0
ant CLI 2.0.0

SDK major ใหม่ยังนำการเปลี่ยนแปลงที่ไม่เกี่ยวข้องกับเวอร์ชัน API เลยมาด้วย:

ให้ pin major ปัจจุบันของคุณไว้ก่อนทำสิ่งอื่นใด เพื่อป้องกันไม่ให้บอตจัดการ dependency อัปเกรดคุณกลางสปรินต์

ข้อยกเว้นของ Amazon Bedrock

บน Amazon Bedrock นั้น 2026-10-21 ใช้ได้เฉพาะกับโมเดล Claude 4.7 และใหม่กว่าเท่านั้น หากคุณยังเรียก Opus 4.6 หรือโมเดลรุ่นเก่ากว่าอยู่ ให้คงเวอร์ชัน SDK ปัจจุบันไว้หรือส่ง header ปัจจุบันของคุณต่อไป แล้วค่อยเปลี่ยนโมเดลก่อน

วิธีอัปเกรดเป็น Claude API เวอร์ชัน 2026-10-21 อย่างปลอดภัย

ลำดับในคู่มือการย้ายเวอร์ชันคือ: เปลี่ยนเวอร์ชัน, แก้ไข breaking change, ทดสอบก่อนปล่อยจริง ต่อไปนี้คือหน้าตาของขั้นตอนเหล่านั้นในทางปฏิบัติ

  1. Pin SDK major เดิมไว้ ตัวอย่างเช่น anthropic<2 ใน Python หรือ "@anthropic-ai/sdk": "^0" ใน npm
  2. ค้นหาในโค้ดและคอนฟิกของคุณ หาคำว่า temperature, top_p, top_k, X-Api-Key, completions.create และฟิลด์ Admin API ใด ๆ จากตารางด้านบน
  3. ตัดสินใจเรื่องการสุ่มตัวอย่าง บน Claude 4.7 และใหม่กว่า ให้ลบพารามิเตอร์เหล่านั้นออก บนโมเดลรุ่นเก่า ให้เลือกว่าจะยอมรับการสุ่มตัวอย่างแบบค่าเริ่มต้น หรือคงการเรียกเหล่านั้นไว้บน 2023-06-01
  4. แก้ไขการสร้างข้อความ ย้ายเอกสารที่อยู่ฝั่ง assistant ไปยังเทิร์นของ user และลบ citations ออกจากบล็อกข้อความฝั่ง user
  5. ทดสอบ payload ชุดเดียวกันภายใต้ทั้งสองเวอร์ชัน แล้วเปรียบเทียบรหัสสถานะและรูปร่างของคำตอบ
  6. อัปเกรด SDK และปล่อยการแก้ไขโค้ดไปพร้อมกัน Anthropic แนะนำให้ปล่อยการอัปเกรดพร้อมกับการแก้ไขของคุณ ไม่ใช่ก่อนหน้านั้น

หากไม่ใช้ SDK การสลับเวอร์ชันทำได้ด้วย header เดียว:

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2026-10-21" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello, Claude"}]
  }'

เพิ่ม "temperature": 0.2 ลงใน body นั้น แล้วคุณจะได้ 400 ส่ง body เดียวกันพร้อม anthropic-version: 2023-06-01 แล้วจะสำเร็จ ผลลัพธ์คู่นี้คือสิ่งที่ขั้นตอนที่ 5 ควรจับได้สำหรับทุก payload ที่คุณส่งในโปรดักชัน

ให้ Claude Code ทดสอบทั้งสองเวอร์ชันด้วย Apidog CLI

ขั้นตอนที่ 5 นั้นน่าเบื่อหากทำด้วยมือ เพราะคุณมีรูปร่าง payload หลายสิบแบบ และแต่ละแบบต้องรันสองครั้ง ลองมอบหมายให้ coding agent ของคุณทำแทน Apidog CLI มอบคำสั่งให้ Claude Code (หรือ Codex, Cursor และ OpenCode) ในการสร้าง test case และรันคำสั่งเหล่านั้น เพื่อให้ agent เป็นตัวเปรียบเทียบ และคุณแค่อ่านสรุปผล

ตั้งค่าครั้งเดียว:

npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com   # pick Claude Code when prompted

จากนั้นป้อนพรอมป์ต์เดียวให้ Claude Code:

In Apidog project <id>, create an environment "claude-api" with base URL
https://api.anthropic.com. For each JSON payload in ./fixtures/claude/, add a
POST /v1/messages test case that sends the header anthropic-version: {{anthropic_version}}
and asserts status 200 and a non-empty content array. Run every case twice, once with
anthropic_version=2023-06-01 and once with 2026-10-21, and list each case that passes
on the old version but fails on the new one, with the error message.

agent จะตรวจสอบ schema ของแต่ละ payload ก่อนที่จะเขียนอะไรลงไป จากนั้นจึงรัน test case:

apidog environment create claude-api --project <id> --base-url https://api.anthropic.com
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <id> --file case.json
apidog run --test-case <caseId> --project <id> -e <envId> --env-var "anthropic_version=2023-06-01" -r cli,json
apidog run --test-case <caseId> --project <id> -e <envId> --env-var "anthropic_version=2026-10-21" -r cli,json

แฟล็ก --env-var จะสลับค่า header โดยไม่ต้องแตะ test case ดังนั้นส่วนต่างจึงมีเพียงตัวแปรเดียว เพิ่ม --upload-report เพื่อดูการรันทั้งสองครั้งในแอป Apidog หรือนำการรันด้วย 2026-10-21 ไปไว้ใน CI ด้วย -r junit เพื่อไม่ให้การอัปเดต dependency สามารถปล่อยฟิลด์ temperature ขึ้นโปรดักชันได้ คู่มือ Apidog CLI ใน Claude Code อธิบายการตั้งค่าไว้ละเอียดกว่า และเอกสารอ้างอิงคำสั่ง apidog run มีรายการแฟล็กทั้งหมด แผนฟรีของ Apidog รองรับผู้ใช้สูงสุด 4 คน

Diagram of one POST /v1/messages request run under two API versions: 2023-06-01 returns 200 OK, 2026-10-21 returns a 400 error, and a diff compares the two results

2023-06-01 ถูกเลิกใช้แล้วหรือไม่?

ยังไม่มีการประกาศวันสิ้นสุดการใช้งาน หน้าประวัติเวอร์ชันระบุ 2023-06-01 โดยไม่มีประกาศเลิกใช้ และคู่มือการย้ายเวอร์ชันเองก็บอกให้คงคำขอที่ต้องใช้ temperature ที่ไม่ใช่ค่าเริ่มต้นไว้บน 2023-06-01 อย่างไรก็ตาม Anthropic ยังคงแนะนำให้ใช้เวอร์ชันล่าสุด "ทุกครั้งที่เป็นไปได้"

เรื่องนี้สำคัญต่อการวางแผน การอัปเกรดในวันนี้เป็นทางเลือก แต่ 2026-10-21 เป็นเวอร์ชันใหม่ตัวแรกในรอบกว่าสามปี และ breaking change ในอนาคตก็จะมาในลักษณะเดียวกัน ดังนั้นการทำ version testing ให้เป็นงาน CI ประจำตอนนี้จะถูกกว่าการย้ายเวอร์ชันแบบเร่งรีบในภายหลัง หากคุณกำลังปรับจูนเรื่องขีดจำกัดอัตราของ Claude API หรือค่าใช้จ่ายของ Claude API อยู่แล้ว ให้เพิ่มการตรวจสอบเวอร์ชันเข้าไปในไปป์ไลน์เดียวกันด้วย คู่มือแนวปฏิบัติที่ดีที่สุดในการทำ API versioningของเราอธิบายว่าทำไมเวอร์ชันแบบอิงวันที่เช่นนี้จึงทำให้เรื่องต่าง ๆ ง่ายขึ้น

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

ต้องอัปเกรดเป็น Claude API เวอร์ชัน 2026-10-21 เดี๋ยวนี้ไหม?

ไม่ต้อง 2023-06-01 ยังใช้งานได้และไม่มีวันสิ้นสุดการใช้งานที่ประกาศไว้ คุณจะอัปเกรดเมื่อคุณส่ง header ใหม่หรือติดตั้ง SDK major ที่ตั้งค่าเริ่มต้นเป็นเวอร์ชันนั้น

ทำไมคำขอของฉันจึงส่งคืน 400 หลังอัปเกรด SDK?

SDK major ใหม่จะส่ง 2026-10-21 ซึ่งปฏิเสธ temperature, top_p และ top_k, บล็อก document ฝั่ง assistant และ citations บนบล็อกข้อความฝั่ง user ให้ตรวจสอบ payload ของคุณหาสิ่งเหล่านี้ก่อน

เก็บ temperature ไว้กับบางคำขอได้ไหม?

ได้ โดยคงคำขอเฉพาะเหล่านั้นไว้บน 2023-06-01 ภายใต้ 2026-10-21 ไม่มีการตั้งค่าอื่นมาทดแทน และโมเดล Claude 4.7 และใหม่กว่าก็สุ่มตัวอย่างด้วยค่าเริ่มต้นเท่านั้นอยู่แล้ว

2026-10-21 ใช้ได้บน Amazon Bedrock ไหม?

ใช้ได้เฉพาะกับโมเดล Claude 4.7 และใหม่กว่าเท่านั้น โมเดล Bedrock รุ่นเก่าต้องใช้เวอร์ชัน SDK หรือ header ปัจจุบันของคุณจนกว่าคุณจะเปลี่ยนโมเดล

พร็อกซีของฉันยังเห็น API key ของฉันอยู่ไหม?

ไม่เห็น หากพร็อกซีนั้นอ่านค่า X-Api-Key SDK ใหม่จะส่งคีย์เป็น Authorization: Bearer ให้อัปเดตพร็อกซีให้อ่าน Authorization หรือตั้งค่า SDK ให้ส่ง X-Api-Key เอง

เวอร์ชันใหม่เปลี่ยนเหตุการณ์สตรีมมิ่งไหม?

Anthropic ไม่ได้ระบุการเปลี่ยนแปลงรูปแบบการสตรีมมิ่งสำหรับ 2026-10-21 รูปแบบการสตรีมมิ่งที่คุณใช้อยู่ในปัจจุบันมาพร้อมกับ 2023-06-01

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

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