Beyond Sandboxes: การสร้าง AI Agent ที่มีความทนทาน (Durable)
Sandbox เพียงอย่างเดียวไม่เพียงพอสำหรับ AI Agent ในระดับโปรดักชัน
นักพัฒนาส่วนใหญ่สร้าง Agent เป็นเพียงลูปง่ายๆ ในหน่วยความจำ (memory) โดยที่ LLM จะสังเกต ตัดสินใจ ลงมือทำ และทำซ้ำไปเรื่อยๆ วิธีนี้อาจใช้ได้ผลในห้องแล็บ แต่จะล้มเหลวเมื่อนำมาใช้ในโลกแห่งความเป็นจริง
ทำไมการทำงานแบบลูปในหน่วยความจำถึงล้มเหลว?
- งานที่ใช้เวลานาน: หาก Agent ต้องใช้เวลาหลายวันในการทำงานให้เสร็จ หรือต้องรอให้มนุษย์อนุมัติงาน การเปิดกระบวนการ (process) ทิ้งไว้จะสิ้นเปลือง CPU และหน่วยความจำ
- ไม่มีการกู้คืนเมื่อระบบล่ม: หากระบบล่มหรือการเชื่อมต่อเครือข่ายขาดหาย คุณจะสูญเสียสถานะ (state) ทั้งหมด และไม่สามารถกลับมาทำงานต่อจากจุดเดิมได้
- ความซับซ้อน: การทำให้ Agent หลายตัวสื่อสารกันนั้นทำได้ยาก หากไม่มีการเขียนโค้ดเพิ่มเติมจำนวนมหาศาล
Virein Baraiya, CTO ของ Orkes เสนอแนวทางที่ดีกว่า นั่นคือการแยกส่วนความรับผิดชอบ (Separate your concerns)
ใช้ Sandbox เฉพาะสำหรับการลงมือทำ (actions) เท่านั้น เช่น ใช้ Sandbox เพื่อรันโค้ดของเครื่องมือ (tool code) ที่มีความเสี่ยงได้อย่างปลอดภัย
ใช้ Durable Runtime สำหรับการใช้เหตุผล (reasoning) โดยให้ LLM เป็นผู้กำหนดแผนงาน และให้ระบบ Runtime เป็นผู้จัดการเรื่องการดำเนินการ (execution) และสถานะ (state)
เขาได้แนะนำเครื่องมือสองอย่างเพื่อแก้ปัญหานี้:
- Netflix Conductor นี่คือ Workflow Engine ที่ทำหน้าที่เหมือนสมุดบัญชี (ledger) โดยจะบันทึกทุกการเรียกใช้ LLM และทุกการใช้เครื่องมือลงในฐานข้อมูล
- รองรับการหยุดพักตามความต้องการ (on-demand suspension) หาก Agent ต้องรอการอนุมัติจากมนุษย์ ระบบจะหยุดพัก Workflow และคืนหน่วยความจำทั้งหมด
- สามารถกลับมาทำงานต่อเพื่อทำให้เสร็จสิ้นได้แม้เวลาจะผ่านไปหลายเดือน
- Agent Span นี่คือ Runtime ที่สร้างขึ้นบน Conductor โดยทำหน้าที่เป็นตัวแปลภาษา (translator)
- คุณสามารถใช้เครื่องมือที่มีอยู่แล้วได้ เช่น LangGraph หรือ OpenAI SDK
- Agent Span จะแปลงโค้ด Agent ของคุณให้กลายเป็น Durable Workflows โดยที่คุณไม่ต้องเขียน Business Logic ใหม่
สถาปัตยกรรมนี้มอบข้อดีหลัก 3 ประการ:
- Guardrails: ตัว Framework จะเป็นผู้ควบคุมกฎเกณฑ์ ไม่ใช่ LLM ซึ่งช่วยป้องกันไม่ให้การหลอน (hallucinations) ก่อให้เกิดความเสียหาย
- การตรวจสอบที่สมบูรณ์ (Full Audit): คุณสามารถตรวจสอบย้อนหลังได้ว่าทำไม Agent ถึงตัดสินใจเช่นนั้น แม้เวลาจะผ่านไปหลายเดือนแล้วก็ตาม และคุณยังสามารถเล่นซ้ำ (replay) กระบวนการนั้นได้ด้วย
- การทดสอบที่ดีขึ้น: คุณสามารถลองเปลี่ยนผลลัพธ์ของ LLM เพียงจุดเดียว เพื่อดูว่าส่วนที่เหลือของระบบจะมีปฏิกิริยาอย่างไร
คำแนะนำสุดท้ายสำหรับนักพัฒนา: ให้โฟกัสที่บริบททางธุรกิจ (business context) เพราะโมเดลเปลี่ยนได้ Framework เปลี่ยนได้ แต่รูปแบบเฉพาะที่ธุรกิจของคุณใช้ในการดำเนินงานคือปราการสำคัญ (moat) ที่แท้จริงของคุณ
Source: https://dev.to/cognitalk/chao-yue-sha-xiang-wei-ai-agent-gou-jian-chi-jiu-hua-yun-xing-shi-2i9i
Optional learning community: https://t.me/GyaanSetuAi
