จดๆจากงาน Season of AI – Thailand | Season 4 – Season of Agents

สำหรับงานนี้จัดโดยทาง Microsoft Community Leader ครับ โดยในรอบนี้มาใน Theme Agent ครับ

ในงานมี VDO Record ด้วยนะครับ ตามดูเต็มๆได้จากช่อง CodeBangkok ของอาจารย์บอลได้เลยครับ

Microsoft AI Skill

  • มีส่วน AI Skill Navigator / MS Learn / Link In Learning / YT MS Thailand / SparkTech
  • สอน Workshop ผ่าน MS Team ตอนนี้มีตัว Azure ML (Part1 / Part2 / Part3) / Azure AI Service (Part1 / Part2 / Part3) นะ
  • และมีการแจกสิทธิสอบ Cert ด้วยนะ สนใจลงทะเบียนได้เลยตาม QR ด้านล่าง
ถ้าสนใจสิทธิสอบ Cert ลงทะเบียนตามใน QR Code

อีกทีตอนนี้เห็นแชร์กันของ trainocate นะ https://trainocate.com/th/free-workshops/microsoft-ai-skills-for-developers อันนี้มีแจก Cert เช่นกัน

Getting Started with AI Agents

Speaker Teerasej Jiraphatchandej

📌Back to Basic อะไร คือ สิ่งที่เรียกว่า Agent

ตอนนี้นิยามส่วนของ MS จะเป็นส่วนของ App ที่มีส่วนของ LLM - Semi Autonomous รับความต้องการมา และตีความว่าอยากทำอะไร (Context) จากนั้นวางแผน (Plan) จากนั้น Take Action ต่างๆ โดยทำในตัว LLM เอง + ส่วนงานย่อยๆ ทีทำแบบเฉพาะทาง มองว่าตอนนี้ Agent = Function ?

📌Agent ตอนนี้มันมีกี่แบบ

  • Simple ChatBot เราถาม แล้วมันหาความรู้ที่อยู่ในตัว Model
  • Agent with RAG เราถาม ถ้าไม่รู้ไปหาข้อมูลใน KM ที่มันเตรียมไว่ เช่นใน Mail / Database
  • Agent with RAG + Action จาก 2 แบบแรกที่ความรู้มันจำกัด หรือ มันแค่ตอบอย่างเดียว ตอนนี้มันสามารถทำงานได้ เช่น การสั่งจองตั๋วเครื่องบิน หรือ จัดการงานอื่นๆได้ แล้วแต่เราจะให้สิทธิ

ตอนนี้ตัวแทนความสามารถต่างๆ เราสามารถนิยามเป็น Agent เช่น การตรวจสอบวันลา / การวางแผนวันหยุด / การจองเครื่องบิน ตอนนี้ 3 AI Agent นะ ถ้ามองเป็น Coding จะเป็น 3 Function หรือ ในมุมผมเป็น 3 End Point ตามในในส่วนที่รับผิดชอบ เรามากำหนด Prompt + Model + Action ที่เหมาะกับแต่ละ Task

📌ถ้าเรามี Task หลายอย่าง เราเอามา Grouping ได้ จัดการส่วน HR / จัดการแก้ปัญหา IT Support หรือ จัดการในส่วน Onboarding พนักงานใหม่เป็นต้น

📌ที่นี้ในตัว App เราจะมีถ้าแบบเดิมๆ เวลากำหนดว่า Spec / API ยังไง ใช้ Data ที่ไหน ตอนนี้ส่วนที่ต้องสนใจจะเป็น เอา ได้แก่ Knowledge เอา Data จากที่ไหน + ใช้ Model อะไร ที่เหมือนกับ use case/ Action นั้นๆเป็นอย่างไร / Security 3 อันแรกมันเหมือนส่วนของ App อยู่แล้วนะ ส่วนสุดท้าย จะเป็นการ Evaluation ว่าตัว AI ทำได้ตาม Business Need แล้วยัง ?

