ai-agents-for-beginners

AI agentų karkasų tyrinėjimas

(Spustelėkite aukščiau esančią nuotrauką, kad peržiūrėtumėte šios pamokos vaizdo įrašą)

AI agentų karkasų tyrinėjimas

AI agentų karkasai yra programinės įrangos platformos, sukurtos supaprastinti AI agentų kūrimą, diegimą ir valdymą. Šie karkasai suteikia kūrėjams iš anksto paruoštus komponentus, abstrakcijas ir įrankius, kurie palengvina sudėtingų AI sistemų kūrimą.

Šie karkasai padeda kūrėjams sutelkti dėmesį į jų programų unikalumą, teikdami standartizuotus požiūrius į įprastus AI agentų kūrimo iššūkius. Jie didina mastelį, prieinamumą ir efektyvumą kuriant AI sistemas.

Įvadas

Šioje pamokoje aptarsime:

Mokymosi tikslai

Šios pamokos tikslas – padėti jums suprasti:

Kas yra AI agentų karkasai ir ką jie leidžia kūrėjams daryti?

Tradiciniai AI karkasai gali padėti integruoti AI į savo programėles ir pagerinti jas šiais būdais:

Viskas skamba puikiai, todėl kodėl mums reikia AI agentų karkaso?

AI agentų karkasai yra daugiau nei tik AI karkasai. Jie skirti leisti kurti intelektualius agentus, kurie gali bendrauti su vartotojais, kitais agentais ir aplinka, siekiant konkrečių tikslų. Šie agentai gali demonstruoti autonominį elgesį, priimti sprendimus ir prisitaikyti prie besikeičiančių sąlygų. Pažiūrėkime į pagrindines AI agentų karkasų suteikiamas galimybes:

Taigi apibendrinant, agentai leidžia jums daugiau, pakelia automatizavimą į aukštesnį lygį, kuria protingesnes sistemas, kurios gali prisitaikyti ir mokytis iš savo aplinkos.

Kaip greitai kurti prototipus, iteruoti ir gerinti agentų galimybes?

Tai sparčiai kintanti sritis, bet daugelyje AI agentų karkasų yra bendrų elementų, kurie padeda greitai kurti prototipus ir iteruoti, tai yra moduliniai komponentai, bendradarbiavimo įrankiai ir realaus laiko mokymasis. Pažiūrėkime į juos:

Naudokite moduliarius komponentus

Tokie SDK kaip Microsoft Agent Framework siūlo iš anksto paruoštus komponentus, pvz., AI jungtis, įrankių apibrėžimus ir agentų valdymą.

Kaip komandos gali tai panaudoti: Komandos gali greitai surinkti šiuos komponentus, kad sukurtų funkcionalų prototipą nepradėdamos nuo nulio, leidžiant greitai eksperimentuoti ir iteruoti.

Kaip tai veikia praktikoje: Galite naudoti iš anksto paruoštą analizatorių informacijai iš vartotojo įvesties išgauti, atminties modulį duomenims saugoti ir atkurti, bei užklausų generatorių, kad bendrautumėte su vartotojais, visa tai neteikdami šių komponentų patys.

Kodo pavyzdys. Pažiūrėkime, kaip naudoti Microsoft Agent Framework su FoundryChatClient, kad modelis atsakytų į vartotojo įvestį įrankių iškvietimu:

# Microsoft Agent Framework Python Pavyzdys

import asyncio
import os

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


# Apibrėžkite pavyzdinę įrankio funkciją kelionės užsakymui
@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)
    # Pavyzdinis išvestis: Jūsų skrydis į Niujorką 2025 m. sausio 1 d. sėkmingai užsakytas. Linkime saugios kelionės! ✈️🗽


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

Iš šio pavyzdžio matyti, kaip galite panaudoti iš anksto paruoštą analizatorių, kad iš vartotojo įvesties išgautumėte pagrindinę informaciją, pvz., kilmę, paskirties vietą ir skrydžio užsakymo datą. Šis modulinis požiūris leidžia sutelkti dėmesį į aukšto lygio logiką.

Išnaudokite bendradarbiavimo įrankius

