ai-agents-for-beginners

สำรวจโครงสร้างเอเจนต์ AI

(คลิกที่รูปภาพด้านบนเพื่อดูวิดีโอของบทเรียนนี้)

สำรวจโครงสร้างเอเจนต์ AI

โครงสร้างเอเจนต์ AI คือแพลตฟอร์มซอฟต์แวร์ที่ออกแบบมาเพื่อให้ง่ายต่อการสร้าง, นำไปใช้, และจัดการเอเจนต์ AI โครงสร้างเหล่านี้ให้ส่วนประกอบที่สร้างไว้ล่วงหน้า, การแบ่งนามธรรม, และเครื่องมือที่ช่วยให้การพัฒนาระบบ AI ที่ซับซ้อนเป็นไปอย่างราบรื่น

โครงสร้างเหล่านี้ช่วยให้นักพัฒนาสามารถมุ่งเน้นไปที่แง่มุมเฉพาะของแอปพลิเคชันของตนโดยให้แนวทางมาตรฐานสำหรับความท้าทายทั่วไปในการพัฒนาเอเจนต์ AI พวกเขาช่วยเพิ่มขีดความสามารถในการขยาย, การเข้าถึง, และประสิทธิภาพในการสร้างระบบ AI

บทนำ

บทเรียนนี้จะครอบคลุม:

เป้าหมายการเรียนรู้

เป้าหมายของบทเรียนนี้คือช่วยให้คุณเข้าใจ:

โครงสร้างเอเจนต์ AI คืออะไรและช่วยให้นักพัฒนาทำอะไรได้บ้าง?

โครงสร้าง AI แบบดั้งเดิมช่วยให้คุณรวม AI เข้ากับแอปของคุณและทำให้แอปเหล่านี้ดีขึ้นได้ในด้านต่างๆ ดังนี้:

สิ่งเหล่านี้ฟังดูดีเลยใช่ไหม ทำไมเราจึงต้องใช้โครงสร้างเอเจนต์ AI?

โครงสร้างเอเจนต์ AI เป็นมากกว่าการเป็นโครงสร้าง AI ทั่วไป มันได้รับการออกแบบมาเพื่อให้สามารถสร้างเอเจนต์อัจฉริยะที่สามารถโต้ตอบกับผู้ใช้, เอเจนต์อื่นๆ, และสภาพแวดล้อมเพื่อบรรลุเป้าหมายเฉพาะได้ เอเจนต์เหล่านี้สามารถแสดงพฤติกรรมอิสระ, ตัดสินใจ, และปรับตัวให้เข้ากับสภาพแวดล้อมที่เปลี่ยนแปลงได้ มาดูความสามารถหลักบางประการที่โครงสร้างเอเจนต์ AI อำนวยความสะดวก:

สรุปแล้ว เอเจนต์ช่วยให้คุณทำอะไรได้มากขึ้น, ยกระดับการทำงานอัตโนมัติ, สร้างระบบที่ชาญฉลาดซึ่งสามารถปรับตัวและเรียนรู้จากสภาพแวดล้อมได้

วิธีการสร้างต้นแบบอย่างรวดเร็ว, ทบทวน, และปรับปรุงความสามารถของเอเจนต์?

นี่คือแนวทางที่เปลี่ยนแปลงอย่างรวดเร็ว แต่มีสิ่งบางอย่างที่พบได้ทั่วไปในโครงสร้างเอเจนต์ AI หลายตัวที่ช่วยให้คุณสร้างต้นแบบและทบทวนได้อย่างรวดเร็ว ได้แก่ ส่วนประกอบแบบโมดูล, เครื่องมือทำงานร่วมกัน, และการเรียนรู้แบบเรียลไทม์ มาดูรายละเอียดแต่ละข้อ:

ใช้ส่วนประกอบแบบโมดูล

SDK เช่น Microsoft Agent Framework มีส่วนประกอบที่สร้างไว้ล่วงหน้า เช่น ตัวเชื่อมต่อ AI, การกำหนดเครื่องมือ, และการจัดการเอเจนต์

ทีมสามารถใช้สิ่งเหล่านี้อย่างไร: ทีมสามารถประกอบส่วนประกอบเหล่านี้อย่างรวดเร็วเพื่อสร้างต้นแบบที่ใช้งานได้โดยไม่ต้องเริ่มสร้างจากศูนย์ เปิดโอกาสให้ทดลองและทบทวนอย่างรวดเร็ว

การใช้งานจริง: คุณสามารถใช้ตัวแบ่งวิเคราะห์ที่สร้างไว้ล่วงหน้าสำหรับดึงข้อมูลจากอินพุตของผู้ใช้ หน่วยความจำสำหรับเก็บและดึงข้อมูล และเครื่องสร้างพรอมต์สำหรับโต้ตอบกับผู้ใช้ ทั้งหมดนี้โดยไม่ต้องสร้างส่วนประกอบเองทั้งหมด