📌สำหรับใน Azure จะเป็นตัว Azure AI Agent Service ที่กำหนด 4 ส่วนหลักๆ

  • Agent - เราใช้ Model อะไร ตาม use-case ของเรา ซึ่งการติดต่อรูปแบบเอาง่ายๆ ChatBot หรือ เป็น API ออกมาให้งานได้
  • Tools - Plugin ถ้าใน Code เหมือน Lib หรือ API ต่างๆที่เกี่ยวข้อง
  • Thread - Chat Memory จำว่าเราคุยอะไร ต้องไปคุยกับใครต่อ Agent อื่นๆ
  • Run - Start an Action เช่น พวกจองตัว ซือของเป็นต้น
แปะตัวอย่าง Code เลยและกัน มันบอก Agent + Tools แล้วครับ

หลังจากนี้เป็น Demo Azure AI Foundry ที่อิงตามแนวคิด Agent เลือก Model กำหนด System Prompt เป็นต้น / Tools / Thread / Run

Resource

Interacting with Multimodal models and Agents in Azure AI

Speaker Charunthon Limseelo

ใน talk นี้จะเป็นการ ลองทำ Multimodal models Agents โดยใช้ Azure AI SDK + GitHub Model

📌 ทำไมต่อง Multimodal models

  • ในยุคแรกสุด เราจะ Text คุยได้อย่าง เดียว เวลาใช้งานข้อมูลรูปแบบอื่นๆ เลยจะมีข้อจำกัด เช่นรูปภาพ อันนี้น้องเค้ามี ลองทำ Project เล่น xxxxx
  • ตอนนี้ตัว LLM เองความสามารถเพิ่มขึ้นนะ อย่างตัว GPT4 / Llama 4 หรือ ตัวเล็กอย่างตัว Phi4 จากเดิมการทำ prompt engineering จากเดิมที่เป็น Text เราส่ง Input อื่นๆ เข้าไปได้มากขึ้น เช่น รูปภาพ หรือ เสียงเป็นตัน
  • ล่าสุดตอนนี้ meta มีการ public Llama 4 มีหลายแบบ Scout (เล็ก) / Maverick (กลาง)
เพิ่งเรียนใน manning llama 2 > 3 จบ ตามไปเรียน 4 ต่อ 55555

📌 การเขียน Code เชื่อมกับตัว Agent Service มี SDK ให้ โดยมีความสามารถตามนี้เลย

📌 ตัว Tech Stack ที่เอามาช่วยพัฒนาได้

📌 ถ้าเป็นของส่วน MS จะมี 2 ส่วน ได้แก่

  • Semantic Kernel - General - เหมือนกับ Single Model LLM เน้นเชื่อม LLM เข้าไปใน App
  • AutoGen เหมาาะกับการทำ AI มากกว่า รองรับ Multi Agent รวมถึงมีทั้งแบบ Low Code / Code เพียวๆ เลย

สำหรับ Semantic Kernel / AutoGen จะรองรับ 2 ภาษาหลัก Python / C#

การเชื่อมต่อมายัง Model ยิง API / SDK ตาม End Point ที่ได้จาก Azure AI Foundry / GitHub Model

  • จากนั้น Demo ทำลองทำ Multimodal models Agents โดยใช้ Azure AI SDK + GitHub Model โดยให้ Upload รูป และ Llama 4 Describe Image
  • นอกจากนี้ Mutil Model เราไม่จำเป็นใช้พวก GPT เอา Model ของค่ายอื่นๆได้ อย่างที่มีอยู่ใน Hugging face หรือ Open Source Model อื่นๆ อย่าง Llama รวมถึงการเอา Model ตัวเล็กมาใช้ตอบปัญหาตาม Use Case ได้นะ

สำหรับในส่วน Multimodal models น้องโบ๊ท มีแนะนำ Session งาน FOSSASIA ดังนี้ครับ

Resource: Source Code / Slide

