ai-agents-for-beginners

AI-agentkaders verkennen

(Klik op de afbeelding hierboven om de video van deze les te bekijken)

Verken AI-agentkaders

AI-agentkaders zijn softwareplatforms die zijn ontworpen om het maken, inzetten en beheren van AI-agents te vereenvoudigen. Deze kaders bieden ontwikkelaars vooraf gebouwde componenten, abstracties en hulpmiddelen die de ontwikkeling van complexe AI-systemen stroomlijnen.

Deze kaders helpen ontwikkelaars zich te concentreren op de unieke aspecten van hun toepassingen door gestandaardiseerde benaderingen te bieden voor veelvoorkomende uitdagingen in de ontwikkeling van AI-agents. Ze verhogen schaalbaarheid, toegankelijkheid en efficiëntie bij het bouwen van AI-systemen.

Inleiding

Deze les behandelt:

Leerdoelen

De doelen van deze les zijn om je te helpen begrijpen:

Wat zijn AI-agentkaders en wat stellen ze ontwikkelaars in staat te doen?

Traditionele AI-kaders kunnen je helpen AI in je apps te integreren en deze apps op de volgende manieren te verbeteren:

Dat klinkt allemaal goed, maar waarom hebben we het AI Agent Framework nodig?

AI-agentkaders vertegenwoordigen meer dan alleen AI-kaders. Ze zijn ontworpen om het creëren van intelligente agents mogelijk te maken die kunnen communiceren met gebruikers, andere agents en de omgeving om specifieke doelen te bereiken. Deze agents kunnen autonoom gedrag vertonen, beslissingen nemen en zich aanpassen aan veranderende omstandigheden. Laten we naar enkele belangrijke mogelijkheden kijken die AI-agentkaders mogelijk maken:

Samengevat stellen agents je in staat meer te doen, automatisering naar een hoger niveau te tillen en meer intelligente systemen te creëren die zich kunnen aanpassen en leren van hun omgeving.

Hoe snel prototypen, itereren en de mogelijkheden van de agent verbeteren?

Dit is een snel veranderend landschap, maar er zijn enkele gemeenschappelijke elementen in de meeste AI-agentkaders die je kunnen helpen snel te prototypen en te itereren, namelijk modulecomponenten, samenwerkingshulpmiddelen en realtime leren. Laten we hierop ingaan:

Gebruik modulaire componenten

SDK’s zoals het Microsoft Agent Framework bieden vooraf gebouwde componenten zoals AI-connectoren, tooldefinities en agentbeheer.

Hoe teams deze kunnen gebruiken: Teams kunnen deze componenten snel samenstellen om een functioneel prototype te maken zonder vanaf nul te hoeven beginnen, wat snelle experimenten en iteratie mogelijk maakt.

Hoe dit in de praktijk werkt: Je kunt een vooraf gebouwde parser gebruiken om informatie uit gebruikersinvoer te halen, een geheugenmodule om gegevens op te slaan en op te halen, en een promptgenerator om met gebruikers te communiceren, allemaal zonder deze componenten zelf te hoeven bouwen.

Voorbeeldcode. Laten we kijken naar een voorbeeld van hoe je het Microsoft Agent Framework kunt gebruiken met AzureAIProjectAgentProvider zodat het model reageert op gebruikersinvoer met toolaanroepen:

# Microsoft Agent Framework Python Voorbeeld

import asyncio
import os
from typing import Annotated

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


# Definieer een voorbeeldfunctie voor een hulpmiddel om reizen te boeken
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)
    # Voorbeelduitvoer: Uw vlucht naar New York op 1 januari 2025 is succesvol geboekt. Goede reis! ✈️🗽


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

Wat je in dit voorbeeld kunt zien is hoe je een vooraf gebouwde parser kunt gebruiken om sleutelgegevens uit gebruikersinvoer te halen, zoals de vertrekplaats, bestemming en datum van een vluchtboekingsverzoek. Deze modulaire aanpak stelt je in staat je te richten op de logica op hoog niveau.

Benut samenwerkingshulpmiddelen

Kaders zoals het Microsoft Agent Framework vergemakkelijken het creëren van meerdere agents die samen kunnen werken.

Hoe teams deze kunnen gebruiken: Teams kunnen agents ontwerpen met specifieke rollen en taken, waardoor ze samenwerkingsworkflows kunnen testen en verfijnen en de algehele systeemefficiëntie kunnen verbeteren.

Hoe dit in de praktijk werkt: Je kunt een team van agents creëren waarbij elke agent een gespecialiseerde functie heeft, zoals gegevensopvraging, analyse of besluitvorming. Deze agents kunnen communiceren en informatie delen om een gemeenschappelijk doel te bereiken, zoals het beantwoorden van een gebruikersvraag of het voltooien van een taak.

Voorbeeldcode (Microsoft Agent Framework):

# Meerdere agenten creëren die samenwerken met behulp van het Microsoft Agent Framework

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

provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())

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

# Gegevensanalyseagent
agent_analyze = await provider.create_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Agenten achtereenvolgens uitvoeren voor een taak
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)

Wat je in de vorige code ziet, is hoe je een taak kunt creëren waarbij meerdere agents samenwerken om gegevens te analyseren. Elke agent voert een specifieke functie uit en de taak wordt uitgevoerd door de agents te coördineren om het gewenste resultaat te bereiken. Door toegewijde agents met gespecialiseerde rollen te maken, kun je de efficiëntie en prestaties van taken verbeteren.

Leer in realtime

Geavanceerde kaders bieden mogelijkheden voor realtime contextbegrip en aanpassing.

Hoe teams deze kunnen gebruiken: Teams kunnen feedbackloops implementeren waarbij agents leren van interacties en hun gedrag dynamisch aanpassen, wat leidt tot continue verbetering en verfijning van mogelijkheden.

Hoe dit in de praktijk werkt: Agents kunnen gebruikersfeedback, omgevingsgegevens en taakresultaten analyseren om hun kennisbasis bij te werken, besluitvormingsalgoritmen aan te passen en de prestaties in de loop van de tijd te verbeteren. Dit iteratieve leerproces stelt agents in staat zich aan te passen aan veranderende omstandigheden en gebruikersvoorkeuren, wat de algehele effectiviteit van het systeem verhoogt.

Wat zijn de verschillen tussen het Microsoft Agent Framework en Azure AI Agent Service?

Er zijn veel manieren om deze benaderingen te vergelijken, maar laten we naar enkele belangrijke verschillen kijken op het gebied van ontwerp, mogelijkheden en beoogde use-cases:

Microsoft Agent Framework (MAF)

Het Microsoft Agent Framework biedt een gestroomlijnde SDK voor het bouwen van AI-agents met AzureAIProjectAgentProvider. Het stelt ontwikkelaars in staat agents te maken die Azure OpenAI-modellen gebruiken met ingebouwde toolaanroepen, gesprekbeheer en enterprise-grade beveiliging via Azure-identiteit.

Use Cases: Het bouwen van productieklare AI-agents met toolgebruik, meerstappige workflows en enterprise-integratiescenario’s.

Hier zijn enkele belangrijke kernconcepten van het Microsoft Agent Framework:

Azure AI Agent Service

Azure AI Agent Service is een meer recente toevoeging, geïntroduceerd tijdens Microsoft Ignite 2024. Het maakt de ontwikkeling en uitrol van AI-agents met flexibelere modellen mogelijk, zoals directe aanroepen naar open-source LLM’s zoals Llama 3, Mistral en Cohere.

Azure AI Agent Service biedt sterkere enterprise-beveiligingsmechanismen en methoden voor gegevensopslag, waardoor het geschikt is voor enterprise-toepassingen.

Het werkt direct samen met het Microsoft Agent Framework voor het bouwen en uitrollen van agents.

Deze service bevindt zich momenteel in Public Preview en ondersteunt Python en C# voor het bouwen van agents.

Met de Azure AI Agent Service Python SDK kunnen we een agent maken met een door de gebruiker gedefinieerde tool:

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

# Definieer functietools
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())

Kernconcepten

Azure AI Agent Service heeft de volgende kernconcepten:

Use Cases: Azure AI Agent Service is ontworpen voor enterprise-toepassingen die veilige, schaalbare en flexibele uitrol van AI-agents vereisen.

Wat is het verschil tussen deze benaderingen?

Het lijkt misschien alsof er overlap is, maar er zijn enkele belangrijke verschillen in ontwerp, mogelijkheden en beoogde use-cases:

Nog steeds niet zeker welke je moet kiezen?

Use Cases

Laten we kijken of we je kunnen helpen door enkele veelvoorkomende use-cases door te nemen:

Q: Ik bouw productieklare AI-agenttoepassingen en wil snel aan de slag

A: Het Microsoft Agent Framework is een uitstekende keuze. Het biedt een eenvoudige, Python-achtige API via AzureAIProjectAgentProvider waarmee je agents met tools en instructies in slechts een paar regels code kunt definiëren.

Q: Ik heb enterprise-grade uitrol nodig met Azure-integraties zoals Search en code-executie

A: Azure AI Agent Service is de beste keuze. Het is een platformservice die ingebouwde mogelijkheden biedt voor meerdere modellen, Azure AI Search, Bing Search en Azure Functions. Het maakt het eenvoudig om je agents in de Foundry Portal te bouwen en op schaal uit te rollen.

Q: Ik ben nog steeds in de war, geef me gewoon één optie

A: Begin met het Microsoft Agent Framework om je agents te bouwen en gebruik vervolgens Azure AI Agent Service wanneer je ze in productie moet uitrollen en schalen. Deze aanpak stelt je in staat snel te itereren op je agentlogica terwijl je een duidelijk pad naar enterprise-uitrol behoudt.

Laten we de belangrijkste verschillen samenvatten in een tabel:

Framework Focus Kernconcepten Use Cases
Microsoft Agent Framework Gestroomlijnde agent-SDK met toolaanroepen Agents, Tools, Azure Identity Bouwen van AI-agents, toolgebruik, meerstappige workflows
Azure AI Agent Service Flexibele modellen, enterprise-beveiliging, codegeneratie, toolaanroepen Modulariteit, Samenwerking, Procesorkestratie Veilige, schaalbare en flexibele uitrol van AI-agents

Kan ik mijn bestaande Azure-ecosysteemtools direct integreren, of heb ik zelfstandige oplossingen nodig?

Het antwoord is ja: je kunt je bestaande Azure-ecosysteemtools rechtstreeks integreren met Azure AI Agent Service, vooral omdat het is gebouwd om naadloos samen te werken met andere Azure-diensten. Je kunt bijvoorbeeld Bing, Azure AI Search en Azure Functions integreren. Er is ook diepe integratie met Microsoft Foundry.

Het Microsoft Agent Framework integreert ook met Azure-diensten via AzureAIProjectAgentProvider en Azure identity, waardoor je Azure-diensten rechtstreeks vanuit je agenttools kunt aanroepen.

Voorbeeldcodes

Nog meer vragen over AI Agent Frameworks?

Sluit je aan bij de Microsoft Foundry Discord om andere deelnemers te ontmoeten, spreekuren bij te wonen en antwoorden op je vragen over AI Agents te krijgen.

Referenties

Vorige les

Introductie tot AI-agenten en gebruiksscenario’s

Volgende les

Agentische ontwerppatronen begrijpen


Vrijwaring: Dit document is vertaald met behulp van de AI-vertalingsdienst Co-op Translator. Hoewel we naar nauwkeurigheid streven, dient u er rekening mee te houden dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het oorspronkelijke document in de oorspronkelijke taal moet als de gezaghebbende bron worden beschouwd. Voor kritieke informatie wordt een professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor enige misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.