ลดต้นทุนและความช้าของ AI Agent
เข้าใจว่า token และเวลาของ Agent หายไปไหน พร้อมเทคนิค streaming, prompt caching, batch และการเลือกขนาดโมเดล โดยไม่ทำให้คุณภาพตก
ทีม e-commerce ทีมหนึ่งเปิดใช้ AI Agent สองตัวพร้อมกัน ตัวแรกตอบแชตลูกค้า ตัวที่สองสรุปรายงานยอดขายทุกเช้าวันจันทร์ ผ่านไปหนึ่งเดือน มีปัญหาสองเรื่อง: ลูกค้าบ่นว่าแชตตอบช้า และบิลค่า API สูงกว่าที่ประเมินไว้ สองปัญหานี้แก้คนละวิธี และเป็นเรื่องที่คนสร้าง Agent ทุกคนต้องเจอในที่สุด
ต้นทุนและความช้าของ Agent มาจากไหน
ต้นทุนของ Agent คิดตาม token ทั้งที่ส่งเข้า (input) และที่โมเดลสร้างออกมา (output) ส่วนความช้ามาจากเวลาสร้าง output บวกจำนวนรอบที่ต้องเรียกโมเดลและเครื่องมือ ปัญหาคือ Agent วนหลายรอบตาม Agent Loop และทุกรอบส่ง context ที่ยาวขึ้นเรื่อยๆ Anthropic รายงานว่า Agent ใช้ token ประมาณ 4 เท่าของการแชตทั่วไป และระบบหลาย Agent ประมาณ 15 เท่า
ลดความช้า: เข้าใจก่อนว่าอะไรกินเวลา
คู่มือ Latency optimization ของ OpenAI สรุปหลักไว้ 7 ข้อ: ประมวลผล token ให้เร็วขึ้น สร้าง token น้อยลง ใช้ input น้อยลง เรียกน้อยครั้งลง ทำงานขนาน ทำให้ผู้ใช้รอน้อยลง และไม่ต้องใช้ LLM ในทุกเรื่อง ข้อที่หลายคนเข้าใจผิดมีดังนี้
Output สำคัญกว่า Input
คู่มือระบุว่าการลด output token ลง 50% อาจลด latency ได้ราว 50% แต่การลด prompt ลง 50% อาจช่วยแค่ 1 ถึง 5% เท่านั้น ถ้าแชตช้า ให้ดูก่อนว่าโมเดลตอบยาวเกินไปหรือเปล่า
รวมขั้นตอนและทำขนาน
ขั้นตอนที่ทำต่อกันเสมอรวมเป็นคำขอเดียวได้ ส่วนงานที่ไม่ขึ้นต่อกันให้รันพร้อมกัน Anthropic รายงานว่าการรัน subagent และ tool แบบขนานในระบบ Research ลดเวลาของคำถามซับซ้อนได้สูงสุดประมาณ 90%
Streaming
คู่มือของ OpenAI เรียก streaming ว่าเป็นวิธีที่ได้ผลที่สุดในการทำให้ผู้ใช้รู้สึกว่ารอน้อยลง เพราะเห็นคำตอบทยอยขึ้นทันที
ลดต้นทุน: 4 คันโยกหลัก
1. Prompt caching
Agent มักส่ง system prompt และคำอธิบาย tool ชุดเดิมทุกรอบ เอกสาร Prompt caching ของ Claude อธิบายว่า cache ทำงานกับส่วนต้นของ prompt ตามลำดับ tools, system และ messages การอ่านจาก cache คิดราคาประมาณ 0.1 เท่าของราคา input ปกติสำหรับหลายโมเดล โดยค่าเริ่มต้น cache อยู่ได้ 5 นาทีและต่ออายุทุกครั้งที่ถูกใช้ เคล็ดลับคือวางส่วนที่ไม่เปลี่ยนไว้ด้านหน้า และส่วนที่เปลี่ยนทุกครั้งไว้ท้าย
2. Batch สำหรับงานที่ไม่ต้องรอ
รายงานเช้าวันจันทร์ไม่ต้องได้ภายในวินาที Anthropic ประกาศว่า Message Batches API คิดราคาถูกกว่าการเรียกปกติ 50% แลกกับการประมวลผลภายใน 24 ชั่วโมง
3. เลือกขนาดโมเดลให้เหมาะกับงาน
OpenAI ระบุว่าโมเดลเล็กทำงานเร็วกว่า และถ้า prompt ดีหรือมีตัวอย่างประกอบ อาจทำงานเฉพาะทางได้ใกล้โมเดลใหญ่ งานคัดแยกข้อความหรือดึงข้อมูลจากฟอร์มมักไม่ต้องใช้โมเดลตัวใหญ่สุด
4. คุมขนาดผลลัพธ์ของ tool
ผลค้นหายาวๆ ที่ไหลกลับเข้า context ทุกรอบคือต้นทุนที่มองไม่เห็น Anthropic เล่าว่า Claude Code จำกัดผลลัพธ์ของ tool ไว้ที่ 25,000 token เป็นค่าเริ่มต้น ระบบของคุณควรใช้ pagination หรือ filter ตั้งแต่ต้น
กลับมาที่ทีม e-commerce
- Agent แชต: สั่งให้ตอบสั้นลง เปิด streaming ย้าย policy ร้านไว้ใน system prompt ที่ cache ได้ และใช้โมเดลเล็กคัดประเภทคำถามก่อน
- Agent รายงาน: ย้ายไปใช้ batch ตอนกลางคืน และดึงเฉพาะคอลัมน์ที่ต้องใช้จากฐานข้อมูล
ข้อควรระวัง
- ถูกลงอาจแย่ลง: Anthropic พบว่าปริมาณ token อธิบายความต่างของผลลัพธ์บน BrowseComp ได้ถึง 80% การตัด token เกินไปอาจทำให้คุณภาพตก ต้องวัดด้วย Evals ทุกครั้งที่ปรับ
- ราคาเปลี่ยนบ่อย: ตรวจหน้าราคาล่าสุดของผู้ให้บริการก่อนคำนวณงบเสมอ
- Cache ไม่ทำงานถ้าส่วนต้น prompt เปลี่ยน: แม้เปลี่ยนเล็กน้อย เช่น ใส่วันเวลาไว้บนสุด ก็ทำให้ cache ใช้ไม่ได้
Agent ที่ดีไม่ใช่ตัวที่ถูกที่สุด แต่เป็นตัวที่จ่ายเฉพาะ token ที่สร้างคุณค่า
ทำอะไรต่อ
- เก็บสถิติ token input, output และจำนวนรอบของ Agent แต่ละงาน
- แยกงานที่ต้องตอบทันทีออกจากงานที่รอได้
- จัดลำดับ prompt ให้ส่วนคงที่อยู่ต้น แล้วเปิด caching
- ทดลองโมเดลเล็กกับงานย่อยที่ไม่ซับซ้อน
- วัดคุณภาพก่อนและหลังทุกการปรับ
ทักษะคุมต้นทุนและประสิทธิภาพของระบบ AI เป็นทักษะที่ใช้ได้จริงในทีมเทคโนโลยีทุกขนาด ดูตำแหน่งที่เกี่ยวข้องได้ที่ Plants.work Jobs หรือใช้ Resume Lab เล่าผลงานด้านนี้ให้ชัดใน resume