ai-agents-for-beginners

Tyrinėjant AI agentų karkasus

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

Tyrinėkite AI agentų karkasus

Dirbtinio intelekto 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štas dalis, abstrakcijas ir įrankius, kurie pagreitina sudėtingų AI sistemų kūrimą.

Šie karkasai padeda kūrėjams susitelkti į unikalius jų programų aspektus, teikdami standartinius sprendimus įprastoms AI agentų kūrimo problemoms. Jie didina mastelį, prieinamumą ir efektyvumą kuriant AI sistemas.

Įvadas

Šioje pamokoje aptarsime:

Mokymosi tikslai

Šios pamokos tikslai yra 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 į jūsų programas ir pagerinti jas šiais būdais:

Viską skamba puikiai, bet kodėl mums reikia AI agentų karkaso?

AI agentų karkasai reiškia kažką daugiau nei tik AI karkasai. Jie sukurti leidžiant kurti intelektualius agentus, kurie gali sąveikauti su vartotojais, kitais agentais ir aplinka, siekdami konkrečių tikslų. Šie agentai gali demonstruoti autonominį elgesį, priimti sprendimus ir prisitaikyti prie kintančių sąlygų. Pažvelkime į keletą pagrindinių galimybių, kurias suteikia AI agentų karkasai:

Apibendrinant, agentai leidžia jums atlikti daugiau, pakelti automatizavimą į kitą lygį ir kurti intelektualesnes sistemas, kurios gali prisitaikyti ir mokytis iš savo aplinkos.

Kaip greitai prototipuoti, iteruoti ir tobulinti agento gebėjimus?

Tai sparčiai besikeičianti sritis, tačiau yra keletas bendrų savybių daugelyje AI agentų karkasų, kurios gali padėti greitai prototipuoti ir iteruoti — tai modulinių komponentų, bendradarbiavimo įrankių ir realaus laiko mokymosi panaudojimas. Pažiūrėkime tai išsamiau:

Naudokite modulius komponentus

SDK, tokie kaip Microsoft Agent Framework, siūlo iš anksto paruoštus komponentus, tokius kaip AI jungtys, įrankių apibrėžimai ir agentų valdymas.

Kaip komandos gali tai naudoti: Komandos gali greitai surinkti šiuos komponentus ir sukurti funkcinį prototipą be pradedančio nuo nulio, leidžiančią greitai eksperimentuoti ir kartoti.

Kaip tai veikia praktikoje: galite naudoti iš anksto paruoštą parser’į, kad išgautumėte informaciją iš vartotojo įvesties, atminties modulį duomenų saugojimui ir gavimui, bei pranešimų generatorių sąveikai su vartotojais — visa tai be poreikio kurti šiuos komponentus nuo nulio.

Pavyzdinis kodas. Pažiūrėkime pavyzdį, kaip galite naudoti Microsoft Agent Framework su AzureAIProjectAgentProvider, kad modelis atsakytų į vartotojo įvestį kviesdamas įrankius:

# Microsoft Agent Framework Python pavyzdys

import asyncio
import os
from typing import Annotated

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


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


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

Iš šio pavyzdžio matyti, kaip galite pasinaudoti iš anksto paruoštu parser’iu, kad iš vartotojo įvesties išgautumėte pagrindinę informaciją, pvz., skrydžio užsakymo užklausos kilmę, paskirties vietą ir datą. Šis modulinis požiūris leidžia susitelkti į aukšto lygio logiką.

Pasinaudokite bendradarbiavimo įrankiais

Karkasai, tokie kaip Microsoft Agent Framework, palengvina kelių agentų, galinčių dirbti kartu, kūrimą.

Kaip komandos gali tai naudoti: Komandos gali sukurti agentus su konkrečiomis rolėmis ir užduotimis, leidžiančiomis išbandyti ir tobulinti bendradarbiavimo darbo srautus bei pagerinti bendrą sistemos efektyvumą.

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

Pavyzdinis kodas (Microsoft Agent Framework):

# Kuriami keli agentai, kurie dirba kartu, naudojant Microsoft Agent sistemą

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

provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())

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

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

# Vykdyti agentus iš eilės užduoties atlikimui
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)

Iš ankstesnio kodo matote, kaip galite sukurti užduotį, kurioje dalyvauja keli agentai, dirbantys kartu duomenų analizei. Kiekvienas agentas atlieka specifinę funkciją, o užduotis vykdoma koordinuojant agentus, kad būtų pasiektas pageidaujamas rezultatas. Kuriant skirtus agentus su specializuotomis rolėmis, galite pagerinti užduočių efektyvumą ir našumą.

Mokykitės realiu laiku

Išplėstiniai karkasai suteikia galimybes realaus laiko konteksto supratimui ir prisitaikymui.

Kaip komandos gali tai naudoti: Komandos gali įdiegti grįžtamojo ryšio grandines, kuriose agentai mokosi iš sąveikų ir dinamiškai keičia savo elgesį, kas veda prie nuolatinio gebėjimų tobulėjimo ir rafinavimo.

Kaip tai veikia praktikoje: agentai gali analizuoti vartotojų atsiliepimus, aplinkos duomenis ir užduočių rezultatus, atnaujinti savo žinių bazę, koreguoti sprendimų priėmimo algoritmus ir palaipsniui gerinti našumą. Šis iteratyvus mokymosi procesas leidžia agentams prisitaikyti prie kintančių sąlygų ir vartotojų pageidavimų, didinant bendrą sistemos veiksmingumą.

