ai-agents-for-beginners

ស្វែងយល់អំពី AI Agent Frameworks

(ចុចរូបភាពខាងលើដើម្បីមើលវីដេអូរបស់មេរៀននេះ)

ស្វែងយល់អំពីស៊ុមសម្រាប់ភ្នាក់ងារ AI

AI agent frameworks គឺជា​វេទិកាសอฟต์វ័រ​ដែលរចនាឡើងដើម្បីធ្វើឱ្យការបង្កើត ការដាក់ចេញ និងការគ្រប់គ្រងភ្នាក់ងារ AI trở nênសាមញ្ញ។ ស៊ុមទាំងនេះផ្តល់ឱ្យអ្នកអភិវឌ្ឍន៍​នូវធាតុដែលបានតាំងស្រាយរួច អប្បបរមា និងឧបករណ៍ដែលជួយរំលាយដំណើរការអភិវឌ្ឍន៍ប្រព័ន្ធ AI ដែលស្មុគស្មាញ។

ស៊ុមទាំងនេះជួយឱ្យអ្នកអភិវឌ្ឍន៍អាចផ្តោតលើចំណុចផ្ទាល់ខ្លួននៃកម្មវិធីរបស់ពួកគេដោយផ្តល់វិធីស្តង់ដារ​សម្រាប់បញ្ហាទូទៅនៅក្នុងការអភិវឌ្ឍភ្នាក់ងារ AI។ ពួកវាកែលម្អសមត្ថភាព ក្នុងការពង្រឹងឱកាសពង្រីក សមត្ថភាពចូលដំណើរការ និងប្រសិទ្ធភាពក្នុងការសាងសង់ប្រព័ន្ធ AI។

ការណែនាំ

មេរៀននេះនឹងគ្របដណ្តប់៖

គោលដៅការរៀន

គោលដៅនៃមេរៀននេះគឺជួយឱ្យអ្នកយល់ដឹងអំពី៖

តើអ្វីទៅជាស៊ុមសម្រាប់ភ្នាក់ងារ AI និងវាអនុញ្ញាតឲ្យអ្នកអភិវឌ្ឍន៍ធ្វើអ្វីបានខ្លះ?

ស៊ុម AI ដំណើរការប្រព័ន្ធបុរាណអាចជួយអ្នកបញ្ចូល AI ទៅក្នុងកម្មវិធីរបស់អ្នក និងធ្វើឱ្យកម្មវិធីទាំងនេះមានលក្ខណៈល្អប្រសើរឡើងក្នុងវិធីដូចតទៅ៖

នេះគឺល្អទើបណាស់ តែហេតុអ្វីយើងត្រូវការស៊ុមសម្រាប់ភ្នាក់ងារ AI?

AI Agent frameworks មានអ្វីដែលលើសពីស៊ុម AI ទូទៅ។ វាត្រូវបានរចនាឡើងដើម្បីអនុញ្ញាតឱ្យបង្កើតភ្នាក់ងារ ឆ្លើយតបជាមួយអ្នកប្រើ អ្នកភ្នាក់ងារផ្សេងទៀត និងបរិយាកាស ដើម្បីសម្រេចគោលបំណងជាក់លាក់។ ភ្នាក់ងារទាំងនេះអាចបង្ហាញអាកប្បកិរិយាស្វ័យប្រវត្តិ ទទួលសេចក្តីសម្រេចចិត្ត និងអាចបង្វែរផ្លាស់ប្តូរតាមលក្ខខណ្ឌដែលផ្លាស់ប្តូរ។ មកមើលសមត្ថភាពសំខានៗដែលស៊ុមភ្នាក់ងារជួយអនុវត្តបាន៖

សង្ខេប រួមមាន ភ្នាក់ងារអនុញ្ញាតឱ្យអ្នកធ្វើបានច្រើនទៀត បើកកម្រិតស្វ័យប្រវត្តិទៅកម្រិតបន្ទាប់ និងបង្កើតប្រព័ន្ធឆ្លាតវៃច្រើនទៀតដែលអាចសម្របខ្លួននិងរៀនពីបរិយាកាសរបស់ពួកវា។

តើធ្វើដូចម្តេចដើម្បីបង្កើតគំរូលឿន សាកល្បងស្ទង់ និងកែលម្អសមត្ថភាពភ្នាក់ងារ?

ទីផ្សារនេះរីករាយលឿន ប៉ុន្តែមានកត្តា​ដែលទូទៅក្នុងស៊ុមភ្នាក់ងារ AI ច្រើនដែលអាចជួយអ្នកបង្កើតគំរូលឿន និងធ្វើការកែលម្អ ដូចជា ធាតុម៉ូឌុល, ឧបករណ៍សហការណ៍ និងការរៀនពេលវេលាធ្វើកម្មវិធី។ យើងមកស្វែងយល់វាទាំងនេះ៖