ตัวอย่างโค้ด มาดูตัวอย่างวิธีใช้ Microsoft Agent Framework พร้อม FoundryChatClient เพื่อให้โมเดลตอบสนองอินพุตของผู้ใช้ด้วยการเรียกใช้เครื่องมือ:

# ตัวอย่าง Microsoft Agent Framework ในภาษา Python

import asyncio
import os

from agent_framework import tool
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential


# กำหนดฟังก์ชันเครื่องมือตัวอย่างสำหรับการจองการเดินทาง
@tool(approval_mode="never_require")
def book_flight(date: str, location: str) -> str:
    """Book travel given location and date."""
    return f"Travel was booked to {location} on {date}"


async def main():
    provider = FoundryChatClient(
        project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
        model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
        credential=AzureCliCredential(),
    )
    agent = provider.as_agent(
        name="travel_agent",
        instructions="Help the user book travel. Use the book_flight tool when ready.",
        tools=[book_flight],
    )

    response = await agent.run("I'd like to go to New York on January 1, 2025")
    print(response)
    # ตัวอย่างผลลัพธ์: เที่ยวบินของคุณไปยังนิวยอร์กในวันที่ 1 มกราคม 2025 ได้จองเรียบร้อยแล้ว เดินทางปลอดภัย! ✈️🗽


if __name__ == "__main__":
    asyncio.run(main())

สิ่งที่คุณเห็นในตัวอย่างนี้คือวิธีใช้ตัวแบ่งวิเคราะห์ที่สร้างไว้ล่วงหน้าเพื่อดึงข้อมูลสำคัญจากอินพุตของผู้ใช้ เช่น จุดเริ่มต้น, จุดหมายปลายทาง, และวันที่ของการจองเที่ยวบิน วิธีการแบบโมดูลนี้ช่วยให้คุณมุ่งเน้นที่ตรรกะระดับสูงได้

ใช้ประโยชน์จากเครื่องมือทำงานร่วมกัน

โครงสร้างอย่าง Microsoft Agent Framework ช่วยในการสร้างเอเจนต์หลายตัวที่สามารถทำงานร่วมกันได้

ทีมสามารถใช้สิ่งเหล่านี้อย่างไร: ทีมสามารถออกแบบเอเจนต์ตามบทบาทและงานเฉพาะ เพื่อทดสอบและปรับปรุงกระบวนการทำงานร่วมกัน และปรับปรุงประสิทธิภาพของระบบโดยรวม

การใช้งานจริง: คุณสามารถสร้างทีมเอเจนต์ แต่ละตัวมีฟังก์ชันเฉพาะ เช่น การดึงข้อมูล, การวิเคราะห์, หรือการตัดสินใจ เอเจนต์เหล่านี้สามารถสื่อสารและแลกเปลี่ยนข้อมูลเพื่อบรรลุเป้าหมายร่วมกัน เช่น ตอบคำถามของผู้ใช้หรือทำงานให้เสร็จ

ตัวอย่างโค้ด (Microsoft Agent Framework):

# การสร้างเอเย่นต์หลายตัวที่ทำงานร่วมกันโดยใช้ Microsoft Agent Framework

import os
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

provider = FoundryChatClient(
    project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
    model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
    credential=AzureCliCredential(),
)

# เอเย่นต์ดึงข้อมูล
agent_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# เอเย่นต์วิเคราะห์ข้อมูล
agent_analyze = provider.as_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# รันเอเย่นต์ตามลำดับบนงานหนึ่งงาน
retrieval_result = await agent_retrieve.run("Retrieve sales data for Q4")
analysis_result = await agent_analyze.run(f"Analyze this data: {retrieval_result}")
print(analysis_result)

สิ่งที่คุณเห็นในโค้ดนี้คือการสร้างงานที่เกี่ยวข้องกับเอเจนต์หลายตัวทำงานร่วมกันเพื่อวิเคราะห์ข้อมูล เอเจนต์แต่ละตัวทำหน้าที่เฉพาะ และงานนี้จะดำเนินการโดยการประสานงานระหว่างเอเจนต์เพื่อให้ได้ผลลัพธ์ที่ต้องการ การสร้างเอเจนต์เฉพาะกิจที่มีบทบาทเฉพาะจะช่วยเพิ่มประสิทธิภาพและสมรรถภาพของงาน

เรียนรู้แบบเรียลไทม์

โครงสร้างขั้นสูงมีความสามารถในการเข้าใจบริบทและปรับตัวแบบเรียลไทม์

ทีมสามารถใช้สิ่งเหล่านี้อย่างไร: ทีมสามารถใช้วงจรป้อนกลับที่เอเจนต์เรียนรู้จากการโต้ตอบและปรับพฤติกรรมอย่างต่อเนื่อง นำไปสู่การพัฒนาและปรับปรุงความสามารถอย่างต่อเนื่อง

