เห็น link ของ whitepaper เรื่อง Agents จาก twiiter
ทำการอธิบายเรื่องของ AI Agents ไว้ ประกอบไปด้วย

  • ความรู้ฐานของ AI Agents
  • แตกต่างจาก AI models อย่างไร
  • บทบาทของเครื่องมือต่าง ๆ ใน Agents
  • การปรับปรุง performance ของการเรียนรู้ในเรื่องต่าง ๆ
  • ตัวอย่างการพัฒนา Agents ด้วย Langchain

ซึ่งเป็นพื้นฐานของการเรียนรู้เรื่องนี้มาก ๆ
จึงทำการจดบันทึกไว้นิดหน่อย

รูปแสดง Architecture ของ Agent และ component พื้นฐาน

ประกอบไปด้วย

  • Orchestration เป็นตัวกลางในการจัดการระบบงาน ทั้ง profiling, ขั้นตอนการทำงาน, instruction หรือ prompt engineer technique, memory ในการจดจำ และการเลือกใช้ model ตาม use case
  • Model (Language Model) ​ซึ่งสามารถมีได้มากกว่า 1 model
  • Tools เป็นส่วนที่ทำการติดต่อไปยัง external system เพื่อทำงานหนึ่ง ๆ ตามที่ต้องการ ช่วยให้ agent ทำงานได้หลากหลาย มีข้อมูลหรือความรู้ที่มาก และ ถูกต้อง หรือ up-to-date มากยิ่งขึ้น

มีการพูดถึง Prompt engineer technique ต่าง ๆ ดังนี้

  • ReAct
  • Chain of Thought (CoT)
  • Tree of Thought (ToT)

ในเอกสารทำการอธิบายและบอกถึงการปรับปรุง performance ของการทำงานที่น่าสนใจ
ซึ่งขึ้นอยู่กับ reason, act และ การเลือก tool ที่เหมาะสม
รวมทั้งเรื่องของข้อมูลที่ถูกต้องจะช่วยได้เยอะมาก ๆ

อีกส่วนที่สำคัญคือ Tools นั้นเอง

ทำการเชื่อมต่อไปยังระบบอื่น ๆ ที่จำเป็นต่อการทำงานของ Agents นั้น ๆ
โดยแยกออกเป็น 3 ชนิด คือ

  • Extension หรือ ส่วนขยายของระบบ เช่น การดึงข้อมูลผ่าน API
  • Function คือส่วนการทำงานเฉพาะเจาะจงไปเลย เป็น module ที่ใช้ในการ reuse ต่อไป เป็นส่วนการทำงานก่อนหรือหลัง ต่อจาก Extension เพื่อจัดการข้อมูลต่าง ๆ ที่ได้รับ หรือ จัดการเรื่องของ security ต่าง ๆ
  • Data store เป็นที่จัดเก็บข้อมูล หรือ knowledge ของระบบงาน ช่วยให้ Agent จัดการกับข้อมูลที่ up-to-date อยู่อย่างเสมอ ซึ่งสามารถทำได้ทั้ง CRUD (Create-Read-Update-Delete) ซึ่งเป็นส่วนหนึ่งที่อยู่ใน RAG (Retrieval Augmented Generation) นั่นเอง ในส่วนนี้จะรองรับโครงสร้างข้อมูลทั้ง structure, unstructure และ semi-structure จากนั้นทำการจัดเก็บใน Vector database ต่อไป

ลองอ่านเพิ่มเติมดูครับ
มี code ตัวอย่างให้ลองนำไปทดลองกันดูได้ครับ
เป็นอีกหนึ่งเอกสารที่น่าสนใจ

ตัวอย่างของระบบที่ให้มาก็เข้าใจง่ายดี

ปล. แต่ตัวอย่าง code ใช้ Langchain 0.2 นะครับ
ดังนั้นถ้าใช้ version ล่าสุดก็ต้องปรับพอสมควร !!