Claude API ออกเวอร์ชันใหม่ 2026-10-21 ครั้งแรกในรอบ 3 ปี — ตัด temperature/top_p/top_k ทิ้ง (ส่งมาเจอ 400), SDK ทุกภาษาขึ้น major version ส่ง key ทาง Authorization: Bearer และเปลี่ยนไลเซนส์จาก MIT เป็น Apache-2.0
Anthropic ออก API version 2026-10-21 เมื่อ 21 ต.ค. 2026 นี่เป็นเวอร์ชันใหม่ครั้งแรกนับจาก 2023-06-01 ที่โค้ดเกือบทุกตัวที่เรียก Claude ส่งอยู่ใน header anthropic-version มาตลอดสามปี วันเดียวกันก็ออก SDK รุ่นใหม่ครบทุกภาษาที่ ส่งเวอร์ชันใหม่เป็นค่าเริ่มต้น ได้แก่ Python 2.0.0, TypeScript 1.0.0, C# 13.0.0, Go 2.0.0, Java 3.0.0, PHP 1.0.0, Ruby 2.0.0 และ ant CLI 2.0.0
ทีมที่อัปเดต dependency แบบอัตโนมัติควรรู้ไว้ว่า SDK เหล่านี้เป็น major version bump จริง ฝั่ง API มี breaking change และฝั่ง SDK ก็มีอีกชุดที่ไม่ขึ้นกับ API version (เช่นวิธีส่ง API key และ type ของ message) ถ้าปล่อย Dependabot/Renovate merge เอง build หรือ gateway ของคุณอาจพังได้ ตอนที่เขียนข่าวนี้ PyPI ขยับไปถึง anthropic 2.1.0 และ npm @anthropic-ai/sdk ถึง 1.1.0 แล้ว
Breaking change ฝั่ง API: sampling parameter ถูกตัดทิ้ง
ข้อที่กระทบคนมากที่สุดคือ temperature, top_p และ top_k ถูกถอดออก request แบบ 2026-10-21 ที่ส่งพารามิเตอร์ใดในสามตัวนี้มาจะได้ 400 error ทุกโมเดล แม้จะใส่ค่า default ไกด์การย้ายเวอร์ชันอธิบายว่า Claude 4.7 ขึ้นไปรับแค่ค่า default อยู่แล้ว จึง sample เหมือนเดิม แต่บนโมเดลที่ยังรับค่าอื่นได้ เช่น Claude Sonnet 4.6 ถ้าโค้ดเคยลด temperature เพื่อให้ output คงที่ ผลนั้นจะหายไป และ ไม่มี setting อื่นมาแทน ถ้างานไหนยังต้องใช้ค่าที่ไม่ใช่ default ไกด์แนะนำให้ request นั้นค้างอยู่ที่ 2023-06-01 ต่อไป
Messages API มีข้อจำกัดใหม่อีกสองข้อ:
- ใส่
documentblock ตรง ๆ ใน message ของassistant→ 400 (ให้ย้ายไปไว้ในuserส่วน document ที่ซ้อนอยู่ใน block อื่น เช่นผล web fetch ยังใช้ได้) - ส่ง
textblock ที่มีcitationsไม่ว่างใน message ของuser(รวมถึงในsearch_result) → 400
Admin API กับ Claude Enterprise Analytics API เลิกส่งชื่อ field เก่าที่ถูกเปลี่ยนชื่อไปแล้ว เช่น roles → role_ids, group_type → group.type และ actor.email → actor.email_address จุดที่ต้องระวังคือ API key ไม่มี workspace_id อีกแล้ว ให้อ่าน scope แทน โค้ดที่เคยถือว่า workspace_id: null หมายถึง Default Workspace ต้องเขียนใหม่ เพราะตอนนี้ scope.workspace_id ให้ ID จริงของ Default Workspace ส่วน key แบบ all-workspaces จะมี scope เป็น {"type": "organization"}
บน Amazon Bedrock เวอร์ชันนี้ใช้ได้เฉพาะ Claude 4.7 ขึ้นไป ถ้ายังเรียก Opus 4.6 หรือโมเดลเก่ากว่าผ่าน Bedrock อย่าเพิ่งอัปเกรด SDK
Breaking change ฝั่ง SDK ที่ไม่เกี่ยวกับ API version
- ส่ง API key ทาง
Authorization: BearerแทนX-Api-Keyตัว API รับได้ทั้งสองแบบ แต่ proxy, gateway, log filter หรือ test stub ที่อ่านX-Api-Keyต้องแก้ ไกด์มีตัวอย่างวิธีย้าย key กลับไปไว้ใน header เดิมด้วย (ยกเว้น Foundry ที่ยังส่งx-api-key) ส่วนantCLI ไม่มีทางส่งX-Api-Keyได้เลย - client ถือ credential ได้ตัวเดียว v1 ของ Python ที่ได้ทั้ง
api_keyและauth_tokenจะส่งทั้งสอง header แต่ v2 จะ raiseValueErrorถ้าไม่ได้ส่ง credential มาในโค้ด SDK จะเลือกตามลำดับANTHROPIC_API_KEY→ANTHROPIC_AUTH_TOKEN→ profile → WIF ถ้าตั้งไว้ทั้งสองตัวแรกจะได้ warning MessageParamกลายเป็น union ของUserMessageParam/AssistantMessageParam/SystemMessageParamถ้าเขียน message เป็น dict ธรรมดาไม่ต้องแก้ แต่การเรียกMessageParam(role=..., content=...)เป็นฟังก์ชันจะได้TypeError- Text Completions API ถูกถอดออก จาก TypeScript, Go, Java, Ruby และ CLI
- client-side compaction ใน tool runner ถูกถอด (TypeScript/Ruby) ให้ใช้ server-side compaction (
compact_20260112) แทน โดย trigger ต้องไม่ต่ำกว่า 50,000 tokens - Go ใช้ module path ใหม่
github.com/anthropics/anthropic-sdk-go/v2และantCLI เปลี่ยนเป็น.../anthropic-cli/v2ไกด์เตือนว่าถ้ายังgo installด้วย path เก่า จะได้ v1 ล่าสุดโดยไม่มี error หรือ warning ใด ๆ ส่วนแฟล็ก--api-keyและ--auth-tokenของ CLI ถูกถอดออก เพราะค่าที่ใส่บน command line จะไปโผล่ใน shell history
ไลเซนส์ MIT → Apache-2.0
SDK และ CLI ตั้งแต่เวอร์ชันข้างต้นเป็นต้นไปใช้ Apache License 2.0 ส่วนเวอร์ชันก่อนหน้ายังเป็น MIT (ตรวจแล้ว ไฟล์ LICENSE บน main ของ anthropic-sdk-python เป็น Apache 2.0 จริง) โค้ดไม่ต้องแก้ แต่ทีมที่ทำ license inventory ต้องอัปเดตรายการ แพ็กเกจของแพลตฟอร์มอื่น เช่น @anthropic-ai/bedrock-sdk และ @anthropic-ai/vertex-sdk จะเปลี่ยนไลเซนส์ใน release 1.0.0 ของแต่ละตัว
ทั้ง migration guide และหน้า Versions ไม่ได้ระบุวันเลิกใช้ 2023-06-01 หน้า Versions ยังยืนยันว่าภายในเวอร์ชันเดียวกัน Anthropic จะไม่ลบพารามิเตอร์ input/output เดิม แปลว่าโค้ดเก่ายังทำงานได้ตราบที่ยังส่งเวอร์ชันเก่า
มุมมอง AI Curator
การถอด temperature ออกเป็นสัญญาณที่ชัดที่สุดของทั้งชุดนี้ Anthropic บอกนักพัฒนาตรง ๆ ว่ายุคที่ปรับความ “สร้างสรรค์” ของโมเดลด้วย knob ตัวเลขจบแล้ว โมเดลรุ่นใหม่ที่ทำงานแบบ reasoning รับแค่ค่า default มาตั้งแต่ 4.7 และ API ตอนนี้ก็ตามพฤติกรรมนั้นทัน แต่คนที่เสียหายจริงคือคนที่ยังใช้ temperature: 0 บน Sonnet 4.6 เพื่องาน extraction หรือ classification ที่ต้องได้คำตอบซ้ำได้ งานแบบนี้ต้องย้ายไปคุมความคงที่ด้วยวิธีอื่น เช่น structured output, schema validation หรือ eval แทน การปล่อยทางหนีไว้ที่ 2023-06-01 โดยไม่บอกวันปิดช่วยให้มีเวลา แต่ไม่ได้รับประกันว่าทางนี้จะเปิดตลอดไป
สำหรับทีมไทยที่ทำ AI gateway กลางขององค์กร (หลายทีมใช้ LiteLLM หรือ proxy ที่เขียนเอง) การย้าย key จาก X-Api-Key ไป Authorization คือจุดที่จะพังเงียบที่สุด gateway ที่ดึง key จาก header เดิมมาเช็ก quota หรือ redact ออกจาก log จะเห็น header นั้นว่างทันทีที่ทีม app อัปเกรด SDK และเมื่อดูจากเหตุ LiteLLM เมื่อวาน ที่ token หลุดจาก log ของ gateway การที่ log filter พลาด header ใหม่ไม่ใช่เรื่องเล็ก ควรแก้ redaction ให้ครอบ Authorization ก่อนให้ใครอัปเกรด
ส่วนการเปลี่ยนเป็น Apache-2.0 ดูเหมือนเรื่องเล็ก แต่จริง ๆ เป็นข้อดีสำหรับองค์กร เพราะ Apache-2.0 มี patent grant ชัดเจนซึ่ง MIT ไม่มี ฝ่ายกฎหมายของบริษัทใหญ่หรือหน่วยงานรัฐมักสบายใจกับไลเซนส์นี้มากกว่า สิ่งเดียวที่ต้องทำคืออัปเดต SBOM และไฟล์ NOTICE ถ้าคุณ vendor SDK เข้าไปในโปรดักต์
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog