Boom Field Lab

คุมค่า LLM ตอนรัน product: เลือกรุ่นให้ถูกงาน วาง router และปล่อยให้ cache ทำงาน

ค่า LLM ไม่ได้บานเพราะโมเดลแพง แต่บานเพราะส่งทุกงานเข้าโมเดลแพงสุด นี่คือวิธีที่ใช้จริงตอนสร้าง Boom Leverage Terminal: ราคาต่อรุ่นที่ตรวจวันนี้, router ที่ส่งงานตามความลับและขนาด, บันได fallback ที่เดินครั้งเดียว และตัวเลข cache 98% ที่เปลี่ยนต้นทุนทั้งสมการ

โดย วรัญชัย ยิ่งคำนึง (Boom) · เผยแพร่ครั้งแรก · ตรวจทานล่าสุด

ตาชั่งทองเหลืองบนโต๊ะยามดึก พร้อมข้อความ คุมค่า LLM เลือกรุ่นให้ถูกงาน

ตอนเริ่มให้ AI agent ทำงานอัตโนมัติ สิ่งแรกที่คนมักเจอคือบิลค่า LLM ที่โตเร็วกว่าที่คิด สาเหตุแทบไม่เคยเป็น "โมเดลแพง" แต่เป็น การใช้โมเดลตัวเดียวกับทุกงาน — สรุปข้อความสั้นๆ ก็ใช้รุ่นใหญ่ จัดรูปแบบตารางก็ใช้รุ่นใหญ่ ทั้งที่งานเหล่านั้นรุ่นเล็กทำได้ดีพอกัน

ตอนสร้าง Boom Leverage Terminal ผมมองเรื่องนี้แบบคนทำ risk: ต้นทุนเป็นตัวแปรที่ออกแบบได้ ไม่ใช่สิ่งที่ต้องยอมรับ และการออกแบบนั้นอยู่ใน harness รอบโมเดล (อ่านต่อใน Harness คืออะไร)

รุ่นไหนราคาเท่าไหร่ในวันนี้?

กราฟแท่งราคา input ต่อล้าน token: Haiku 4.5 1 ดอลลาร์, Sonnet 5 2 ดอลลาร์, Opus 5.5 4 ดอลลาร์, Fable 5.1 10 ดอลลาร์
ราคา input ต่อ 1 ล้าน token ตามหน้า pricing ทางการของ Anthropic · ตรวจเมื่อ 27 ก.ย. 2026
รุ่นinput / ล้าน tokenoutput / ล้าน tokenอ่านจาก cache
Claude Haiku 4.5$1$5$0.10 (10%)
Claude Sonnet 5$2$10$0.20 (10%)
Claude Opus 5.5$4$20$0.20 (5%)
Claude Fable 5.1$10$50$0.25 (2.5%)

ที่มา: หน้า Pricing ของ Anthropic ตรวจเมื่อ 27 ก.ย. 2026 (Sonnet 5 ราคา $2/$10 กลายเป็นราคามาตรฐานถาวรแล้ว ตามหมายเหตุในหน้าเดียวกัน)

สองข้อที่คนมักเข้าใจผิด:

  • รุ่นแพงไม่ได้ดีกว่าเสมอสำหรับทุกงาน — งานจัดรูปแบบ แปลงข้อมูล หรือสรุปข้อความสั้น รุ่นเล็กให้ผลที่ใช้ได้เท่ากัน ส่วนต่างราคาคือเงินที่จ่ายทิ้ง
  • Fable คือรุ่นพรีเมียม ไม่ใช่ตัวประหยัด — แพงที่สุดในตาราง แต่ค่าอ่าน cache ถูกที่สุดในเชิงสัดส่วน (2.5%) จึงคุ้มกับงานยาวที่ใช้บริบทเดิมซ้ำๆ ไม่ใช่งานสั้นจำนวนมาก

หลักที่ Anthropic เองแนะนำในหน้าเดียวกันก็ตรงกัน: Haiku สำหรับงานง่าย, Sonnet สำหรับงาน production ส่วนใหญ่, Opus สำหรับงานที่ต้องคิดซับซ้อนที่สุด

Router ของระบบตัดสินใจส่งงานไปไหน?

ระบบที่ใช้สร้าง Terminal ไม่ได้ให้ Claude ทำทุกอย่างเอง งานที่มีโครงชัด (ดึงข้อมูล จัดตาราง ร่างสรุป) ถูกส่งต่อให้ "โมเดลลูกน้อง" ที่ถูกกว่าหรือฟรี โดย Claude ทำหน้าที่วางแผน ตรวจผล และตัดสินใจสุดท้าย

แผนภาพ router 4 ขั้น: จัดประเภทงาน งานลับไปโมเดลในเครื่องเท่านั้น งานทั่วไปไป API ฟรีตามขนาด งานตัดสินใจสุดท้ายไป Claude
ลำดับการตัดสินใจของ router ที่ใช้จริง · กฎความลับมาก่อนเรื่องเงินเสมอ
ลำดับคำถามถ้าใช่ ส่งไป
1งานมีข้อมูลลับ / ข้อมูลส่วนบุคคลไหม?โมเดลในเครื่องเท่านั้น (ไม่ออกนอกเครื่อง)
2เป็นงานสำคัญ (แก้กฎ ตรวจโค้ดรอบสุดท้าย) ไหม?Claude ทำเอง
3งานทั่วไป ขนาดเท่าไหร่?โมเดลเปิด Gemma 4 ผ่าน API ฟรี หรือโมเดลในเครื่อง ตามช่วงขนาดข้อมูล
4ผลลูกน้องถูกเกิน 80% ไหม?Claude แก้ส่วนที่เหลือเอง ไม่สั่งรันใหม่ (ประหยัด token)

ข้อ 1 คือหัวใจ: ความลับตัดสินก่อนเงิน งานที่แตะข้อมูลอ่อนไหวจะไม่ถูกส่งออก cloud ไม่ว่าจะถูกกว่าแค่ไหน และถ้าไม่แน่ใจว่าลับหรือไม่ ระบบถือว่าลับไว้ก่อน

ถ้าโมเดลตัวหลักล่ม ระบบทำยังไง?

มีบันได fallback 5 ขั้น (ผู้ให้บริการสำรองคนละเจ้า → โมเดลที่ quota คนละก้อน → โมเดลในเครื่อง → Claude เป็นทางสุดท้าย) แต่มีกฎสองข้อที่สำคัญกว่าตัวบันได:

การ์ดข้อความจริงจากไฟล์กฎหลัก: สำหรับงานลับ backend ล่มเป็นเหตุให้รอ ไม่ใช่เหตุให้ส่งข้อมูลออกนอกเครื่อง
ข้อความจริงจากไฟล์กฎหลักของ lab (หมวด Dispatch Protocol) · ภาษาต้นฉบับ

เมื่อ payload เป็น sensitive — backend ล่มเป็นเหตุให้ รอ ไม่ใช่เหตุให้ส่งข้อมูลออกนอกเครื่อง

และ บันไดเดินครั้งเดียว จบแล้วจบเลย ห้าม retry วน เพราะผู้ให้บริการสองขั้นแรกบางครั้งเป็นบริษัทเดียวกัน ถ้าล่มทั้งบ้าน การวนใหม่จะค้างเงียบและเผาเวลา ลงครบทุกขั้นแล้วยังไม่ได้ = รายงานคน ทุกครั้งที่ตกลงบันไดยังต้อง log ไว้ด้วย เพราะ fallback ที่เงียบ = เราจะไม่มีวันรู้ว่าตัวหลักเสีย

ใช้งานจริงไปเท่าไหร่ และเสียเงินเท่าไหร่?

