การสร้าง Production Agent Loop
การสร้างเอเจนต์สำหรับเดโม (demo) นั้นง่าย แต่การสร้างเอเจนต์สำหรับโปรดักชัน (production) นั้นยาก
ในเดโม ลูปการทำงานจะเรียบง่าย: สังเกต, ตัดสินใจ, ลงมือทำ, ตรวจสอบ, ทำซ้ำ โมเดลจะเห็นผลลัพธ์แล้วข้ามไปยังขั้นตอนถัดไปทันที
ในระดับโปรดักชัน ลูปแบบเดียวกันนี้จำเป็นต้องมีกฎที่เข้มงวด เอเจนต์ในระดับโปรดักชันไม่ใช่แค่โมเดลและเครื่องมือบางอย่าง แต่มันคือลูปที่ถูกห่อหุ้มด้วยโครงสร้างเพื่อให้ทำงานได้อย่างถูกต้องแม่นยำ
กับดักที่ใหญ่ที่สุดคือการเชื่อใจผลลัพธ์จากเครื่องมือ (tool responses)
ลองจินตนาการว่าเอเจนต์จำเป็นต้องยกเลิกคำสั่งซื้อและคืนเงิน
- เอเจนต์เรียกใช้
cancel_order - เครื่องมือส่งค่ากลับมาเป็น
200 OK - เอเจนต์เรียกใช้
issue_refundทันที
ในเดโม วิธีนี้ใช้งานได้ แต่ในระดับโปรดักชัน นี่คือหายนะ
200 OK มักหมายถึงคำขอได้รับการตอบรับแล้ว ไม่ใช่ว่างานนั้นเสร็จสิ้นแล้ว การยกเลิกอาจจะยังค้างอยู่ในคิว (queue) หากเอเจนต์ทำการคืนเงินก่อนที่การยกเลิกจะได้รับการยืนยัน คุณกำลังเคลื่อนย้ายเงินโดยอาศัยเพียงการคาดเดา
คุณต้องปฏิบัติตามกฎเพียงข้อเดียว: ผลลัพธ์จากเครื่องมืออธิบายถึง "คำขอ" ไม่ใช่ "สถานะความเป็นจริงของโลก"
ในการสร้างลูปโปรดักชันที่ปลอดภัย คุณต้องมีองค์ประกอบเหล่านี้:
• Tool Contracts: เครื่องมือทุกชนิดต้องกำหนด input, output, รูปแบบความล้มเหลว (failure modes) และ idempotency key ให้ชัดเจน • Verification Gates: อย่าตรวจสอบแค่ว่าเครื่องมือส่งรหัสความสำเร็จกลับมาหรือไม่ แต่ต้องอ่านสถานะความเป็นจริงของโลกอีกครั้งเพื่อยืนยันว่าการเปลี่ยนแปลงนั้นเกิดขึ้นจริง • Working State: แยกข้อเท็จจริงออกจากประวัติการแชท เพื่อป้องกันไม่ให้เอเจนต์เกิดอาการหลอน (hallucinating) โดยอ้างอิงจากข้อความในบทสนทนา • Approval Gates: ใช้มนุษย์ในการอนุมัติเจตนาสำหรับการดำเนินการที่มีความเสี่ยงสูง • Stop Rules: กำหนดขีดจำกัดของจำนวนขั้นตอน, ค่าใช้จ่าย, เวลา และการหยุดนิ่ง เพื่อป้องกันลูปที่ทำงานไม่สิ้นสุด (runaway loops)
โครงสร้างของลูปไม่ได้เปลี่ยนไป แต่การนำไปใช้งานจริงจะเข้มงวดขึ้น
สำหรับการดำเนินการที่มีผลกระทบสำคัญ ขั้นตอน "ตรวจสอบ" (check) ของคุณต้องมีสองส่วน:
- Verify: โลกเปลี่ยนไปตามที่คาดหวังไว้จริงหรือไม่?
- Commit: เมื่อได้รับการยืนยันแล้ว ปลอดภัยหรือไม่ที่จะดำเนินการในขั้นตอนถัดไป?
เอเจนต์ที่ปลอดภัยที่สุดคือเอเจนต์ที่มีขอบเขตชัดเจนที่สุด ความน่าเชื่อถือเกิดจากการกำหนดขอบเขตที่ชัดเจนให้กับโมเดล ไม่ใช่การมอบอิสระให้มันมากขึ้น
Source: https://dev.to/gursharansingh/ai-agents-in-practice-part-6-building-the-production-agent-loop-2lfi
Optional learning community: https://t.me/GyaanSetuAi