ប្រើធាតុម៉ូឌុល

SDKs ដូចជា Microsoft Agent Framework ផ្តល់ធាតុដែលបានបង្កើតរួចដូចជា កុងណែគទ័រ AI, ការបញ្ជាក់ឧបករណ៍ និងការគ្រប់គ្រងភ្នាក់ងារ។

ក្រុមអាចប្រើវា​ដូចម្តេច: ក្រុមអាច​រួមបញ្ចូលធាតុទាំងនេះយ៉ាងរហ័សដើម្បីបង្កើតគំរូប្រតិបត្តិដែលអាចប្រើបាន ដោយមិនចាប់ផ្តើមពីសូន្យ អនុញ្ញាតឲ្យសាកល្បងលឿន និងធ្វើការផ្លាស់ប្ដូរ។

វាធ្វើការយ៉ាងដូចម្តេចក្នុងអនុវត្ត: អ្នកអាចប្រើ parser ដែលបានបង្កើតរួចដើម្បីដកព័ត៌មានពីការបញ្ចូលរបស់អ្នកប្រើ, ម៉ូឌុលមេម៉ូរីដើម្បីផ្ទុកនិងយកទិន្នន័យ, និងអ្នកបង្កើត prompt ដើម្បីអន្តរាគមន៍ជាមួយអ្នកប្រើ ទាំងនេះដោយមិនចាំបាច់សង់ធាតុទាំងនេះពីសូន្យ។

ឧទាហរណ៍កូដ. មកមើលឧទាហរណ៍មើលរបៀបដែលអ្នកអាចប្រើ Microsoft Agent Framework ជាមួយ AzureAIProjectAgentProvider ដើម្បីឲ្យម៉ូដែលឆ្លើយតបការបញ្ចូលរបស់អ្នកប្រើជាមួយការហៅឧបករណ៍:

# អតិថិជន Microsoft Agent Framework ឧទាហរណ៍ Python

import asyncio
import os
from typing import Annotated

from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential


# កំណត់មុខងារឧបករណ៍គំរូសម្រាប់កក់ការធ្វើដំណើរ
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 = AzureAIProjectAgentProvider(credential=AzureCliCredential())
    agent = await provider.create_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)
    # លទ្ធផលឧទាហរណ៍៖ ជើងហោះហើររបស់អ្នកទៅញូវយ៉កនៅថ្ងៃទី ១ ខែមករា ឆ្នាំ ២០២៥ បានកក់ដោយជោគជ័យ។ សូមធ្វើដំណើរដោយសុវត្ថិភាព! ✈️🗽


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

អ្វីដែលអ្នកអាចមើលឃើញពីឧទាហរណ៍នេះគឺរបៀបដែលអ្នកអាចប្រើ parser ដែលបានបង្កើតរួចដើម្បីដកព័ត៌មានសំខាន់ៗពីការបញ្ចូលរបស់អ្នកប្រើ ដូចជា ប្រភព ដំណើរការ និងថ្ងៃខែរបស់ការស្នើសុំកក់ត្រាវិមាន។ វិធីសាស្ត្រម៉ូឌុលនេះអនុញ្ញាតឲ្យអ្នកផ្តោតលើយោបល់ជាលីវែលខ្ពស់។

ប្រើឧបករណ៍សហការណ៍

ស៊ុមដូចជា Microsoft Agent Framework ជួយងាយក្នុងការបង្កើតភ្នាក់ងារ​ច្រើនដែលអាចធ្វើការជាមួយគ្នា។

ក្រុមអាចប្រើវា​ដូចម្តេច: ក្រុមអាចរចនាភ្នាក់ងារដោយមានតួនាទី និងភារកិច្ចជាក់លាក់ អនុញ្ញាតឲ្យពួកវាសាកល្បង និងកែលម្អដំណើរការសហការណ៍ និងកែលម្អប្រសិទ្ធភាពសរុបនៃប្រព័ន្ធ។

វាធ្វើការយ៉ាងដូចម្តេចក្នុងអនុវត្ត: អ្នកអាចបង្កើតក្រុមភ្នាក់ងារ ដែលនីមួយៗមានមុខងារដែលមានជំនាញពិសេស ដូចជា ទាញយកទិន្នន័យ វិភាគ ឬសម្រេចចិត្ត។ ភ្នាក់ងារទាំងនេះអាចទាក់ទង និងចែករំលែកព័ត៌មានដើម្បីសម្រេចគោលបំណងរួម ដូចជា ឆ្លើយសំណួរអ្នកប្រើ ឬបញ្ចប់ភារកិច្ច។

ឧទាហរណ៍កូដ (Microsoft Agent Framework):

# ការបង្កើតភ្នាក់ងារច្រើនដែលធ្វើការជាមួយគ្នាដោយប្រើ Microsoft Agent Framework

