สร้าง AI agent ด้วย Microsoft Azure Foundry กัน
มารู้จักตัวใหม่จากบ้าน Microsoft ที่เปิดตัวไม่นานมานี้ กับ Microsoft Azure Foundry ที่ช่วยให้เดฟแบบเราสร้าง agent ของตัวเองได้ง่าย ๆ

สรุป session “Develop AI agents on Azure” เมื่อวันเสาร์ที่ผ่านมา สอนโดยคุณพล ธีรเศรษฐ์ จิรภัทร์ชาญเดช Microsoft MVP - AI Platform and M365 จากทาง Next Flow นั่นเอง
ตัว Microsoft Azure Foundry เนี่ย เป็นบริการใหม่สร้างระบบ auto ภายในองค์กร สามารถสเกล AI agent ได้ตามต้องการ ปีที่แล้วเราอาจจะได้ยินคำว่า agent กันมาบ้างเนอะ ซึ่งปีนี้ก็เป็นปีของเขา และของต่าง ๆ ที่เกี่ยวกับ agent ก็เข้ามาหมด
เรื่องของ AI ไม่ใช่เรื่องที่เพิ่งคุยกัน ในยุค AI ทุกคนเริ่มต้นพร้อมกัน อยู่ที่ใครลองทำอะไรแล้วมาลองแชร์กัน
AI คืออะไร? แล้ว agent ล่ะ
หลาย ๆ คนคงบอกว่าก็คือ Artificial Intelligence หรือปัญญาประดิษฐ์ไง
แต่จริง ๆ แล้ว คำจำกัดความของ AI ก็คือ software ตัวหนึ่ง อาจจะเริ่มต้นจากการทำ app หรือ project ก่อน อาจจะยังไม่ต้องจินตนาการความลํ้าอะไรขนาดนั้น
เช่น เราลงโปรแกรมในเครื่องแล้วใช้งานมัน มี version มีรุ่น อย่าง o3-mini, GPT-4.1, Claude 3.7 Sonnet หลากหลายแบบเลย
ดังนั้นทำให้เราสามารถสร้างได้ และเอาของคนอื่นมาใช้ได้
สรุป AI เป็น software ที่มีทักษะการทำงานคล้าย ๆ ที่มนุษย์มี
เราอยากจะได้ยินหัวข้อ AI แย่งงานเรา? AI agent ทำงานได้ละเอียดขึ้น? คือพื้นฐานของมันคือเลียนแบบทักษะของมนุนย์อยู่แล้ว อันไหน AI ทำได้ไม่ดึ เราต้องดูแลมันอีก และยังมีข้อผิดพลาดอยู่ อยู่ที่เราจะจัดการกับมันยังไง
แล้ว software ทำอะไรได้บ้าง? เราเอาของมาใช้ได้เลย business model เริ่มเปลี่ยนไป เราสามารถแยกแยะว่า AI เราทำอะไรได้บ้าง และออกแบบได้ว่าทำส่วนไหนในระบบได้บ้าง เช่น generate รูป ทำ video และมีบางอันที่ AI ทำงานเฉพาะทางได้เยอะแยะเลย
ในบรรดา AI ก็จะมีหลายตัว อย่าง Natural Language, Computer Vision, Information Extraction และตัวนึงที่เราคุ้นเคยกันคือ Generative AI ที่เราต้องเริ่มพูดกับมันก่อน มันถึงจะทำงาน แล้วมันไม่ได้ทำงานแบบ auto และอีกตัวที่จะคุยกันในวันนี้ คือ Agents and automation
ในช่วงแรกที่เราเอา AI model เราสามารถควบคุมลักษณะการตอบได้ด้วย prompt มองเขาเป็นคนคนนึง เรามอบหมายงานให้เขา ทีละอย่าง เราบอกให้ตัว model สามารถที่พูดและตอบในรูปแบบที่ตามจะเป็นตามหน้าที่
และมีจุดด้อยคือ ถ้าเราเลือก model และ system prompt ตีกรอบไว้ เราอยากให้ทำเยอะกว่านั้น การทำงานเริ่มมีเงื่อนไข ให้ AI ทำงานละเอียดและมีเงื่อนไขมากขึ้นเรื่อย ๆ แต่ตัว LLM ไม่ได้ถูกสร้างมาเพื่อรับคำสั่งอะไรแบบนั้น มันเป็นแค่ software ที่สังเคราะห์ข้อความที่เราส่งเข่าไป ตัว model เริ่มเป๋
เช่น แอพแชท คุยเพื่อค้นหาข้อมูล เช่น ค้นหาข้อมูลในห้องสมุด เราเลือก model ตัวไหนดี ก็เหมือนเราเลือกใครมาทำงานตำแหน่งนี้ดี การที่เลือก model ที่ดีที่สุด แรงที่สุด เก่งที่สุด ความสามารถดีที่สุด นำมาสู่ค่าใช้จ่ายเยอะ แพง เพราะบางทีงานของเราไม่ได้มีแค่มากกว่าตอบ yes/no พอถึงจุดนึงรับคำสั่งและไม่สามารถตอบสนองความต้องการได้ และใช้งานแล้วค่าใช้จ่ายสูง
แล้ว agent มาช่วยอะไรเรา? การมองว่าแอพที่ใช้ Generative AI เราจะเริ่มมองใหม่ เราสร้างได้ตามระบบ coding หรือ low-code แต่ไม่ครอบคลุมการทำงานของเรา ดังนั้นการมาของ agent ทำให้เปลี่ยนแนวคิดในการทำแอพ Generative AI ไปจากเดิมนั่นเอง
อย่างพวก LLM ต่าง ๆ เอาแค่ข้อมูลในตัว model มาตอบ มันมีขึดจำกัดคือ ไม่สามารถตอบข้อมูลที่เราต้องการได้ เช่น model รู้ถึงปีอะไร model ไม่ได้รู้ข้อมูลล่าสุด และเขาไม่สามารถเอาทุกอย่างในโลกมาใส่ได้ใน model นั้น ๆ ได้

