22 คะแนน โดย xguru 2025-04-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • คู่มือเชิงปฏิบัติสำหรับทีมผลิตภัณฑ์และวิศวกรรมที่เริ่มพัฒนา เอเจนต์ (agent) บนพื้นฐาน LLM เป็นครั้งแรก
  • เอเจนต์คือระบบที่สามารถตัดสินใจและลงมือดำเนินการได้ด้วยตนเองแม้ในสถานการณ์ที่ซับซ้อนและคลุมเครือ ต่างจากระบบอัตโนมัติแบบเดิม
  • อธิบายแพตเทิร์นการออกแบบที่หลากหลาย ตั้งแต่ระบบเอเจนต์เดี่ยวไปจนถึงการ orchestration แบบหลายเอเจนต์
  • เน้นการตั้งค่า guardrail และกลยุทธ์ human intervention เพื่อความน่าเชื่อถือและความปลอดภัย
  • แนะนำแนวทางให้เริ่มจากขอบเขตเล็ก ๆ ก่อน แล้วค่อย ๆ ขยายโดยอิงจากฟีดแบ็กของผู้ใช้

เอเจนต์คืออะไร

  • เอเจนต์คือระบบที่ ทำงานแทนผู้ใช้
  • โมเดลที่ตอบกลับเพียงครั้งเดียว เช่น แชตบอตทั่วไปหรือระบบวิเคราะห์อารมณ์ ไม่ถือเป็นเอเจนต์
  • เอเจนต์มีความสามารถหลัก 2 อย่างดังนี้
    • การจัดการการรันเวิร์กโฟลว์และการตัดสินใจ: พิจารณาว่างานเสร็จแล้วหรือยัง แก้ไขข้อผิดพลาด และคืนการควบคุมให้ผู้ใช้เมื่อเกิดความล้มเหลว
    • การใช้เครื่องมือ (tool): โต้ตอบกับระบบภายนอกเพื่อรวบรวมข้อมูลหรือดำเนินการต่าง ๆ

ควรสร้างเอเจนต์เมื่อใด

  • เหมาะกับงานที่วิธีอัตโนมัติแบบดั้งเดิมล้มเหลวหรือดูแลรักษาได้ยาก
  • กรณีที่เหมาะสม
    • การตัดสินใจที่ซับซ้อน: เช่น การอนุมัติคืนเงินลูกค้าที่ต้องอาศัยการพิจารณาอย่างละเอียด
    • ระบบอิงกฎที่ดูแลรักษายาก: เช่น ระบบอัตโนมัติสำหรับการตรวจทานความปลอดภัยที่มีกฎซับซ้อน
    • การจัดการข้อมูลไร้โครงสร้าง: เช่น การวิเคราะห์เอกสาร หรือกรณีที่ต้องการความเข้าใจภาษาธรรมชาติ

องค์ประกอบพื้นฐานของการออกแบบเอเจนต์

  • โมเดล (Model): LLM ที่รับผิดชอบการให้เหตุผลและการตัดสินใจ
  • เครื่องมือ (Tools): ฟังก์ชัน API ที่ใช้โต้ตอบกับระบบภายนอก
  • คำสั่ง (Instructions): ข้อกำหนดที่ชัดเจนซึ่งนิยามพฤติกรรมของเอเจนต์

แนวทางเลือกโมเดล

  • พัฒนาต้นแบบด้วยโมเดลที่มีประสิทธิภาพดีที่สุดก่อน → จากนั้นค่อยลองเปลี่ยนเป็นโมเดลขนาดเล็กลงโดยพิจารณาต้นทุนและ latency
  • กำหนด เกณฑ์ประเมิน (evals) และตรวจสอบความแม่นยำก่อนทำการปรับให้เหมาะสม

วิธีนิยามเครื่องมือ

  • ออกแบบเครื่องมือในรูปแบบมาตรฐานเพื่อเพิ่มการนำกลับมาใช้ซ้ำ
  • ประเภทของเครื่องมือ
    • การดึงข้อมูล: ค้นหา DB, อ่านเอกสาร, ค้นหาเว็บ
    • การลงมือทำ: ส่งอีเมล, อัปเดต CRM
    • Orchestration: เรียกเอเจนต์อื่นมาช่วยแบ่งงาน