Tokie karkasai kaip Microsoft Agent Framework palengvina kelių agentų, kurie gali dirbti kartu, kūrimą.

Kaip komandos gali tai panaudoti: Komandos gali kurti agentus su konkrečiomis rolėmis ir užduotimis, leidžiančiais testuoti ir tobulinti bendradarbiavimo darbo procesus bei gerinti bendrą sistemos efektyvumą.

Kaip tai veikia praktikoje: Galite sukurti agentų komandą, kur kiekvienas agentas turi specializuotą funkciją, pvz., duomenų gavimą, analizę ar sprendimų priėmimą. Šie agentai gali bendrauti ir dalytis informacija, siekdami bendro tikslo, pvz., atsakyti į vartotojo užklausą ar atlikti užduotį.

Kodo pavyzdys (Microsoft Agent Framework):

# Sukuriant kelis agentus, kurie dirba kartu, naudojant 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(),
)

# Duomenų gavimo agentas
agent_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# Duomenų analizės agentas
agent_analyze = provider.as_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Paleisti agentus iš eilės atliekant užduotį
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)

Ankstesniame kode matote, kaip sukurti užduotį, kurioje keli agentai dirba kartu analizuodami duomenis. Kiekvienas agentas atlieka konkrečią funkciją, o užduotis vykdoma koordinuojant agentų darbą siekiant norimo rezultato. Kurdamas agentus su specializuotomis rolėmis galite pagerinti užduočių efektyvumą ir našumą.

Mokykitės realiu laiku

Pažangūs karkasai suteikia galimybes realiu laiku suprasti kontekstą ir prisitaikyti.

Kaip komandos gali tai panaudoti: Komandos gali įgyvendinti atsiliepimų ciklus, kuriuose agentai mokosi iš sąveikų ir dinamiškai koreguoja savo elgesį, taip nuolat gerindami ir tobulindami savo galimybes.

Kaip tai veikia praktikoje: Agentai gali analizuoti vartotojų atsiliepimus, aplinkos duomenis ir užduočių rezultatus, atnaujinti savo žinių bazę, koreguoti sprendimų algoritmus ir gerinti veikimą laikui bėgant. Šis iteratyvus mokymosi procesas leidžia agentams prisitaikyti prie kintančių sąlygų ir vartotojų pageidavimų, didinant bendrą sistemos efektyvumą.

Kokie skirtumai tarp Microsoft Agent Framework ir Microsoft Foundry Agent Service?

Yra daug būdų palyginti šiuos požiūrius, bet pažvelkime į pagrindinius skirtumus jų dizaino, galimybių ir tikslinių panaudojimo atvejų atžvilgiu:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework suteikia supaprastintą SDK AI agentų kūrimui naudojant FoundryChatClient. Jis leidžia kūrėjams kurti agentus, kurie naudoja Azure OpenAI modelius su įmontuotu įrankių iškvietimu, pokalbių valdymu ir įmonės lygio saugumu per Azure identifikaciją.

Panaudojimo atvejai: Gamybai paruoštų AI agentų kūrimas su įrankių naudojimu, daugiažingsniais darbo srautais ir įmonės integracijos scenarijais.

Štai keletas svarbių Microsoft Agent Framework pagrindinių konceptų:

Microsoft Foundry Agent Service

Microsoft Foundry Agent Service yra naujesnis sprendimas, pristatytas Microsoft Ignite 2024 renginyje. Jis leidžia kurti ir diegti AI agentus su lankstesniais modeliais, pavyzdžiui, tiesiogiai kviečiant atvirojo kodo LLM, tokius kaip Llama 3, Mistral ir Cohere.

Microsoft Foundry Agent Service suteikia griežtesnes įmonių saugumo priemones ir duomenų saugojimo metodus, todėl tinka įmonių programėlėms.

Jis veikia be papildomų konfigūracijų kartu su Microsoft Agent Framework agentų kūrimui ir diegimui.

Ši paslauga šiuo metu yra viešojo peržiūros (Public Preview) stadijoje ir palaiko Python bei C# agentų kūrimui.