เลยมีการพัฒนาเทคนิคขึ้นมา โดยหาให้มันก่อน คือ RAG (Retrieval Augmented Generation) เพื่อถ้า model ไม่รู้ ต้องหาข้อมูลมาให้มันก่อน เพื่อใช้ในการตอบ วิธีการนี้ทำให้เราสร้างแอพที่ model ทำตัวเองเหมือนรู้ข้อมูล แบบมีเฉลยแทรกมา เป็นการเพิ่มศักยภาพของการใช้ LLM ให้ดีขึ้น แต่ยังมีขีดจำกัด คือ model รู้เท่าที่เรามีข้อมูลให้

ในแอพเรา model 1 ตัว ทำได้หน้าที่เดียว และถ้าเราใช้หลายตัวล่ะ ?
การที่เราใช้หลายตัว ทำให้ concept ของ agent เห็นได้ชัดเจนขึ้น ดังนั้นเราสามารถใช้ model มากที่เราต้องการ และแบ่งหน้าที่ หรือ system prompt มีการเชื่อมต่อ flow ให้คำสั่งที่แตกต่างกันให้ เลือก model ที่เหมาะสมกับหน้าที่ได้

เช่น การจองวันลา มี agent 3 ตัว คือ
- Data agent: ต้องรู้ว่าเขามีวันลาเท่าไหร่ ลาได้ไหม
- HR agent: บอกว่าใครลา และลากี่วัน แล้วลาให้เรา
- Booking agent: ทำงานเกี่ยวกับปฎิทิน

ตัวอย่างก็มีในโลกจริง ๆ อยู่แล้ว เช่น รับพนักงานใหม่ เป็น process ที่มีอยู่แล้วในองค์กร และใช้ระบบ IT ในองค์กรอยู่แล้ว มองได้ว่าขั้นตอนเหล่านี้ AI เข้ามาได้ แต่ละขั้นตอนใช้ agent คนละตัว และ model ยังต้องมีการตรวจสอบอยู่

สรุปเลือกทั้งหมด แล้วทำงานตามความถนัด = multi-model ใช้ model หลาย ๆ ตัว เหมือนเราเป็น manager ที่มอบหมายคำสั่งให้แต่ละคนไปทำงาน
ดังนั้น agent development ก็จะเป็น copilot agent
Get started with AI agent development on Azure
Microsoft มีเครื่องมือต่าง ๆ มากมาย อย่างฝั่ง end user ก็จะเป็น Copilot Studio แต่ในวันนี้จะพูดถึง Azure AI Foundry ซึ่งจะมี Azure AI Foundry Agent Service และ Sematric Kernel ซึ่งตัวนี้เป็น SDK
ส่วนประกอบของ agent
- model ก็คือ LLM model ต่าง ๆ
- knowledge tools: resource ต่าง ๆ เช่น RAG
- action tools: งานต่าง ๆ ที่เป็น automate ที่อยากให้มันทำ
- thread = chat history

