สวัสดีครับเพื่อนๆ
หลังจากที่บทความแรก เราได้นำเกริ่นถึงความน่าสนใจของตัว AI Agent รวมถึงวิธีการมีส่วนร่วมกับ AI Agent ผ่านการใช้งาน application ต่างๆไปแล้ว
ในบทความนี้เราจะมาเจาะลึกกันมากขึ้นเกี่ยวกับวิธีการ implement ตัว AI Agent ในรูปแบบต่างๆ รวมถึงมาศึกษาตัวอย่าง product เกี่ยวกับ AI Agents ที่น่าสนใจและมีการใช้งานจริงแล้วในปี 2024 ที่ผ่านมาครับ
บทความ AI Agent Series
ก่อนอื่นเรามาทบทวนนิยามของ AI Agent กันอีกครั้ง โดยในครั้งที่แล้ว เราได้นำเสนอนิยามของคำว่า AI Agent ที่ CEO ของ LangChain เป็นคนให้ไว้ แต่ในวันนี้เราจะเพิ่มนิยามของคำว่า Agentic AI และมาพูดคุยเกี่ยวกับความแตกต่างระหว่างคำว่า AI Agent และ Agentic AI จากบทความของ Anthropic และ OpenAI ซึ่งเป็นผู้ให้บริการ AI เจ้าใหญ่ทั้งสองเจ้า
หมายเหตุ: บทความนี้ให้ Agentic AI = Agentic AI System = Agentic System
Anthropic ได้จำแนก architecture ของระบบ Agentic AI ไว้หลักๆ 2 ประเภทคือ Workflows และ Agents โดยที่
Workflows: เป็นระบบที่ LLMs และ tools ทำงานร่วมกันผ่าน code path (หรือในบทความแรกเรียก control flow) ที่กำหนดไว้แล้ว
Agents: เป็นระบบที่ LLMs จะเป็นผู้กำหนด processes และการใช้งาน tools ต่างๆด้วยตัวเองในการทำ tasks ต่างๆ
ทางฝั่ง OpenAI ได้ให้คำนิยามถึงความเป็น Agentic AI ในปี 2023 ผ่าน degree of agenticness หรืออาจแปลเป็นภาษาไทยว่า “ระดับของความเป็น agent“ ตรงที่ระบบที่มีความเป็น agentic นั้นจะมีความสามารถในการปรับตัว [Adaptability] เพื่อที่จะบรรลุเป้าหมายที่มีความซับซ้อน [Goal Complexity] ให้สำเร็จได้แม้ในสภาพแวดล้อมที่ซับซ้อน [Environmental complexity] (จะอธิบายให้เห็นภาพถึงการที่สภาพแวดล้อมในส่วนถัดๆไป) โดยที่ไม่มีความจำเป็นต้องได้รับคำสั่ง [Independent execution] เป็นจำนวนมากได้ โดยที่
Goal complexity, ความซับซ้อนของเป้าหมาย: จะพิจารณาว่าเป้าหมายที่ AI ได้รับมานั้น มีความยากที่มนุษย์สามารถจะทำได้แค่ไหนรวมถึงความกว้างของเป้าหมายที่ระบบสามารถสำเร็จได้ ซึ่งความซับซ้อนของเป้าหมายอาจรวมเรื่องของความน่าเชื่อถือ, ความรวดเร็ว และ ความปลอดภัยที่จะไปถึงเป้าหมาย ตัวอย่าง: ให้นึกภาพถึง AI ที่สามารถตอบคำถามของผู้ใช้งานทั้งเรื่อง programming และในเรื่องกฏหมายได้ จะมีความซับซ้อนของเป้าหมายที่มากกว่าตัว text classifier ที่มีความสามารถแค่จำแนกว่าข้อมูลมี่ได้รับมานั้น เป็นเรื่องที่เกี่ยวกับกฏหมายหรือ programming
Environmental complexity, ความซับซ้อนของสภาพแวดล้อม: ตัวอย่าง: ให้นึกภาพถึง AI ที่สามารถเล่นบอร์ดเกมได้หลากหลายและเก่งกาจ AI ตัวนี้จะมีความซับซ้อนในเชิงสภาพแวดล้อมมากกว่า AI ที่เล่นหมากรุกเป็นเพียงอย่างเดียว
Adaptability, ระดับการปรับตัว: ตัวอย่าง: สามารถนึกภาพระบบ customer service ที่มนุษย์จะมีความสามารถในการปรับตัวต่อสถานการณ์เฉพาะหน้ารวมถึงคำขอร้องใหม่ๆจากลูกค้ามากกว่าระบบ customer service ที่ถูกเซ็ตมาแบบ rule-based
Independent execution, การดำเนินการอย่างอิสระ: ตัวอย่าง: สามารถนึกถึงรถยนต์แบบขับได้อัตโนมัติ ที่ทำงานโดยไม่จำเป็นต้องมีมนุษย์มาเกี่ยวข้องได้ จึงอาจะเรียกได้ว่ามีความสามารถที่จะดำเนินการได้อย่างอิสระมากกว่ารถยนต์ปกติที่ต้องการมนุษย์หลังพวงมาลัย และทาง OpenAI จะนิยามระบบ Agentic AI ว่าเป็นระบบที่แสดงถึงความเป็น agentic มากๆ
ในปัจจุบันที่ผู้เขียนกำลังเขียนบทความนี้อยู่ ผู้เขียนก็ค่อนข้างเห็นตรงกับทาง OpenAI ที่ได้แสดงความคิดเห็นเกี่ยวกับ Agentic AI ในบทความปี 2023 ว่าความเป็น agentic นั้นเป็น concept ที่แตกต่างกับเรื่องของความเป็นมนุษย์โดยสิ้นเชิง เช่น การที่ AI มีจิตสำนึก, ระลึกถึงศีลธรรม หรือในเรื่องของแรงจูงใจที่เลือกจะทำสิ่งต่างๆด้วยตนเอง
โดย OpenAI เน้นย้ำว่า Agentic AI นั้นเป็นเพียงระบบที่ถูกสร้างมาเพื่อทำงานให้ได้ตามเป้าหมายและสิ่งแวดล้อมที่กำหนดไว้โดยมนุษย์ ยังไม่ใช่ระบบอัตโนมัติที่สามารถตั้งเป้าหมายได้ด้วยตัวเอง อีกทั้ง ความเป็น agentic ยังเป็นคนละประเด็นกับระดับความสามารถในการแก้ไขปัญหาเฉพาะด้านหรือความสามารถโดยทั่วไปของ AI ถึงแม้ว่าการพัฒนาศักยภาพในสิ่งเหล่านี้ อาจปลดล็อคความสามารถของระบบในการทำงานแบบ agentic ได้ในบางกรณีก็ตาม
โดยปัจจุบัน ผู้เขียนมองว่า AI Agent คือหนึ่งหน่วย AI ที่สามารถทำงานบน task scope เล็กๆได้อย่างมีอิสระและมีประสิทธิภาพ แต่ในส่วนของ Agentic AI ผู้เขียนมองเป็นระบบที่อาจมี AI หลายๆหน่วยมาช่วยกันทำงานเพื่อเพิ่มขอบเขตของการสามารถทำงานบน task ที่มีความซับซ้อนได้มากกว่า AI Agent
ทาง Anthropic ได้แนะนำวิธีสร้าง applications ด้วย LLMs อย่างมีประสิทธิภาพ โดยให้เริ่มจาก solution ที่ง่ายที่สุด จากนั้นจึงเพิ่มความซับซ้อนในยามที่จำเป็น ซึ่งหมายถึงการที่ application นั้นอาจไม่จำเป็นต้องมีระบบ Agentic System เลยก็ได้
โดยทาง Anthropic แนะนำให้พิจารณา tradeoff ระหว่างการมี latency และ cost ที่มากขึ้นว่าคุ้มค่าที่จะแลกประสิทธิภาพที่มากขึ้นของระบบหรือไม่ โดยให้ความเห็นว่าการ optimize LLM call + retrieval + in-context examples นั้นค่อนข้างที่จะเพียงพอแล้ว
ถึงแม้ว่าในปัจจุบันทางฝั่ง Web3 เราก็มี Agent Frameworks หลายตัวให้ทดลองใช้แล้ว เช่น ELIZA แต่ผู้เขียนก็ยังไม่ให้ความสนใจเท่าไหร่ และเมื่อถึงเวลาอันสมควรจะขอนำมาเขียนในบทความถัดๆไป
แต่สำหรับผู้ที่สนใจ implement ระบบ Agentic AI แบบจริงจัง ทาง Anthropic กล่าวว่าระบบ Agentic System ที่ประสบความสำเร็จนั้น ส่วนมากเริ่มจากความเรียบง่ายและไม่ซับซ้อน ทำให้ผู้เขียนคิดว่าบทความของ Anthropic นั้นเป็นจุดเริ่มต้นที่ดีมากๆสำหรับผู้ที่ต้องการทดลอง implement ระบบ Agentic System ขึ้นมา เพราะทาง Anthropic ให้ solution ที่เข้าใจง่ายและไม่ซับซ้อน
โดยทาง Anthropic แนะนำ framework หลักๆสำหรับการพัฒนาระบบ Agentic System ได้แก่
LangGraph จาก LangChain
AI Agent framework จาก Amazon Bedrock
Rivet, drag and drop GUI LLM workflow builder
Vellum, GUI tool สำหรับสร้างและทดสอบ workflow ที่มีความซับซ้อน
และแนะนำให้เริ่มจากการใช้งาน LLM API (ถึงแม้ว่าทาง Anthropic จะได้เงินจากการใช้งาน API แต่ผู้เขียนเองก็เห็นด้วยว่าการใช้งาน AI ผ่าน API นั้นสะดวกกว่าจริงๆ) ก่อนอื่น เรามาทำความรู้จักกับหน่วยที่เป็นรากฐานสำหรับการสร้าง Agentic System กันนั่นคือ Augmented LLM
Augmented LLM: เป็นหน่วยพื้นฐานที่สุดสำหรับการสร้างระบบ Agentic นั่นคือ LLM ที่มี retrieval, tools และ memory โดย LLM สามารถที่จะดึงข้อมูลผ่าน retrieval, ใช้งานเครื่องมือต่างๆ รวมถึงเก็บความทรงจำส่วนที่สำคัญจากการใช้งาน
โดยถัดจากนี้ เราจะให้ LLM = Augmented LLM และเราจะพูดถึงวิธีต่างๆที่สามารถ implement ตัวระบบ Agent กันครับ
1. Prompt Chaining: เป็นวิธีการ implement ในรูปแบบของขั้นตอนการกระทำต่างๆที่เป็นไปตามลำดับ ซึ่งจะเหมาะสำหรับ task ที่สามารถแตกออกมาเป็น subtasks ที่สามารถกำหนดเป็นลำดับได้
ตัวอย่าง: เช่นการเขียนเอกสารต่างๆ โดยขั้นตอนแรกจะเริ่มจากการเขียน outline จากนั้นขั้นตอนต่อไปจึงนำ outline ที่ได้มาตรวจสอบว่าตรงตามเงื่อนไขที่กำหนดไว้แต่แรกหรือไม่ จากนั้นจึงให้ LLM เขียนเอกสารออกมาตาม outline ที่ได้รับมา
2. Routing: จะมีตัว Router ที่อาจเป็น LLM หรือ traditional classification model ก็ได้ ทำหน้าที่เป็นคนตัดสินใจในการส่ง task ไปให้กับ LLM ที่ชำนาญใน task นั้นๆ โดยการทำ Routing จะเหมาะกับกลุ่ม tasks ที่มีความซับซ้อนและแต่ละ task ในกลุ่มจะมี category ของงานที่แตกต่างกัน
ตัวอย่าง: สามารถนึกถึงระบบ customer service เมื่อได้รับคำขอจากลูกค้าแล้วระบบจะต้องมีการพิจารณาว่าคำขอของลูกค้านั้นเกี่ยวข้องกับเรื่องอะไร เช่น เรื่องทั่วไป, เรื่องการขอ refund หรือต้องการ support ในเชิง technical
3. Parallelization: เทคนิคนี้จะเป็นการใช้งาน LLMs ทำงานกันแบบคู่ขนาน ซึ่งสามารถทำได้ทั้งในเชิงของการแตก task เป็น subtasks ขนานกันเพื่อการทำงานที่รวดเร็วยิ่งขึ้น (sectioning) หรือการใช้งาน LLMs กับแบบคู่ขนานแทนการใช้งานเรื่องเดียวกันหลายๆครั้งเพื่อนำผลลัพธ์ทั้งหมดที่ได้มาใช้สรุปผล (voting)
ตัวอย่าง: ตัวอย่างแรกจะเป็นการทำ guardrails ที่มากกว่าหนึ่งตัวซึ่งการ implement guardrails แบบคู่ขนานจะทำให้ระบบนั้นทำงานได้ดีกว่าการรวมหลายๆ guardrails มาใช้งานใน LLM call เพียงครั้งเดียว ตัวอย่างถัดไปสามารถนำ LLMs มาช่วยกันตรวจสอบโค้ดเพื่อที่จะสรุปผล เป็นการ balance false positives และ false negatives
4. Orchestrator-Workers: ในการทำงานแบบ Orchestor-Workers นั้นจะมี Orchestrator ในการทำหน้าที่แตก task เป็น subtasks ไปให้กับ Workers ที่เป็น LLMs ทำงาน โดยส่วนมากงานที่ต้องใช้เทคนิคนี้จะมีความซับซ้อนและไม่สามารถคาดเดา subtasks ที่ต้องการได้
ตัวอย่าง: งานเขียนโค้ดที่อาจมีการแก้ไข,เพิ่มลดหลายๆไฟล์พร้อมๆกัน และแตกต่างกันไปในการแก้แต่ละครั้ง ซึ่งเป็นการทำงานที่ซับซ้อนไม่สามารถคาดเดาได้
5. Evaluator Optimizer: เทคนิคนี้จะมีการนำ LLM มาทำหน้าที่เป็น Evaluator โดยที่มนุษย์สามารถเป็นผู้ให้ feedback ผ่าน Evaluator ได้เพื่อที่ Evaluator จะนำ feedback ส่งกลับไปยังตัว LLM ที่ทำหน้าที่หลัก (Generator) ให้ทำงานได้ตรงตามเกณฑ์ที่วางไว้มากขึ้น โดยการใช้เทคนิคนี้จะมีประสิทธิภาพมาก หากมีเกณฑ์การวัดผลที่ชัดเจน และการทำ loop feedback นั้นเกิดผลลัพธ์ที่ดีขึ้นอย่างเห็นได้ชัด
ตัวอย่าง: การทำ research ข้อมูลผ่าน website ที่อาจต้อง seach ข้อมูลซ้ำหลายๆครั้งรวมถึงมีการประเมินว่าข้อมูลที่ได้รับมานั้นเพียงพอแล้วต่อการนำไปใช้วิเคราะห์หรือเขียนบทความแล้ว
หมายเหตุ: สังเกตุว่า implementation รูปแบบต่างๆที่นำเสนอไปด้านบน มีลักษณะเป็น Workflow ทั้งหมด
6. AI Agent: สิ่งที่ทำให้ (AI) Agent แตกต่างจาก LLM คือการที่ Agent มีการทำ planning และ reasoning ภายในตัว ทำให้สามารถจัดการปัญหายากๆ รวมถึงแก้ไขข้อผิดพลาดที่เกิดขึ้นได้ด้วยตัวเอง โดย Agent มักถูก implement ในรูปแบบของ LLM ที่ใช้งาน tool(s) ได้และมี feedback loop จากสภาพแวดล้อม (เช่นข้อมูลการใช้ tool ของ Agents)
Agent มักถูกใช้งานกับการแก้ปัญหาปลายเปิดที่อาจมีการทำงานหลายขั้นตอนรวมทั้งไม่สามารถกำหนดขั้นตอนการทำงานที่ชัดเจนได้ ซึ่งทาง Anthorpic แนะนำว่าการใช้งาน Agent จะต้องมีความเชื่อในการตัดสินใจของ Agent อยู่พอสมควร ควรมีการทดสอบก่อนใช้งานจริงๆหลายๆรอบ รวมถึงการ implement ตัว Guadrails ที่เหมาะสมให้กับ Agent
Multi-Agent Orchestration
ในหมวดของ AI Agent/Agentic System จะมีอีกหนึ่งคำศัพท์นึงที่ผู้เขียนคิดว่าควรแนะนำผู้อ่านได้รู้จัก นั่นคือคำว่า Multi-Agent Orchestration หรือการทำงานประสานงานร่วมกันระหว่าง Agents
ผู้เขียนจำแนกความแตกต่างระหว่าง Agent System ต่างๆที่พึ่งกล่าวถึงไปด้านบนรวมถึง Orchestrator-Workers กับการทำงานประสานของ Agents ตรงที่ Multi-Agent Orchestration นั้นจะเน้นการทำงานของ Agent ร่วมกันเป็นหลัก ทำให้ระบบดังกล่าวมีความซับซ้อนมากยิ่งขึ้นและมากกว่าระบบ Agent ที่ได้นำเสนอไป แต่เทคนิคที่เราได้นำเสนอไปสามารถนำมาใช้สร้างระบบ Agent แบบ Orchestration ได้เช่นกัน (ผู้เขียนอาจมองว่าเทคนิคที่เราได้นำเสนอไปนั้น อยู่ในกลุ่ม Custom แบบเบสิกของ Multi-Agent Orchestration ในอนาคตผู้เขียนคาดว่าเราจะได้เห็นเส้นแบ่งระหว่างคำต่างๆได้ชัดเจนยิ่งขึ้น)
เช่น การสร้างระบบแบบ Supervisor ที่ทางผู้อ่านสามารถนึกถึงการทำงานในรูปแบบของทีมได้ โดยมีหัวหน้าเป็นผู้สั่งและกระจายงาน และลูกน้องที่มีความสามารถเฉพาะด้าน รอรับคำสั่งและทำงานที่ได้รับมอบหมายให้สำเร็จดี ทีนี้ให้ลองนึกภาพของ AI Agent แทนมนุษย์ โดยเราสามารถเรียกแทนหัวหน้าว่า Supervisor Agents และลูกทีมว่า Specialist Agents ได้ และเราสามารถ implement Supervisor (Agents) ได้โดยการใช้ Router ทำหน้าที่ในการส่งงานต่อให้ Specialist (Agent) ที่มีทักษะตรงตาม task ที่ได้รับมอบหมายมากที่สุด เมื่อ Specialist เสร็จงานแล้วจะถูกบังคับให้ส่งตัวงานกลับมาที่ Supervisor เพื่อพิจารณาว่าเนื้องานที่ทำมามีความถูกต้องแล้วหรือไม่ก่อนที่ทาง Supervisor จะส่งต่อ task นั้นให้กับ Specialist ท่านอื่นๆ หรือพิจารณาจบ task ที่ได้รับมา ซึ่งวิธี implementation รูปแบบ Supervisor นั้นก็ถูกนำมาใช้ในบทความของ McKinsey ด้วย
ผู้เขียนพึ่งอ่านบทความจาก McKinsey จบแล้วพบข้อมูลที่น่าสนใจว่าในปัจจุบันเราเริ่มที่จะเห็น AI เข้ามามีบทบาทในทุกขั้นตอนของ SDLC (Software Development Life Cycle)
จึงทำให้ในบทความของผู้เขียนในบทบาท Web2 จึงเลือกอธิบาย Replit ซึ่งเป็นผลิตภัณฑ์ Agentic AI สำหรับพัฒนา software โดยเป็นผลิตภัณฑ์อันดับที่ 1 ในหมวด Agentic System ที่ implement ผ่าน LangGraph และขึ้น production แล้วในปี 2024 ที่ผ่านมา
สำหรับเพื่อนๆชาว Web3 ผู้เขียนมีอีก product ที่คิดว่าน่าสนใจและขอนำมาแชร์เพื่อให้เพื่อนๆได้รู้จักกันนั่นคือ Edge AI Oracle จาก Chaos Labs ครับซึ่ง implement โดย LangGraph เช่นกัน โดย Chaos เป็นโปรเจค AI Blockchain ฝั่ง Risk ที่ Coinbase Ventures ให้ความสนใจ (อ้างอิง) และเคยมา Devcon ที่ไทยจัดงานกับ SCB10X ด้วย Chaos จึงเป็นอีกโปรเจค AI ที่ผู้เขียนคิดว่าควรศึกษาไว้
โดยปัจจุบัน Edge AI Oracle จะยังอยู่ในช่วง Alpha Release ทำให้ทาง AI นั้นถูกจำกัดการทำงานไว้ใช้กับ Prediction Market (ดูคลิปด้านบนประกอบ) โดยในระบบ Edge AI Oracle จะมี AI Oracle Council หรือเหล่า AI จากผู้ให้บริการต่างๆ ตอบคำถามจากผู้ใช้งาน เป็นการเพิ่มมุมมองคำตอบและเป็นการลด bias ไปในตัว (ผ่านการใช้เทคนิค Parallelization)
โดยภาพในระบบ Edge AI Oracle จะมี Workflow คร่าวๆตามรูปด้านล่าง (Chaining)
สำหรับใช้หาข้อมูลในฐานะ truth-seeking oracle โดยสังเกตว่าทาง Chaos เลือกใช้วิธี Web Crawling ในการหาข้อมูลหรือมีการ fix แหล่งข้อมูลไว้เบื้องต้นแล้วตามรูปด้านล่าง (จากที่ผู้เขียนศึกษา AI Agents มา ทางผู้ให้บริการ Web Search API เองก็ทำ Web Search Agent โดยเริ่มต้นจากการทำ crawling ก่อนเช่นกันในบทความ)
โดยสามารถนำตัว Edge AI Oracle มาใช้ในการดูผลลัพธ์ของการเลือกตั้งผ่าน on-chain ได้
สำหรับผู้อ่านที่สนใจรายละเอียดเพิ่มเติม สามารถไปอ่านต่อที่บทความด้านล่างได้ แต่อ่านแล้วอาจจะงงๆนิดนะครับ ไว้มาว่ากันต่อ
ในบทความนี้ เราได้ให้นิยามเพิ่มเติมเกี่ยวกับ Agentic System รวมทั้งแสดงให้เห็นถึงความแตกต่างระหว่าง AI Agent และ Agentic AI นอกเหนือจากนั้น เรายังให้ภาพรวมและมุมมองต่างๆที่จะ implement ตัวระบบ Agentic ทั้งในเชิงของ concept รวมถึงแนะนำ product AI Agent ที่มีการใช้งานจริงในปี 2024 ที่พึ่งผ่านมา
ขอบคุณผู้อ่านทุกๆท่านที่สนับสนุนครับ
สวัสดีปีใหม่ 2025