Naudodami Microsoft Foundry Agent Service Python SDK galime sukurti agentą su vartotojo apibrėžtu įrankiu:

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

# Apibrėžkite įrankių funkcijas
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())

Pagrindinės sąvokos

Microsoft Foundry Agent Service apima šias pagrindines sąvokas:

Panaudojimo atvejai: Microsoft Foundry Agent Service skirta įmonių programėlėms, reikalaujančioms saugaus, mastelio ir lankstaus AI agentų diegimo.

Kuo skiriasi šie požiūriai?

Nors atrodo, kad yra persidengimų, tačiau yra svarbių skirtumų dizaino, galimybių ir panaudojimo atvejų požiūriu:

Vis dar nežinote, ką pasirinkti?

Panaudojimo atvejai

Peržvelkime keletą dažnų panaudojimo atvejų ir pažiūrėkime, ar galime jums padėti:

K: Kuriu gamybinius AI agentų sprendimus ir noriu greitai pradėti

A: Microsoft Agent Framework yra puikus pasirinkimas. Jis suteikia paprastą, Python stiliaus API per FoundryChatClient, leidžiančią apibrėžti agentus su įrankiais ir instrukcijomis vos keliais kodo eilutėmis.

K: Man reikia įmonių lygio diegimo su Azure integracijomis, tokiomis kaip Search ir kodo vykdymas

A: Microsoft Foundry Agent Service yra geriausias pasirinkimas. Tai platformos paslauga, suteikianti įmontuotas galimybes keliems modeliams, Azure AI Search, Bing Search ir Azure Functions. Su ja galima lengvai kurti agentus Foundry portale ir diegti juos mastu.

K: Dar nesu tikras, tiesiog duokite vieną pasirinkimą

A: Pradėkite nuo Microsoft Agent Framework agentų kūrimui, o kai reikės gamybos diegimo ir mastelio, naudokite Microsoft Foundry Agent Service. Šis požiūris leidžia greitai iteruoti agentų logiką ir turėti aiškų kelią į įmonių diegimą.

Apibendrinkime pagrindinius skirtumus lentelėje:

Framework Dėmesys Pagrindinės sąvokos Panaudojimo atvejai
Microsoft Agent Framework Supaprastintas agentų SDK su įrankių iškvietimu Agentai, Įrankiai, Azure tapatybė AI agentų kūrimas, įrankių naudojimas, daugiažingsnės darbo eigos
Microsoft Foundry Agent Service Lankstūs modeliai, įmonių saugumas, kodo generavimas, įrankių iškvietimas Moduliarumas, Bendradarbiavimas, Procesų orkestravimas Saugus, mastomas ir lankstus AI agentų diegimas

Ar galiu tiesiogiai integruoti savo esamus Azure ekosistemos įrankius, ar man reikia savarankiškų sprendimų?

Atsakymas yra taip, savo esamus Azure ekosistemos įrankius galite tiesiogiai integruoti su Microsoft Foundry Agent Service, ypač kadangi jis buvo sukurtas sklandžiai veikti su kitomis Azure paslaugomis. Pavyzdžiui, galite integruoti Bing, Azure AI Search ir Azure Functions. Taip pat yra gilus integravimas su Microsoft Foundry.

Microsoft Agent Framework taip pat integruojasi su Azure paslaugomis per FoundryChatClient ir Azure tapatybę, leidžiant jums tiesiogiai kviesti Azure paslaugas iš savo agentų įrankių.

Pavyzdiniai kodai

Turite daugiau klausimų apie AI agentų karkasus?

Prisijunkite prie Microsoft Foundry Discord, kad susitiktumėte su kitais mokytojais, dalyvautumėte konsultacijose ir gautumėte atsakymus į savo AI agentų klausimus.

Nuorodos

Ankstesnė pamoka

Įvadas į AI agentus ir agentų naudojimo atvejus

Kitoji pamoka

Agentinės dizaino šablonų supratimas


Atsakomybės apribojimas: Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojama naudoti profesionalų žmogiškąjį vertimą. Mes neatsakome už jokius nesusipratimus ar neteisingą interpretaciją, kilusią naudojantis šiuo vertimu.