มาลองเล่นกันนน ตัวนี้ทุกคนเล่นได้ล่ะ ไปที่เว็บ Azure AI Foundry แล้ว login ให้เรียบร้อย จะได้หน้าตาแบบนี้

ก่อนอื่นเราต้อง Create subscription ก่อน ถึงจะ Create project ได้ ผ่านการตัดบัตรเพื่อเทสหนึ่งดอลได้นะ จากนั้นถึงมาสร้าง project กัน กดตามที่คนสอนบอก ก็คือ Create new มันจะมี 2 option คือ
- Azure AI Foundry resource: แบบกระชับ
- AI hub resource: แบบ advance นิดนึง
ถ้าเราไม่ได้ต้องการทุกอย่างจาก foundry ก็ไปเลือก hub resource ได้

จากนั้นกด Next จะเจอหน้าตาแบบนี้ คนสอนใช้แบบ default เลย ถ้าเราอยากได้ region ใกล้ไทย ที่รองรับบริการนี้ก็น่าจะเป็นญี่ปุ่น และออสเตรเลีย

หน้าตาตอนมันสร้าง project เสร็จ

อยากเลือก model แล้ว ดูที่ Model catalog ได้เลย

สามารถเปรียบเทียบ model ได้ โดยกด Compare models เพื่อไปดู model benchmarks เช่น Phi4 ที่คุณโบ้ทเคยป้ายยาคอมมูไว้ อันนี้ใช้ได้ ถูกด้วย

อยากเล่นแล้ว ๆ เข้าไปที่ Playgrounds เพื่อเข้าไปเล่น และทดสอบการทำงานของ AI ต่าง ๆ มีให้เลือกหลายอันเลย ในที่นี้เลือกเป็น Agents playground ที่เป็น banner ด้านบน อ่ะมาลุยกันซิ๊ เล็ทโกกกกกก

เริ่มที่เลือก model กันก่อน งั้นเลือกเป็น gpt-40 แล้วกัน

แล้วก็ deploy

มาแว้วววว เติม instruction หรือ system prompt นั่นแหละ อยากให้ agent ทำอะไร

ส่วน Add knowledge เราสามารถเชื่อมต่อกับ data source อื่น ๆ ได้นะ ง่ายสุดก็เพิ่ม file ลงไป ถ้าอยากอัพ pdf ทำได้ไหม? ทำได้ แต่ต้องผ่านขั้นตอนบางอย่าง

ต่อมา action สามารถเพิ่มโค้ดไปได้ โดยกดเลือก Code interpreter

ถ้าพร้อมแล้วก็ลองเล่นดูเนอะ ซึ่งคนละตัวอย่างกับคนสอน

ตัว agent ที่เราสร้างทั้งหมดอยู่ที่หน้า agents ข้าง ๆ มี thread เป็น chat history เราเอาไปใส่ database ได้

ทุกคนสงสัย แล้วมันใช้ฟรีไหม อันนี้สามารถสมัครตัว free account ได้เลย เลือกแบบ Try Azure for free แต่มียืนยันตัวตนด้วยโทรศัพท์ และบัตรเครดิตที่มีการหัก 1 ดอล และคืนให้เลยหลังจาก check บัตรจ้า เราจะได้ 200 เหรียญ ที่มีวันหมดอายุ เอามาลองใช้งาน Azure AI Foundry ได้ และ Pricing ของ AI Foundry มีการคิดตามส่วนของการใช้งาน แบบ pay as you go
Develop an AI agent with Azure AI Foundry Agent Service

แล้ว AI agent ทำอะไรได้บ้าง ภาพนี้เป็น guideline เอา model แต่ละตัวมานั่งบรีฟงาน และบอกสโคปงาน อย่างพวกระบบ IT ให้เราเข้าถึงได้ เช่น ไฟล์ใน onedrive, server, API แต่คนเรียกใช้เป็นระบบที่สั่งด้วยภาษาคนรู้เรื่อง มอบ action อะไรให้ของพวกนี้

Agent resource setup
มี 2 ระดับ

- Basic agent setup: เป็นตัวพื้นฐานที่ไปสร้าง agent เลย
- Standard agent setup: เชื่อมต่อความสามารถกับ agent มีเรื่องระบบต่าง ๆ เป็นการประกอบบริการ cloud ของ azure หลาย ๆ ตัว ต้องดูว่าเราใช้ service อะไรบ้างใน Microsoft Azure อยู่ที่การจัดการ infrastructure ว่าเราจะใช้อะไร
มี agent มีทดสอบระบบ ทุกอย่างทำได้เหมือนกันใน code program
เริ่มลงโค้ดแล้ว ใช้ตัว AI Foundry SDK ในแลปนี้กัน คนสอนใช้ folder Instructions/Labfiles/02-buid-ai-agent
ไปที่ไฟล์ .env ใส่ 2 อัน คือ
PROJECT_ENDPOINT="your_project_endpoint"
MODEL_DEPLOYMENT_NAME="gpt-4o"
PROJECT_ENDPOINT
ไป copy Azure AI Foundry project endpoint จากหน้า overview มาแปะ