Build your code-first app with Azure AI Agent Service

Speaker Surasuk Oakkharaamonphong

ภาพรวมของการทำงาน

📌Session นี้เป็นการ Coding ล้วนๆครับ โดยสิ่งที่ต้องเตรียม

  1. สร้าง project ใน Azure AI Foundry + Create End Point
  2. Coding App
    - azure-ai-projects สำหรับค่อกับ Azure AI Model
    - azure-identity เอาต่อกับ Azure Entra Id

จากนั้นมาเติม Code แต่ละส่วนของให้ครบทั้ง Agent / Tools / Thread / Run

  • ลง Lib
pip install azure-ai-project 
pip install azure-identity
  • เชื่อม Code กับ Azure
project = AIProjectClient.from_connection_string(
    conn_str=os.environ["PROJECT_CONNECTION_STRING"],
    credential=DefaultAzureCredential(),
)
  • สร้าง Agent ทำได้ 2 แบบ
    - Code ล้วนๆ (project.agents.create_agent)
    - สร้าง Azure AI Foundry ต้องเอา Id มา Ref ใน App ที่หลัง (get_agent)
    ถ้าสร้างเอง อย่างลืมไปลบด้วยนะใน SDK จะ delete_agent
    สุดท้าย Code กำหนด Model + Instructure (System Prompt)
agent = 
    model="gpt-4o",
    name="sample_agent",
    instructions="ํYou Instructure.",
    toolset=toolset,  //สำหรับ Function Calling
)
  • สร้าง Thread
thread = project.agents.create_thread() //เอา Id ไปอ้างอิงว่า Chat ไหน
  • กำหนด message บอกว่าต้องการอะไร บอก Thread / Role / Message
project.agents.create_message(
    thread_id=thread.id,
    role="user",
    content="Write a tagline for coffeesho[",
)
  • การทำงานเราระบุ Agent + Thread ให้ทำงาน create_and_process_run ให้มันทำงาน และเรารอผลลัพธ์
run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id)

//เอามาแสดงผล
messages = project_client.agents.list_messages(thread_id=thread.id)
for data_point in reversed(messages.data):
    last_message_content = data_point.content[-1]

📌นอกจากนี้มีส่วนของ

  • Function Calling - เอามาแก้ปัญหา AI มันไม่รู้ข้อมูลล่าสุด มีทำ Function ให้ AI มันไปถามข้อมูลเพิ่ม เช่น สภาพอากาศ ณ เวลาที่เราสนใจ ถ้า AI มันตีความว่าต้องเรียก function ที่เรา Register ไว้ แล้วมันจะ call ให้เลย
  • Code Interpreter - เราให้เอาข้อมูลขึ้นไปให้ แล้วเรา Prompt ถามหาคำตอบจากข้อมูลที่เราให้ไป เหมือนทำ RAG เลยแหะ

สำหรับ Session นีดู live น่าจะดีกว่าครับ มี Code สดครับ ^__^ เดี๋ยวมี VDO Upload ขึ้นมาครับ

Build applications with GitHub Copilot agent mode

Speaker Gun Kimsong

📌ก่อนหน้านี้ GitHub Copilot จะมีการทำงาน 2 Mode

  • Chat Mode - เรา prompt ถาม
  • Edit Mode - เราถามเหมือนเดิม แต่จะกำหนด Scope ที่ชัดเจนขึ้น ว่าเฉพาะ Code ที่เราแก้ 2 บรรทัดนี้

📌Agent Mode เป็นตัวที่มาใหม่

Agent Mode ตัว Copilot รับ Requirement + Prompt และพยายามหา Context ต่างๆที่เกี่ยวข้อง ให้ LLM มาประมวลผล ว่าต้องทำอะไรบ้าง สร้างไฟล์ / แก้ไฟล์เดิม หรือ run คำสั่งใน terminal มันทำเติมไปเรื่อยๆ แต่รอเรา Confirm นะ

