Anthropic’s new beta header trims the token cost of tool calls by about 14 percent for Claude 3.7 Sonnet, giving AI agents a modest reduction in their monthly bills and a small latency edge.

ทำไมการใช้เครื่องมือถึงสิ้นเปลืองโทเคน

ในทุกรอบที่ agent ทำงานร่วมกับ Claude จะประกอบด้วย 3 ขั้นตอนที่ขับเคลื่อนด้วยโทเคน:

  • Tool definitions – ชื่อและ JSON schema ที่คุณส่งไปเป็นส่วนหนึ่งของ prompt
  • Tool calls – ผลลัพธ์แบบโครงสร้าง (structured output) ที่โมเดลสร้างขึ้นเมื่อตัดสินใจเรียกใช้เครื่องมือ
  • Tool results – ข้อมูลที่โค้ดของคุณส่งกลับไปยังโมเดล

ขั้นตอนแรกและขั้นตอนที่สามคือ input tokens ส่วนขั้นตอนที่สองคือ output tokens เนื่องจาก Claude คิดค่าบริการ output สูงกว่า input การลดจำนวน output tokens จึงสามารถช่วยลดต้นทุนได้ แม้ว่าจำนวนโทเคนโดยรวมจะใกล้เคียงเดิมก็ตาม

Beta header

Anthropic ได้ประกาศฟีเจอร์เบต้าที่ชื่อว่า token-efficient tool use การเพิ่ม HTTP header

anthropic-beta: token-efficient-tools-2025-02-19

จะช่วยเปิดใช้งานการเพิ่มประสิทธิภาพนี้ แต่จะใช้ได้เฉพาะเมื่อคำขอ (request) นั้นส่งไปยัง Claude 3.7 Sonnet เท่านั้น หากส่ง header นี้ไปยังโมเดลอื่น คำขอจะดำเนินการต่อไปตามปกติโดยไม่มีการเปลี่ยนแปลง และ header จะถูกละเลยโดยไม่เกิดข้อผิดพลาด

การเพิ่มประสิทธิภาพนี้ทำงานโดยการบีบอัด output ของการเรียกใช้เครื่องมือของโมเดล ซึ่งช่วยลดจำนวน output token ในขั้นตอนนั้นลงได้ประมาณ 14 เปอร์เซ็นต์

คุณจะประหยัดได้จริงเท่าไหร่

เนื่องจาก output tokens มีราคาแพงกว่า input tokens การลดลง 14 เปอร์เซ็นต์ในส่วนนี้จึงไม่ได้หมายถึงค่าใช้จ่ายรวมที่ลดลงในสัดส่วนเดียวกัน ในลูปการทำงานของ agent แบบ 4 ขั้นตอนทั่วไป tool definitions มักจะเป็นส่วนหลักของต้นทุน input ซึ่งบางครั้งอาจสูงเกินครึ่งหนึ่งของโทเคนทั้งหมดที่ใช้ ภายใต้เงื่อนไขดังกล่าว การประหยัด output tokens 14 เปอร์เซ็นต์ มักจะช่วยลดค่าใช้จ่ายโดยรวมได้เพียงประมาณ 3 เปอร์เซ็นต์เท่านั้น

ดังนั้น ตัวเลขการประหยัดที่พาดหัวไว้จึงดูไม่มากนัก แต่การเปลี่ยนแปลงนี้ไม่มีค่าใช้จ่ายเพิ่มเติมและยังช่วยเพิ่มความเร็ว (latency boost) เล็กน้อย เนื่องจาก output tokens ที่น้อยลงหมายความว่าโมเดลจะสร้างผลลัพธ์เสร็จสิ้นเร็วขึ้นเล็กน้อย

การประหยัดที่มากขึ้นต้องใช้กลยุทธ์ที่ต่างออกไป

หากเป้าหมายคือการลดค่าใช้จ่ายอย่างมีนัยสำคัญ ลำพังแค่การใช้ header อย่างเดียวอาจไม่เพียงพอ ต่อไปนี้คือ 3 กลยุทธ์ที่ช่วยให้ประหยัดได้มากขึ้น:

  • Prompt caching – จัดเก็บ tool definitions ไว้เพียงครั้งเดียวและนำเวอร์ชันที่แคชไว้มาใช้ใหม่ในการเรียกใช้งานครั้งต่อๆ ไป การอ่านข้อมูลจากแคชจะมีอัตราค่าบริการที่ต่ำกว่า input tokens แบบใหม่
  • Trim the tool set – ใส่เฉพาะเครื่องมือที่จำเป็นสำหรับงานปัจจุบันเท่านั้น เครื่องมือที่เพิ่มเข้ามาทุกชิ้นจะทำให้ต้องส่ง definition ไปกับทุกคำขอ ซึ่งเป็นการเพิ่มต้นทุน input
  • Slim down tool results – ส่งคืนเฉพาะฟิลด์ที่โมเดลจำเป็นต้องใช้จริงๆ การส่ง API response ขนาดใหญ่กลับเข้าไปในการสนทนาจะทำให้ทั้ง input tokens และประวัติการสนทนา (conversation history) เพิ่มสูงขึ้น

การนำแนวทางเหล่านี้ไปใช้สามารถช่วยลดค่าใช้จ่ายรวมลงได้อย่างเห็นได้ชัด ซึ่งมากกว่า 3 เปอร์เซ็นต์ที่คุณจะได้รับจากการใช้ฟีเจอร์เบต้าเพียงอย่างเดียว

สิ่งที่ควรจับตามอง

Anthropic ยังไม่ได้ระบุว่าโหมด token-efficient จะเปลี่ยนจากเวอร์ชันเบต้าไปเป็นฟีเจอร์มาตรฐานเมื่อใด หรือจะมีการเปลี่ยนแปลงหรือไม่ นักพัฒนาควรติดตามประกาศในอนาคตที่อาจขยายการรองรับไปยังโมเดลอื่นนอกเหนือจาก Claude 3.7 Sonnet หรือการนำเทคนิคการบีบอัดโทเคนที่มีประสิทธิภาพลึกซึ้งยิ่งขึ้นมาใช้ นอกจากนี้ การตรวจสอบรายละเอียดโทเคนต่อคำขอ (per-request token breakdown) จะช่วยให้สามารถวัดผลกระทบที่เกิดขึ้นจริงเมื่อรูปแบบการใช้งานเปลี่ยนแปลงไป

สรุป

Beta header เป็นการปรับแต่งที่ทำได้ง่ายและไม่มีค่าใช้จ่าย ซึ่งช่วยลด output tokens ของการเรียกใช้เครื่องมือลงประมาณ 14 เปอร์เซ็นต์ ช่วยลดค่าใช้จ่ายลงเล็กน้อยและเพิ่มความเร็วขึ้นอีกนิด สำหรับใครที่กำลังเผชิญกับต้นทุน agent ที่สูงอยู่แล้ว การใช้ header นี้เป็นส่วนเสริมที่มีประโยชน์ แต่การประหยัดที่แท้จริงจะมาจากการทำ prompt caching, การจำกัดจำนวนเครื่องมือ และการส่งคืนผลลัพธ์ที่กระชับยิ่งขึ้น

ที่มา: https://dev.to/multigrid/token-efficient-tool-use-in-the-claude-api-3j0l