MODEL_DEPLOYMENT_NAME
ใส่ model ที่เราต้องการ เอา model name มาใส่ สามารถ deploy ได้มากกว่า 1 ตัว

ไฟล์ data.txt เอามาใช้ทำ RAG เป็นตัวอย่างใบเสร็จ
Category,Cost
Accommodation, 674.56
Transportation, 2301.00
Meals, 267.89
Misc., 34.50
แล้วก็ import library ด้วย pip ซึ่งใช้ requirements.txt
ว่าใช้อะไรบ้าง
pip install -r requirements.txt azure-ai-projects
ไปที่ agent.py
ในโค้ดมีอะไรบ้าง รันแล้วเอามาพิมพ์คุยใน terminal
จริง ขั้นตอนการทำสามารถไปดูในนี้ อ่านแล้วค่อย ๆ ทำตามไป
Integrate custom tools into your agent

agent นอกจากรู้จาก knowledge ที่เราเตรียมไว้ให้ หรือ RAG แล้ว เราสามารถ เตรียม function แล้วให้ agent ตัดสินใจ run function โดย custom tool

หรือใช้ API ก็ได้ ให้ agent เรียกใช้ ถ้าใช้ API เราเอง ต้องตามมาตรฐาน OpenAPI spec 3.0 หรือเขียนโค้ดเองแล้วใส่เทคนิคให้ AI รู้ว่าใช้ function ตรงนี้ได้

เรามี model, project, สร้าง agent, instruction, thread แต่ tool ของเขาเป็นชุดใหม่
กลับมาที่ Github เดิม ไปที่ Instructions/Labfiles/03-ai-agent-function
อ่านและทำตามอันนี้ได้เลย
Develop an AI agent with Semantic Kernel
Semantic Kernel ทำตัวเองเป็น framework เอามาทำงานกับ Azure AI Foundry Agent service

Semantic Kernel เรียก thread ว่า history ครอบ Foundry อีกที เอาไปใช้กับ service ของใครก็ได้

Orchestrate a multi-agent solution using Semantic Kernel
เอาไปใช้ใน dev-ops เช่นให้ agent อ่าน log แล้ว server เดี้ยง และออกคำสั่งให้ agent ตัวอื่น รับคำสั่งแล้ว run function ที่เราเตรียมไว้

Termination strategy มี 3 ระดับ
- Default termination: มีการสร้างกลไกให้เราเลือกใช้สอย
- Custom termination function: เลือกกลไกที่มี และเพิ่มเติมด้วยการ implement logic ของเราลงไป
- Kernal function from prompt: เลือกตามโค้ด หรือให้ model เลือกตามคำสั่ง
Resource อื่น ๆ

อยากรู้ต่อไปเรียนในนี้ได้
โพสคนสอน https://www.facebook.com/share/p/1BGaQ2G7ex/
ช่องแดงของคนสอน https://www.youtube.com/@teerasej
สรุปหลักสูตรอื่น ๆ ในโครงการ Microsoft AI Skills Training Series
🔵 AI Skills for Everyone https://www.facebook.com/share/p/1AbPrkXL6P/

🔵 Create agents in Microsoft Copilot Studio https://www.facebook.com/share/p/199i6JZu3D/
🔵 Power BI for Beginner https://www.facebook.com/share/p/1F8GfGTFt2/

🔵 Building applications with GitHub Copilot agent mode https://www.facebook.com/share/p/19CLEhtGiz/

ติดตามข่าวสารตามช่องทางต่าง ๆ และทุกช่องทางโดเนทกันไว้ที่นี่เลย แนะนำให้ใช้ tipme เน้อ ผ่าน promptpay ได้เต็มไม่หักจ้า
ติดตามข่าวสารแบบไว ๆ มาที่ Twitter เลย บางอย่างไม่มีในบล็อก และหน้าเพจนะ
สวัสดีจ้า ฝากเนื้อฝากตัวกับชาวทวิตเตอร์ด้วยน้าา
— Minseo | Stocker DAO (@mikkipastel) August 24, 2020