ตอนแรกไม่เคยสังเกตุว่ามันมีแล้วนะ ปล ปกติผมใช้ผ่าน Visual Studio มันไม่มีให้เลือก 5555 น่าจะมีหลายคนงงแบบผม

Live Demo ลอง Prompt สร้าง Book Recommendation โดยใช้ Next.js

อันนี้ Speaker แนะนำ license ของตัว GitHub Copilot ให้เป็น Tier Business / Enterprise ขึ้นไป จะได้ไม่เจอปัญหา Token Limit

ถ้าจะลองตามเปลี่ยน Mode Agent ตรงนี้ได้เลย (แอบงงมาสักพักว่าทำตรงไหน 5555 รู้แล้ว) จากนั้นเราเตรียมไฟล์ structure ตัว requirement ของระบบ โยนเข้าไป แล้ว prompt สั่ง

How to manage multi-agent on Conversation Framework with AutoGen

Speaker Witthawin Sripheanpol

📌LLM to (Single) Agent

ปกติ เราถาม AI เข้าไปเช้ารูป ข้อความให้ LLM ตอบ เช่น ส่งรูปให้ มันรับว่ามีกี่ตัว แต่ที่นี้ตัว LLM ขาดความสามารถการ Action เช่น ถ้าอยากให้จองรถ / เตรียมของทำกับข้าว / ทำ Chocolate มันให้คำตอบมาได้

📌Agent คือ LLM + Action มันมี 3 ส่วน

  • Tools : API / Function ต่างๆที่ AI มันทำได้ รวมถึง AI Model อื่นๆด้วยนะ
  • Memory : Chat History
  • Reason + Act : LLM ที่มีการวิเคราะห์ และเช้าใจ Context แล้วไปสั่ง Tools ทำงานขึ้น (Act)

จริงๆ เรายัดพวก Tools ให้ ข้อจำกัดของ Single Agent

  • Tools Overload เป็น super เป็ด
  • Context Windows Limitation - มืนๆงงๆ ว่าจะใช้ Tools อะไร โอ้ยสับสน
  • ขาดความ Specialize ลงไป

📌Multi-Agents

หลายหัวดีกว่าหัวเดียว เอาใครที่เชี่ยวชาญในงานนั้นๆ มาทำงานที่สนใจไป โดยมีตัว LLM สักตัวมาเป็น Orchestrator มองว่าว่าเป็นทาง PM / Manager / Supervisor มาส่งงานที่เหมาะสมกับ Agents นั้น โดยมี 2 pattern

  • Supervisor Agent
  • Hierarchical Supervisor Agent - มีหลาย level แต่ Cost จะสูงขึ้นด้วย

📌AutoGen Studio

เครื่องมือของทาง Microsoft ที่ช่วยเข้ามาจัดการ Flow + การทำ multi-agent ให้สะดวกขึ้น โดยมีทั้งในรูปแบบ Coding จ้าๆ และ Low Code ด้วย และ มันมี paper รองรับด้วยนะ https://arxiv.org/pdf/2308.08155 จากนั้นเป็น Demo ตัว AutoGen Studio

  • Install
pip install autogenstudio
-- start 
autogenstudio ui --port 8081
  • จากนั้นลอง Demo Flow 2 ตัว (แต่เราต้องเติม API Key เองนะ)
    - RoundRobin Team - Single Agent
    - Web Agent Team - Multi Agent
  • ถ้าเอาไปใช้งานจริง Deploy ใช้
autogenstudio serve --team YOUR_TEAM.json --port 8084 

Resource: Slide / AutoGen Studio — AutoGen

ลองมาส่องๆส่วนต้อง Code เหมือน Feature ของ Python จะนำส่วนของ dotnet อยุ่นะ dotnet มีนะ https://microsoft.github.io/autogen-for-net/articles/function-comparison-page-between-python-AutoGen-and-autogen.net.html

VDO Record

Reference


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.