import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential

provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())

# ភ្នាក់ងារយកទិន្នន័យ
agent_retrieve = await provider.create_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# ភ្នាក់ងារ​ធ្វើវិភាគទិន្នន័យ
agent_analyze = await provider.create_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 និង Azure AI Agent Service?

មានវិធីជាច្រើនក្នុងការប្រៀបធៀបវា ប៉ុន្តែយើងមកសម្លឹងទៅលើភាពខុសគ្នាសំខាន់ៗទាក់ទងនឹងការរចនា សមត្ថភាព និងករណីប្រើប្រាស់គោលដៅ៖

Microsoft Agent Framework (MAF)

Microsoft Agent Framework ផ្តល់ SDK ដែលងាយស្រួលសម្រាប់សាងសង់ភ្នាក់ងារ AI ដោយប្រើ AzureAIProjectAgentProvider។ វាអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍បង្កើតភ្នាក់ងារ​ដែលប្រើម៉ូដែល Azure OpenAI ជាមួយនឹងការហៅឧបករណ៍តាំងពីក្នុងប្រព័ន្ធ ការគ្រប់គ្រងការសន្ទនា និងសុវត្ថិភាពកម្រិតសហគ្រាសតាមរយៈអត្តសញ្ញាណ Azure។

ករណីប្រើប្រាស់: សាងសង់ភ្នាក់ងារ AI សម្រាប់ផលិតកម្មដែលត្រៀមប្រើការហៅឧបករណ៍ ដំណើរការជាច្រើនជំហាន និងស្ថានភាពបញ្ចូលគ្នានៅថ្នាក់សហគ្រាស។

នេះគឺជាគំនិតសំខាន់ៗរបស់ Microsoft Agent Framework:

Azure AI Agent Service

Azure AI Agent Service គឺជាការបន្ថែមថ្មី ដែលបានណែនាំនៅ Microsoft Ignite 2024។ វាអនុញ្ញាតឲ្យអភិវឌ្ឍនិងដាក់ចេញភ្នាក់ងារ AI ជាមួយម៉ូដែលបត់បែនច្រើន ដូចជា ការហៅផ្ទាល់ទៅលើ LLMs មានប្រភព​ចំហដែលជា Llama 3, Mistral និង Cohere។

Azure AI Agent Service ផ្តល់យន្តការសុវត្ថិភាពកម្រិតសហគ្រាសជាច្រើន និងវិធីសម្រាប់ផ្ទុកទិន្នន័យ ដែលអាចផ្គូផ្គងសម្រាប់កម្មវិធីសហគ្រាស។

វាធ្វើការ out-of-the-box ជាមួយ Microsoft Agent Framework សម្រាប់សាងសង់និងដាក់ចេញភ្នាក់ងារ។

សេវាកម្មនេះកំពុងនៅក្នុង Public Preview ហើយគាំទ្រ Python និង C# សម្រាប់សាងសង់ភ្នាក់ងារ។

ដោយប្រើ Azure AI 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-4o-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())

គំនិតស្នូល

Azure AI Agent Service មានគំនិតស្នូលដូចតទៅ៖

ករណីប្រើប្រាស់: Azure AI Agent Service ត្រូវបានរចនាសម្រាប់កម្មវិធីសហគ្រាសដែលត្រូវការការដាក់ចេញភ្នាក់ងារដែលមានសុវត្ថិភាព សមត្ថភាពពង្រីក និងបត់បែនបាន។

តើមានភាពខុសគ្នាយ៉ាងដូចម្តេចរវាងវិធីសាស្រ្តទាំងនេះ?

វាមានសំឡេងថាមានការស្រដៀងគ្នា ប៉ុន្តែមានភាពខុសគ្នាសំខាន់ៗទាក់ទងនឹងការរចនា សមត្ថភាព និងករណីប្រើប្រាស់គោលដៅ៖

មិនទាន់ប្រាកដនៅថាតើជ្រើសយ៉ាងដូចម្តេចមែនទេ?

ករណីប្រើប្រាស់

មកមើលថាតើយើងអាចជួយអ្នកដោយឆ្លើយតបករណីប្រើប្រាស់ទូទៅ៖

Q: ខ្ញុំកំពុងសាងសង់កម្មវិធីភ្នាក់ងារ AI សម្រាប់ផលិតកម្ម និងចង់ចាប់ផ្តើមយ៉ាងរហ័ស

A: Microsoft Agent Framework គឺជាជម្រើសល្អ។ វាប្រើ API ដែលសាមញ្ញ និងមានរូបមន្ត Pythonic តាមរយៈ AzureAIProjectAgentProvider ដែលអនុញ្ញាតឲ្យអ្នកកំណត់ភ្នាក់ងារជាមួយឧបករណ៍ និងសេចក្តីណែនាំក្នុងបន្ទាត់កូដមិនច្រើនទេ។

