LLM + RAG + Function Calling ไม่ใช่ AI Agent
หลายคนเรียกแอปพลิเคชัน AI ใดๆ ว่าเป็น agent เพียงเพราะเห็น LLM ใช้ RAG และ function calling แล้วก็ใช้คำนี้เรียกทันที
นี่เป็นความเข้าใจที่ผิด
เครื่องมือเหล่านี้ให้ความสามารถ (capability) แต่ไม่ได้ให้ความเป็นอิสระ (autonomy) หากปราศจากความเป็นอิสระ คุณก็ไม่มี agent
คุณต้องแยกแยะระหว่างสิ่งที่ระบบทำได้ กับพฤติกรรมของระบบ
LLM สร้างข้อความจากบริบท แต่มันไม่ได้ควบคุมลำดับขั้นตอน (flow) ของระบบ
RAG ดึงข้อมูลมาเพื่อปรับปรุงคำตอบ แต่มันไม่ได้วางแผนหรือตัดสินใจ
Function calling ช่วยให้โมเดลสามารถร้องขอการกระทำ (action) ได้ แต่ระบบยังคงเป็นผู้ตัดสินใจว่ามีฟังก์ชันใดบ้างและจะรันเมื่อไหร่ โมเดลทำเพียงแค่การร้องขอเท่านั้น
คุณสามารถรวมทั้งสามอย่างเข้าด้วยกัน แต่ก็ยังขาดความเป็น agent อยู่ดี เพราะคุณยังขาดการควบคุมลำดับของการกระทำ (sequence of actions)
แอปพลิเคชันส่วนใหญ่ในปัจจุบันใช้ pipeline ที่กำหนดไว้ล่วงหน้า โดยโค้ดจะเป็นตัวตัดสินใจว่า:
- เมื่อไหร่ควรใช้ RAG
- เมื่อไหร่ควรเรียกใช้ LLM
- เมื่อไหร่ควรเรียกใช้ฟังก์ชัน
- จะประมวลผลผลลัพธ์สุดท้ายอย่างไร
นี่คือเวิร์กโฟลว์ที่มีขอบเขตจำกัด (bounded workflow) โมเดลทำงานภายใต้เส้นทางที่ถูกกำหนดไว้ มันทำตามลำดับขั้นตอนแล้วก็หยุดลง โดยไม่ได้มีการวางแผน
AI agent ทำงานต่างออกไป มันไม่ได้เดินตามเส้นทางที่กำหนดไว้ แต่มันตัดสินใจขั้นตอนถัดไปโดยอิงจากสิ่งที่เกิดขึ้นในระหว่างกระบวนการ
ระบบมาตรฐานจะบอกว่า: จงทำตามเวิร์กโฟลว์นี้ ระบบที่เป็น agent จะบอกว่า: จงบรรลุเป้าหมายนี้
Agent ถูกนิยามด้วยพฤติกรรม ไม่ใช่เครื่องมือ โดย agent จะต้อง:
- ตัดสินใจการกระทำถัดไป
- เลือกใช้เครื่องมือแบบไดนามิก (dynamically)
- ทำซ้ำผ่านหลายขั้นตอน
- เปลี่ยนกลยุทธ์ตามผลลัพธ์ที่ได้
- ดำเนินการต่อไปจนกว่าจะบรรลุเป้าหมาย
ความแตกต่างอยู่ที่เรื่องของความรับผิดชอบ (responsibility)
ในแอปพลิเคชัน LLM ระบบจะเป็นคนบอกโมเดลว่าต้องทำอะไร ใน agent ระบบจะบอกเพียงเป้าหมาย และโมเดลจะเป็นคนตัดสินใจเองว่าจะไปถึงเป้าหมายนั้นได้อย่างไร
RAG ให้บริบท (context) Function calling ช่วยให้เกิดการกระทำ (actions) LLMs ให้การใช้เหตุผล (reasoning)
แต่ agent จะเกิดขึ้นก็ต่อเมื่อโมเดลสามารถควบคุมลำดับการกระทำของตัวเองได้เท่านั้น
Source: https://dev.to/rohith_kn/llm-rag-function-calling-is-not-an-ai-agent-5459
Optional learning community: https://t.me/GyaanSetuAi
