(Klik på billedet ovenfor for at se videoen til denne lektion)
AI-agentrammer er softwareplatforme designet til at forenkle oprettelsen, udrulningen og styringen af AI-agenter. Disse rammer giver udviklere færdigbyggede komponenter, abstraktioner og værktøjer, der gør udviklingen af komplekse AI-systemer mere effektiv.
Disse rammer hjælper udviklere med at fokusere på de unikke aspekter af deres applikationer ved at tilbyde standardiserede tilgange til almindelige udfordringer i udviklingen af AI-agenter. De øger skalerbarhed, tilgængelighed og effektivitet ved opbygning af AI-systemer.
Denne lektion dækker:
Målet med denne lektion er at hjælpe dig med at forstå:
Traditionelle AI-rammer kan hjælpe dig med at integrere AI i dine apps og forbedre dem på følgende måder:
AI-agentrammer repræsenterer mere end blot AI-rammer. De er designet til at muliggøre oprettelsen af intelligente agenter, der kan interagere med brugere, andre agenter og miljøet for at nå specifikke mål. Disse agenter kan udvise autonom adfærd, træffe beslutninger og tilpasse sig ændrede forhold. Lad os se på nogle nøglekapabiliteter, som AI-agentrammer muliggør:
Så kort sagt, agenter giver dig mulighed for at gøre mere, tage automatisering til næste niveau og skabe mere intelligente systemer, der kan tilpasse sig og lære af deres omgivelser.
Dette er et hurtigt udviklende område, men der er nogle ting, der er fælles på tværs af de fleste AI-agentrammer, som kan hjælpe dig med hurtigt at prototype og iterere, nemlig modulære komponenter, samarbejdsværktøjer og realtidslæring. Lad os dykke ned i disse:
SDK’er som Microsoft Agent Framework tilbyder færdigbyggede komponenter såsom AI-connectors, værktøjsdefinitioner og agentstyring.
Hvordan teams kan bruge disse: Teams kan hurtigt samle disse komponenter for at skabe en funktionel prototype uden at starte fra bunden, hvilket muliggør hurtig eksperimenteren og iteration.
Hvordan det virker i praksis: Du kan bruge en færdigbygget parser til at udtrække information fra brugerinput, en hukommelsesmodul til at gemme og hente data, og en promptgenerator til at interagere med brugere — alt sammen uden at skulle bygge disse komponenter fra bunden.
Eksempelkode. Lad os se på et eksempel på, hvordan du kan bruge Microsoft Agent Framework med AzureAIProjectAgentProvider for at få modellen til at svare på brugerinput med tool calling:
# Microsoft Agent Framework Python Eksempel
import asyncio
import os
from typing import Annotated
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
# Definer en prøveværktøjsfunktion til at booke rejser
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)
# Eksempel output: Din flyrejse til New York den 1. januar 2025 er blevet booket succesfuldt. God rejse! ✈️🗽
if __name__ == "__main__":
asyncio.run(main())
Hvad du kan se fra dette eksempel er, hvordan du kan udnytte en færdigbygget parser til at udtrække nøgleinformation fra brugerinput, såsom afgangssted, destination og dato for en flybookingsforespørgsel. Denne modulære tilgang giver dig mulighed for at fokusere på den overordnede logik.
Rammer som Microsoft Agent Framework faciliterer oprettelsen af flere agenter, der kan arbejde sammen.
Hvordan teams kan bruge disse: Teams kan designe agenter med specifikke roller og opgaver, så de kan teste og forfine samarbejdsarbejdsgange og forbedre den samlede systemeffektivitet.
Hvordan det virker i praksis: Du kan oprette et team af agenter, hvor hver agent har en specialiseret funktion, såsom dataindsamling, analyse eller beslutningstagning. Disse agenter kan kommunikere og dele information for at nå et fælles mål, såsom at besvare en brugerhenvendelse eller fuldføre en opgave.
Eksempelkode (Microsoft Agent Framework):
# Opretter flere agenter, der arbejder sammen ved hjælp af Microsoft Agent Framework
import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
# Datahentningsagent
agent_retrieve = await provider.create_agent(
name="dataretrieval",
instructions="Retrieve relevant data using available tools.",
tools=[retrieve_tool],
)
# Dataanalyseagent
agent_analyze = await provider.create_agent(
name="dataanalysis",
instructions="Analyze the retrieved data and provide insights.",
tools=[analyze_tool],
)
# Kør agenter i rækkefølge på en opgave
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)
Hvad du ser i den tidligere kode er, hvordan du kan oprette en opgave, der involverer flere agenter, der arbejder sammen for at analysere data. Hver agent udfører en specifik funktion, og opgaven udføres ved at koordinere agenternes arbejde for at opnå det ønskede resultat. Ved at oprette dedikerede agenter med specialiserede roller kan du forbedre opgaveeffektivitet og ydeevne.
Avancerede rammer tilbyder muligheder for realtidsforståelse af kontekst og tilpasning.
Hvordan teams kan bruge disse: Teams kan implementere feedbacksløjfer, hvor agenter lærer af interaktioner og justerer deres adfærd dynamisk, hvilket fører til kontinuerlig forbedring og forfining af kapabiliteter.
Hvordan det virker i praksis: Agenter kan analysere brugerfeedback, miljødata og opgaveudfald for at opdatere deres videnbase, justere beslutningsalgoritmer og forbedre ydeevnen over tid. Denne iterative læringsproces gør det muligt for agenter at tilpasse sig skiftende forhold og brugerpræferencer, hvilket øger systemets effektivitet.
Der er mange måder at sammenligne disse tilgange på, men lad os se på nogle nøgleforskelle hvad angår design, kapabiliteter og målrettede brugsscenarier:
Microsoft Agent Framework tilbyder et strømlinet SDK til at bygge AI-agenter ved hjælp af AzureAIProjectAgentProvider. Det gør det muligt for udviklere at skabe agenter, der udnytter Azure OpenAI-modeller med indbygget værktøjskald, samtalestyring og virksomheds-grade sikkerhed gennem Azure-identitet.
Brugsscenarier: Bygning af produktionsklare AI-agenter med værktøjsbrug, flertrinsarbejdsgange og enterprise-integration.
Her er nogle vigtige kernekoncepter i Microsoft Agent Framework:
AzureAIProjectAgentProvider og konfigureres med et navn, instruktioner og værktøjer. Agenten kan:
Her er en kodeeksempel, der viser, hvordan man opretter en agent:
import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
agent = await provider.create_agent(
name="my_agent",
instructions="You are a helpful assistant.",
)
response = await agent.run("Hello, World!")
print(response)
Tools. Rammen understøtter definition af værktøjer som Python-funktioner, som agenten kan kalde automatisk. Værktøjer registreres ved oprettelse af agenten:
def get_weather(location: str) -> str:
"""Get the current weather for a location."""
return f"The weather in {location} is sunny, 72\u00b0F."
agent = await provider.create_agent(
name="weather_agent",
instructions="Help users check the weather.",
tools=[get_weather],
)
Multi-Agent Coordination. Du kan oprette flere agenter med forskellige specialiseringer og koordinere deres arbejde:
planner = await provider.create_agent(
name="planner",
instructions="Break down complex tasks into steps.",
)
executor = await provider.create_agent(
name="executor",
instructions="Execute the planned steps using available tools.",
tools=[execute_tool],
)
plan = await planner.run("Plan a trip to Paris")
result = await executor.run(f"Execute this plan: {plan}")
AzureCliCredential (eller DefaultAzureCredential) for sikker, nøglefri autentificering, hvilket eliminerer behovet for direkte at håndtere API-nøgler.Azure AI Agent Service er en mere recent tilføjelse, introduceret ved Microsoft Ignite 2024. Den tillader udvikling og udrulning af AI-agenter med mere fleksible modeller, såsom direkte kald til open-source LLM’er som Llama 3, Mistral og Cohere.
Azure AI Agent Service tilbyder stærkere virksomhedssikkerhedsmekanismer og datalagringsmetoder, hvilket gør den velegnet til enterprise-applikationer.
Den fungerer direkte sammen med Microsoft Agent Framework til at bygge og udrulle agenter.
Denne service er i Public Preview og understøtter Python og C# til opbygning af agenter.
Ved hjælp af Azure AI Agent Service Python SDK kan vi oprette en agent med et brugerdefineret værktøj:
import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
# Definer værktøjsfunktioner
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 har følgende kernekoncepter:
Agent. Azure AI Agent Service integrerer med Microsoft Foundry. Inden for AI Foundry fungerer en AI-agent som en “smart” mikrotjeneste, der kan bruges til at svare på spørgsmål (RAG), udføre handlinger eller fuldstændigt automatisere arbejdsgange. Det opnår dette ved at kombinere generative AI-modellers kraft med værktøjer, der giver den adgang til og mulighed for at interagere med virkelige datakilder. Her er et eksempel på en agent:
agent = project_client.agents.create_agent(
model="gpt-4o-mini",
name="my-agent",
instructions="You are helpful agent",
tools=code_interpreter.definitions,
tool_resources=code_interpreter.resources,
)
I dette eksempel oprettes en agent med modellen gpt-4o-mini, et navn my-agent, og instruktionerne You are helpful agent. Agenten er udstyret med værktøjer og ressourcer til at udføre kodefortolkningsopgaver.
Thread and messages. Tråden er et andet vigtigt koncept. Den repræsenterer en samtale eller interaktion mellem en agent og en bruger. Tråde kan bruges til at spore fremdriften i en samtale, gemme kontekstinformation og håndtere interaktionens tilstand. Her er et eksempel på en tråd:
thread = project_client.agents.create_thread()
message = project_client.agents.create_message(
thread_id=thread.id,
role="user",
content="Could you please create a bar chart for the operating profit using the following data and provide the file to me? Company A: $1.2 million, Company B: $2.5 million, Company C: $3.0 million, Company D: $1.8 million",
)
# Ask the agent to perform work on the thread
run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id)
# Fetch and log all messages to see the agent's response
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")
I den tidligere kode oprettes en tråd. Derefter sendes en besked til tråden. Ved at kalde create_and_process_run bliver agenten bedt om at udføre arbejde på tråden. Endelig hentes og logges beskederne for at se agentens svar. Beskederne angiver fremdriften i samtalen mellem brugeren og agenten. Det er også vigtigt at forstå, at beskederne kan være af forskellige typer såsom tekst, billede eller fil, det vil sige, at agenternes arbejde for eksempel har resulteret i et billede eller et tekstsvar. Som udvikler kan du derefter bruge disse oplysninger til yderligere at behandle svaret eller præsentere det for brugeren.
Integrates with the Microsoft Agent Framework. Azure AI Agent Service fungerer problemfrit sammen med Microsoft Agent Framework, hvilket betyder, at du kan bygge agenter ved hjælp af AzureAIProjectAgentProvider og udrulle dem gennem Agent Service til produktionsscenarier.
Brugsscenarier: Azure AI Agent Service er designet til enterprise-applikationer, der kræver sikker, skalerbar og fleksibel udrulning af AI-agenter.
Det kan lyde som om der er overlap, men der er nogle nøgleforskelle med hensyn til design, kapabiliteter og målrettede brugsscenarier:
Er du stadig ikke sikker på, hvilken du skal vælge?
Lad os se, om vi kan hjælpe dig ved at gennemgå nogle almindelige brugsscenarier:
Q: I’m building production AI agent applications and want to get started quickly
A: Microsoft Agent Framework er et fremragende valg. Det giver et simpelt, Python-venligt API via
AzureAIProjectAgentProvider, der lader dig definere agenter med værktøjer og instruktioner på kun få linjer kode.
Q: I need enterprise-grade deployment with Azure integrations like Search and code execution
A: Azure AI Agent Service er det bedste valg. Det er en platformtjeneste, der tilbyder indbyggede kapabiliteter for flere modeller, Azure AI Search, Bing Search og Azure Functions. Det gør det nemt at bygge dine agenter i Foundry-portalen og udrulle dem i stor skala.
Q: I’m still confused, just give me one option
A: Start med Microsoft Agent Framework for at bygge dine agenter, og brug derefter Azure AI Agent Service, når du har brug for at udrulle og skalere dem i produktion. Denne tilgang lader dig iterere hurtigt på din agentlogik, samtidig med at du har en klar vej til enterprise-udrulning.
Lad os opsummere de vigtigste forskelle i en tabel:
| Framework | Fokus | Kernekoncepter | Anvendelsestilfælde |
|---|---|---|---|
| Microsoft Agent Framework | Strømlinet agent-SDK med værktøjskald | Agenter, Værktøjer, Azure-identitet | Opbygning af AI-agenter, værktøjsbrug, flertrinsarbejdsgange |
| Azure AI Agent Service | Fleksible modeller, virksomhedssikkerhed, kodegenerering, værktøjskald | Modularitet, Samarbejde, Procesorkestrering | Sikker, skalerbar og fleksibel udrulning af AI-agenter |
Svaret er ja, du kan integrere dine eksisterende Azure-økosystemværktøjer direkte med Azure AI Agent Service, især da den er bygget til at arbejde problemfrit sammen med andre Azure-tjenester. Du kan for eksempel integrere Bing, Azure AI Search og Azure Functions. Der er også dyb integration med Microsoft Foundry.
Microsoft Agent Framework integreres også med Azure-tjenester gennem AzureAIProjectAgentProvider og Azure-identitet, hvilket lader dig kalde Azure-tjenester direkte fra dine agentværktøjer.
Deltag i Microsoft Foundry Discord for at møde andre lærende, deltage i kontortimer og få svar på dine spørgsmål om AI-agenter.
Introduktion til AI-agenter og agentbrugstilfælde
Forstå agentiske designmønstre
Ansvarsfraskrivelse: Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi stræber efter nøjagtighed, bedes du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på originalsproget bør betragtes som den autoritative kilde. For kritiske oplysninger anbefales en professionel menneskelig oversættelse. Vi er ikke ansvarlige for eventuelle misforståelser eller fejltolkninger som følge af brugen af denne oversættelse.