การใช้งานจริง: เอเจนต์สามารถวิเคราะห์ความคิดเห็นของผู้ใช้, ข้อมูลสภาพแวดล้อม, และผลลัพธ์ของงาน เพื่ออัปเดตฐานความรู้, ปรับปรุงอัลกอริทึมการตัดสินใจ และพัฒนาประสิทธิภาพขึ้นเมื่อเวลาผ่านไป กระบวนการเรียนรู้ซ้ำนี้ช่วยให้เอเจนต์ปรับตัวให้เข้ากับสภาพแวดล้อมและความชื่นชอบของผู้ใช้ เพิ่มประสิทธิภาพโดยรวมของระบบ

ความแตกต่างระหว่าง Microsoft Agent Framework และ Microsoft Foundry Agent Service คืออะไร?

มีหลายวิธีเปรียบเทียบแนวทางเหล่านี้ แต่เรามาดูความแตกต่างหลักๆ ในแง่ของการออกแบบ, ความสามารถ, และกรณีการใช้งานเป้าหมาย:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework เป็น SDK ที่ออกแบบมาให้ใช้งานง่ายสำหรับการสร้างเอเจนต์ AI ด้วย FoundryChatClient มันช่วยให้นักพัฒนาสร้างเอเจนต์ที่ใช้โมเดล Azure OpenAI โดยมีฟีเจอร์การเรียกใช้เครื่องมือในตัว, การจัดการการสนทนา, และความปลอดภัยระดับองค์กรผ่าน Azure identity

กรณีการใช้งาน: การสร้างเอเจนต์ AI ที่พร้อมใช้งานจริงพร้อมความสามารถเรียกใช้เครื่องมือ, กระบวนการหลายขั้นตอน และการผนวกรวมกับองค์กร

นี่คือแนวคิดหลักบางส่วนของ Microsoft Agent Framework:

Microsoft Foundry Agent Service

Microsoft Foundry Agent Service คือส่วนเสริมล่าสุด เปิดตัวในงาน Microsoft Ignite 2024 มันอนุญาตให้พัฒนาและนำไปใช้เอเจนต์ AI ด้วยโมเดลที่ยืดหยุ่นมากขึ้น เช่น เรียกใช้ LLMs โอเพนซอร์สโดยตรงอย่าง Llama 3, Mistral, และ Cohere

Microsoft Foundry Agent Service มีวิธีการรักษาความปลอดภัยสำหรับองค์กรที่เข้มแข็งและวิธีการเก็บข้อมูลที่เหมาะสำหรับแอปพลิเคชันองค์กร

มันทำงานได้ทันทีร่วมกับ Microsoft Agent Framework ในการสร้างและนำเอเจนต์ไปใช้งาน

บริการนี้อยู่ในสถานะ Public Preview และรองรับ Python และ C# สำหรับการสร้างเอเจนต์

ด้วย Microsoft Foundry Agent Service Python SDK เราสามารถสร้างเอเจนต์ที่มีเครื่องมือกำหนดเองได้:

import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

# กำหนดฟังก์ชันของเครื่องมือ
def get_specials() -> str:
    """Provides a list of specials from the menu."""
    return """
    Special Soup: Clam Chowder
    Special Salad: Cobb Salad
    Special Drink: Chai Tea
    """

def get_item_price(menu_item: str) -> str:
    """Provides the price of the requested menu item."""
    return "$9.99"


async def main() -> None:
    credential = DefaultAzureCredential()
    project_client = AIProjectClient.from_connection_string(
        credential=credential,
        conn_str="your-connection-string",
    )

    agent = project_client.agents.create_agent(
        model="gpt-5-mini",
        name="Host",
        instructions="Answer questions about the menu.",
        tools=[get_specials, get_item_price],
    )

    thread = project_client.agents.create_thread()

    user_inputs = [
        "Hello",
        "What is the special soup?",
        "How much does that cost?",
        "Thank you",
    ]

    for user_input in user_inputs:
        print(f"# User: '{user_input}'")
        message = project_client.agents.create_message(
            thread_id=thread.id,
            role="user",
            content=user_input,
        )
        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)
        print(f"# Agent: {messages.data[0].content[0].text.value}")


if __name__ == "__main__":
    asyncio.run(main())

แนวคิดหลัก

Microsoft Foundry Agent Service มีแนวคิดหลักดังนี้:

กรณีการใช้งาน: Microsoft Foundry Agent Service ออกแบบมาสำหรับแอปพลิเคชันองค์กรที่ต้องการการนำไปใช้เอเจนต์ AI ที่ปลอดภัย, ขยายตัวได้, และยืดหยุ่น