แนวปฏิบัติที่ดีในการเขียนคำสั่ง

  • ใช้เอกสารการปฏิบัติงานหรือเอกสารนโยบายเดิมมาช่วยเขียนคำสั่งแบบเป็นขั้นตอนที่ชัดเจน
  • แบ่งงานออกเป็นส่วนย่อยและระบุเป็นหน่วยของการกระทำ (action) ที่เฉพาะเจาะจง
  • ต้องรวมวิธีจัดการข้อผิดพลาดหรือสถานการณ์ยกเว้น (edge case) ไว้เสมอ

แพตเทิร์น orchestration

ระบบเอเจนต์เดี่ยว

  • เอเจนต์หนึ่งตัวจัดการหลายงานผ่านลูปการทำงานซ้ำ (run loop)
  • ใช้ prompt template เพื่อรองรับสถานการณ์ที่หลากหลาย
  • แนะนำให้คงเป็นเอเจนต์เดี่ยวไว้ตราบเท่าที่ความซับซ้อนยังจัดการได้

ระบบหลายเอเจนต์

แพตเทิร์นผู้จัดการ (Manager Pattern)

  • เอเจนต์ผู้จัดการส่วนกลางจะเรียกเอเจนต์ผู้เชี่ยวชาญหลายตัวเสมือนเป็น เครื่องมือ (tool) เพื่อประสานเวิร์กโฟลว์
  • รักษาอินเทอร์เฟซกับผู้ใช้ให้มีความสม่ำเสมอ

แพตเทิร์นกระจายศูนย์ (Decentralized Pattern)

  • เอเจนต์จะ handoff การควบคุมให้กันและกัน
  • เอเจนต์ที่มีความเชี่ยวชาญเฉพาะด้านจะเข้ามาถือการควบคุมในจังหวะที่จำเป็น
  • เหมาะกับงาน triage แบบเรียบง่ายในระยะแรก

Guardrails

วัตถุประสงค์

  • ปกป้องความเป็นส่วนตัวของข้อมูลและป้องกันการใช้ระบบในทางที่ผิด
  • รักษาความสอดคล้องของแบรนด์และป้องกันการตอบกลับที่ไม่เหมาะสม

ประเภทหลัก

  • การกรองความเกี่ยวข้อง: บล็อกอินพุตที่ไม่เกี่ยวกับหัวข้อ
  • การกรองความปลอดภัย: ตรวจจับความพยายาม jailbreak ระบบ
  • ตัวกรองข้อมูลส่วนบุคคล (PII): ป้องกันการเปิดเผยข้อมูลอ่อนไหว
  • การกลั่นกรอง (Moderation): บล็อกความรุนแรงและคำพูดแสดงความเกลียดชัง
  • การจัดการความเสี่ยงของเครื่องมือ: เพิ่มการตรวจสอบเมื่อมีการเรียกใช้เครื่องมือความเสี่ยงสูง

กลยุทธ์การสร้าง

  • ให้ความสำคัญสูงสุดกับความเป็นส่วนตัวของข้อมูลและความปลอดภัยของเนื้อหา
  • เพิ่มมาตรการอย่างต่อเนื่องตามความเสี่ยงใหม่ที่พบระหว่างการใช้งานจริง
  • รักษาสมดุลระหว่างความปลอดภัยกับประสบการณ์ผู้ใช้

Human-in-the-loop

  • ส่งมอบการควบคุมให้มนุษย์เมื่อเอเจนต์ล้มเหลวหรือเมื่อต้องจัดการงานที่มีความเสี่ยงสูง
  • ตัวกระตุ้นที่พบบ่อย
    • เกินเกณฑ์ความล้มเหลวที่กำหนด
    • มีการร้องของานที่อ่อนไหวสูง เช่น การคืนเงินหรือการชำระเงิน

บทสรุป

  • เอเจนต์คือระบบนวัตกรรมที่สามารถ ทำให้เวิร์กโฟลว์เป็นอัตโนมัติ ได้ในสถานการณ์ที่ซับซ้อนและไม่แน่นอน
  • ควรมีโครงสร้าง โมเดล-เครื่องมือ-คำสั่ง ที่แข็งแรง และค่อย ๆ ขยาย orchestration อย่างเป็นลำดับ
  • ต้องสร้างระบบ guardrail และ human intervention อย่างเป็นสิ่งจำเป็นเพื่อให้ได้ทั้งความปลอดภัยและความน่าเชื่อถือ
  • การเริ่มจากเล็ก ๆ ตรวจสอบให้เร็ว และค่อย ๆ ขยายความสามารถ คือหัวใจของการนำไปใช้งานให้สำเร็จ

1 ความคิดเห็น

 
bluekai17 2025-05-02

https://notebooklm.google.com/notebook/…

ลองทำด้วย NotebookLM ครับ