กราฟแท่งจำนวนงานที่ส่งให้โมเดลลูกน้อง: Gemma 4 31B ผ่าน API ฟรี 1,263 ครั้ง, Gemma 4 12B ในเครื่อง 819 ครั้ง, fallback ตัวแรก 12 ครั้ง, fallback คนละเจ้า 1 ครั้ง
จำนวน request ในวันที่มีการบันทึก snapshot · 30 พ.ค. – 20 ก.ย. 2026 · จาก lab/cost_tracker.jsonl
backendrequesttoken รวมช่วงที่บันทึก
Gemma 4 31B ผ่าน API ฟรี1,2633,938,13232 วัน (30 พ.ค. – 20 ก.ย.)
Gemma 4 12B ในเครื่อง8196,109,35216 วัน (30 พ.ค. – 2 ส.ค.)
fallback ตัวแรก (ผู้ให้บริการสำรอง)1237,6785 วัน
fallback คนละเจ้า110,9781 วัน

รวมกว่า 10 ล้าน token ที่ไม่ได้วิ่งผ่านโมเดลแพง ต้นทุนที่ระบบบันทึกไว้ทั้งช่วงรวมกัน $0.72 เพราะเกือบทั้งหมดอยู่ในโควตาฟรีหรือรันในเครื่อง (ตัวเลขนี้นับเฉพาะวันที่มี snapshot จึงเป็นค่าต่ำกว่าจริง ไม่ใช่ยอดครบ)

ทำไม cache ถึงสำคัญกว่าการเลือกรุ่น?

ตัวเลขที่เปลี่ยนมุมมองผมมากที่สุดคือ ใน 30 วันล่าสุด (ถึง 26 ก.ย. 2026) 98.2% ของ token ฝั่ง input ที่ Claude Code ใช้ เป็นการ อ่านจาก cache — บริบทเดิม (กฎ CLAUDE.md ไฟล์ที่เปิดไว้ ประวัติบทสนทนา) ที่ถูกส่งซ้ำทุกเทิร์น

ลองคิดด้วยราคาทางการของ Opus 5 ($5 ต่อล้าน token, อ่าน cache คิด 0.1 เท่า = $0.50):

คำนวณราคา input เฉลี่ย / ล้าน token
ถ้าไม่มี cache เลย100% × $5$5.00
cache 98.2% (ตัวเลขจริง)1.8% × $5 + 98.2% × $0.50≈ $0.58

ถูกลงราว 8.6 เท่า ในฝั่ง input (ยังไม่นับค่าเขียน cache ครั้งแรกซึ่งแพงกว่าปกติ 1.25 เท่า) นี่หมายความว่าการออกแบบให้ บริบทนิ่งและถูกใช้ซ้ำ — กฎที่อยู่ไฟล์เดียว ไม่แก้ไปมาทุก session — มีผลต่อต้นทุนมากกว่าการสลับรุ่นไปมาเสียอีก

อีกข้อที่ได้คือ อย่าเชื่อรายงานต้นทุนที่นับ cache ผิด เครื่องมือวัดตัวแรกๆ ของผมคิดค่าอ่าน cache เท่าราคา input เต็ม ผลคือตัวเลขสูงเกินจริงหลายเท่า — ถ้าตัดสินใจตามตัวเลขนั้น จะไปตัดสิ่งที่ไม่ได้แพงจริง

สรุป

คุมค่า LLM ไม่ได้แปลว่าใช้โมเดลถูกที่สุด แต่แปลว่า จ่ายให้ตรงกับความยากของงาน: เลือกรุ่นตามงาน, ให้ router ส่งงานโดยเอาความลับเป็นกฎข้อแรก, เดินบันได fallback ครั้งเดียวแล้วรายงาน และออกแบบบริบทให้ cache ทำงาน ทั้งหมดนี้อยู่ใน harness ไม่ใช่ในตัวโมเดล (ดูเหตุผลเต็มใน ทำไมผมสร้าง Terminal ด้วย Claude Code)

BOOM FIELD LAB

อยากเห็นว่าเครื่องมือพวกนี้ประกอบร่างเป็น Terminal จริงได้ยังไง?

Workshop 60 นาที — ดูการทำงานจริงบนหน้าจอ พร้อม workbook ให้ลงมือตาม ไม่ใช่สไลด์ทฤษฎี