Q: ខ្ញុំត្រូវការការដាក់ចេញក្នុងតំណាក់កាលសហគ្រាសជាមួយការរួមបញ្ចូល Azure ដូចជា Search និងការប្រតិបត្តិកូដ

A: Azure AI Agent Service គឺសាកសមបំផុត។ វាជាសេវាកម្មផ្លូវហាងដែលផ្តល់សមត្ថភាពបង្កើតក្នុងស្រុកសម្រាប់ម៉ូដែលច្រើន, Azure AI Search, Bing Search និង Azure Functions។ វាធ្វើឱ្យងាយក្នុងការសាងសង់ភ្នាក់ងាររបស់អ្នកនៅក្នុង Foundry Portal និងដាក់ចេញនៅស្កេល ។

Q: ខ្ញុំនៅតែច្របូកច្របល់, សូមផ្តល់ជម្រើសតែមួយ

A: ចាប់ផ្តើមជាមួយ Microsoft Agent Framework ដើម្បីសាងសង់ភ្នាក់ងារ រួចប្រើ Azure AI Agent Service ពេលដែលអ្នកត្រូវដាក់ចេញ និងពង្រីកពួកវាសម្រាប់ផលិតកម្ម។ វិធីនេះអនុញ្ញាតឱ្យអ្នកសាកល្បងយ៉ាងរហ័សលើយោបល់ភ្នាក់ងារអ្នក ខណៈពេលមានផ្លូវច្បាស់ទៅរកការដាក់ចេញដល់កម្រិតសហគ្រាស។

អោយយើងសង្ខេបភាពខុសគ្នាសំខាន់ៗក្នុងតារាង៖

Framework Focus Core Concepts Use Cases
Microsoft Agent Framework Streamlined agent SDK with tool calling Agents, Tools, Azure Identity Building AI agents, tool use, multi-step workflows
Azure AI Agent Service Flexible models, enterprise security, Code generation, Tool calling Modularity, Collaboration, Process Orchestration Secure, scalable, and flexible AI agent deployment

តើខ្ញុំអាចផ្សំឧបករណ៍ក្នុងប្រព័ន្ធ Azure ដែលមានរួចរបស់ខ្ញុំដោយផ្ទាល់ ទេ, ឬតើខ្ញុំត្រូវការដាច់ដោយឡែក?

ចម្លើយ​គឺបាទ, អ្នកអាចរួមបញ្ចូលឧបករណ៍នៅក្នុង​ប្រព័ន្ធបរិស្ថាន Azure ដែលមានស្រាប់របស់អ្នកដោយផ្ទាល់ជាមួយ Azure AI Agent Service ពិសេស ព្រោះវាត្រូវបានបង្កើតឡើងដើម្បីធ្វើការយ៉ាងរលូនជាមួយសេវាកម្ម Azure ផ្សេងៗ។ ឧទាហរណ៍ អ្នកអាចរួមបញ្ចូល Bing, Azure AI Search, និង Azure Functions។ ក៏មានការរួមបញ្ចូលជ្រាលជ្រៅជាមួយ Microsoft Foundry ផងដែរ។

The Microsoft Agent Framework ក៏រួមបញ្ចូលជាមួយសេវាកម្ម Azure តាមរយៈ AzureAIProjectAgentProvider និង Azure identity ដែរ ដែលអនុញ្ញាតឱ្យអ្នកហៅសេវាកម្ម Azure ដោយ​ផ្ទាល់ពីឧបករណ៍ភ្នាក់ងារ​របស់អ្នក។

Sample Codes

Got More Questions about AI Agent Frameworks?

ចូលរួមក្នុង Microsoft Foundry Discord ដើម្បីជួបនឹងអ្នករៀនផ្សេងទៀត, ចូលរួមម៉ោងប្រជុំ (office hours) និងទទួលការឆ្លើយសំណួរអំពី AI Agents របស់អ្នក។

References

Previous Lesson

Introduction to AI Agents and Agent Use Cases

Next Lesson

Understanding Agentic Design Patterns


ការមិនទទួលខុសត្រូវ: ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាបកប្រែ AI Co-op Translator។ ខណៈពេលដែលយើងខំប្រឹងសម្រាប់ភាពត្រឹមត្រូវ សូមយល់ដឹងថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬការមិនត្រឹមត្រូវ។ ឯកសារ​ដើម​នៅក្នុង​ភាសា​មូលដ្ឋានគួរត្រូវបានពិចារណាថាជាប្រភពដែលមានសុពលភាព។ សម្រាប់ព័ត៌មានសំខាន់ៗ យើងណែនាំឱ្យប្រើការបកប្រែដោយអ្នកជំនាញមនុស្ស។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសណាមួយ ដែលបណ្តាលមកពីការប្រើប្រាស់ការបកប្រែនេះ។