ความแตกต่างระหว่างแนวทางเหล่านี้คืออะไร?

แม้ว่าจะดูเหมือนมีการทับซ้อนกัน แต่ก็มีความแตกต่างหลักในแง่ของการออกแบบ, ความสามารถ, และกรณีการใช้งานเป้าหมาย:

ยังไม่แน่ใจว่าจะเลือกใช้อันไหน?

กรณีใช้งาน

มาลองดูว่าช่วยคุณได้ไหมโดยผ่านกรณีใช้งานทั่วไป:

ถาม: ฉันกำลังสร้างเอเจนต์ AI สำหรับงานผลิตและต้องการเริ่มต้นอย่างรวดเร็ว

ตอบ: Microsoft Agent Framework เป็นตัวเลือกที่ยอดเยี่ยม มันให้ API สะดวกใน Python ผ่าน FoundryChatClient ที่ช่วยให้กำหนดเอเจนต์พร้อมเครื่องมือและคำแนะนำในไม่กี่บรรทัดโค้ด

ถาม: ฉันต้องการการนำไปใช้ระดับองค์กรพร้อมการผนวกรวมกับ Azure เช่น Search และการประมวลผลโค้ด

ตอบ: Microsoft Foundry Agent Service เหมาะสมที่สุด เป็นแพลตฟอร์มที่มีความสามารถในตัวสำหรับโมเดลหลายตัว, Azure AI Search, Bing Search และ Azure Functions ช่วยให้สร้างเอเจนต์ใน Foundry Portal และนำไปใช้ในระดับใหญ่ได้ง่าย

ถาม: ฉันยังสับสน ช่วยเลือกตัวเลือกเดียวให้ฉันหน่อย

ตอบ: เริ่มจาก Microsoft Agent Framework เพื่อสร้างเอเจนต์ของคุณก่อน จากนั้นใช้ Microsoft Foundry Agent Service เมื่อต้องการนำไปใช้งานและขยายระบบในงานผลิต วิธีนี้ทำให้คุณสามารถทบทวนตรรกะเอเจนต์ได้เร็ว พร้อมเส้นทางที่ชัดเจนไปสู่การนำไปใช้ระดับองค์กร

สรุปความแตกต่างหลักในตาราง:

โครงสร้าง จุดเน้น แนวคิดหลัก กรณีใช้งาน
Microsoft Agent Framework SDK เอเจนต์ที่เรียบง่ายพร้อมฟังก์ชันเรียกใช้เครื่องมือ เอเจนต์, เครื่องมือ, Azure Identity สร้างเอเจนต์ AI, การใช้เครื่องมือ, กระบวนการหลายขั้นตอน
Microsoft Foundry Agent Service โมเดลยืดหยุ่น, ความปลอดภัยองค์กร, การสร้างโค้ด, การเรียกใช้เครื่องมือ โมดูล, การทำงานร่วมกัน, การจัดการกระบวนการ การนำเอเจนต์ AI ไปใช้ที่ปลอดภัย, ขยายตัวได้และยืดหยุ่น

ฉันสามารถรวมเครื่องมือในระบบนิเวศ Azure ที่มีอยู่ได้โดยตรงหรือจำเป็นต้องใช้โซลูชันแยกต่างหาก?

คำตอบคือ ใช่ คุณสามารถรวมเครื่องมือระบบนิเวศ Azure ที่มีอยู่ของคุณเข้ากับ Microsoft Foundry Agent Service ได้โดยตรงโดยเฉพาะ เนื่องจากถูกสร้างขึ้นให้ทำงานร่วมกับบริการ Azure อื่นๆ ได้อย่างราบรื่น ตัวอย่างเช่น คุณสามารถรวม Bing, Azure AI Search และ Azure Functions ได้ นอกจากนี้ยังมีการผสานรวมลึกกับ Microsoft Foundry

Microsoft Agent Framework ยังผสานรวมกับบริการ Azure ผ่าน FoundryChatClient และตัวตน Azure ช่วยให้คุณเรียกใช้บริการ Azure โดยตรงจากเครื่องมือเอเย่นต์ของคุณได้

ตัวอย่างโค้ด

มีคำถามเพิ่มเติมเกี่ยวกับ AI Agent Framework หรือไม่?

เข้าร่วม Microsoft Foundry Discord เพื่อพบปะกับผู้เรียนคนอื่นๆ เข้าร่วมชั่วโมงประชุมและสอบถามคำถามเกี่ยวกับ AI Agents ของคุณ

แหล่งข้อมูลอ้างอิง

บทเรียนก่อนหน้า

แนะนำ AI Agents และกรณีการใช้งาน Agent

บทเรียนถัดไป

ทำความเข้าใจแบบแผนการออกแบบ Agentic


ปฏิเสธความรับผิดชอบ: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้