Kokie yra skirtumai tarp Microsoft Agent Framework ir Azure AI Agent Service?

Yra daug būdų palyginti šiuos požiūrius, bet pažvelkime į keletą pagrindinių skirtumų jų dizaino, galimybių ir tikslinių naudojimo atvejų požiūriu:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework teikia supaprastintą SDK AI agentų kūrimui naudojant AzureAIProjectAgentProvider. Jis suteikia kūrėjams galimybę kurti agentus, kurie naudoja Azure OpenAI modelius su integruotu įrankių kvietimu, pokalbių valdymu ir įmoniniu saugumu per Azure tapatybę.

Naudojimo atvejai: Kurti gamybai paruoštus AI agentus, naudojančius įrankius, daugiasluoksnius darbo srautus ir įmonines integracijos scenarijas.

Štai keletas svarbių Microsoft Agent Framework pagrindinių sąvokų:

Azure AI Agent Service

Azure AI Agent Service yra naujesnis priedas, pristatytas Microsoft Ignite 2024 metu. Jis leidžia kurti ir diegti AI agentus su lankstesniais modeliais, pavyzdžiui, tiesiogiai kviečiant atviro kodo LLM’us, tokius kaip Llama 3, Mistral ir Cohere.

Azure AI Agent Service teikia stipresnius įmonės saugumo mechanizmus ir duomenų saugojimo metodus, todėl tinka įmoninėms programoms.

Jis veikia „iš dėžutės“ kartu su Microsoft Agent Framework agentų kūrimui ir diegimui.

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

Naudodami Azure AI 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ėžti įrankio 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-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())

Pagrindinės sąvokos

Azure AI Agent Service apima šias pagrindines sąvokas:

Naudojimo atvejai: Azure AI Agent Service sukurta įmoninėms programoms, kurioms reikalingas saugus, išplečiamas ir lanksčiai diegiamas AI agentų palaikymas.

Kuo šie požiūriai skiriasi?

Atrodo, jog yra perdengimų, bet yra keletas pagrindinių skirtumų jų dizaino, galimybių ir tikslinių naudojimo atvejų požiūriu:

Vis dar nesate tikri, kurį pasirinkti?

Naudojimo atvejai

Pažiūrėkime, ar galime jums padėti peržiūrėdami keletą dažnų naudojimo atvejų:

Q: Kuriu gamybos AI agentų programas ir noriu greitai pradėti

A: Microsoft Agent Framework yra puikus pasirinkimas. Jis suteikia paprastą, Python stilistika paremtą API per AzureAIProjectAgentProvider, leidžiančią apibrėžti agentus su įrankiais ir instrukcijomis vos keliose kodo eilutėse.

Q: Man reikia įmoninio lygio diegimo su Azure integracijomis, tokiomis kaip Search ir kodo vykdymas

A: Azure AI Agent Service yra geriausias variantas. Tai platformos paslauga, kuri teikia integruotas galimybes keliems modeliams, Azure AI Search, Bing Search ir Azure Functions. Ji palengvina agentų kūrimą Foundry portale ir jų diegimą mastu.

Q: Vis dar nesuprantu, pasirinkite vieną variantą už mane

A: Pradėkite nuo Microsoft Agent Framework, kad sukurtumėte savo agentus, o vėliau naudokite Azure AI Agent Service, kai reikės juos diegti ir masteliuoti gamyboje. Šis požiūris leidžia greitai iteruoti agentų logiką, turint aiškų kelią į įmoninį diegimą.

Apibendrinkime pagrindinius skirtumus lentelėje:

Framework Dėmesys Pagrindinės sąvokos Naudojimo atvejai
Microsoft Agent Framework Supaprastintas agentų SDK su įrankių kvietimu Agentai, Įrankiai, Azure tapatybė AI agentų kūrimas, įrankių naudojimas, daugiasluoksniai darbo srautai
Azure AI Agent Service Lankstūs modeliai, įmonės saugumas, kodo generavimas, įrankių kvietimas Modularumas, Bendradarbiavimas, Procesų orkestracija Saugus, išplečiamas ir lankstus AI agentų diegimas

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

Atsakymas yra taip — galite tiesiogiai integruoti esamus savo Azure ekosistemos įrankius su Azure AI Agent Service, ypač todėl, kad jis buvo sukurtas sklandžiai veikti su kitomis Azure paslaugomis. Pavyzdžiui, galite integruoti Bing, Azure AI Search ir Azure Functions. Taip pat yra glaudi integracija su Microsoft Foundry.

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

Pavyzdžių kodai

Turite daugiau klausimų apie AI agentų sistemas?

Prisijunkite prie Microsoft Foundry Discord, kad susipažintumėte su kitais besimokančiais, dalyvautumėte konsultacijose ir gautumėte atsakymus į savo AI agentų klausimus.

Nuorodos

Ankstesnė pamoka

Įvadas į AI agentus ir agentų naudojimo atvejus

Kita pamoka

Agentinių dizaino šablonų supratimas


Atsakomybės apribojimas: Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą Co-op Translator (https://github.com/Azure/co-op-translator). Nors stengiamės užtikrinti tikslumą, atkreipkite dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Esant svarbiai informacijai rekomenduojama naudoti profesionalaus vertėjo atliktą vertimą. Mes neatsakome už jokius nesusipratimus ar klaidingas interpretacijas, kylančias dėl šio vertimo naudojimo.