(Klicken Sie auf das obige Bild, um das Video dieser Lektion anzusehen)
KI-Agenten-Frameworks sind Softwareplattformen, die entwickelt wurden, um die Erstellung, Bereitstellung und Verwaltung von KI-Agenten zu vereinfachen. Diese Frameworks bieten Entwicklern vorgefertigte Komponenten, Abstraktionen und Werkzeuge, die die Entwicklung komplexer KI-Systeme rationalisieren.
Diese Frameworks helfen Entwicklern, sich auf die einzigartigen Aspekte ihrer Anwendungen zu konzentrieren, indem sie standardisierte Ansätze für häufige Herausforderungen in der Entwicklung von KI-Agenten bereitstellen. Sie verbessern Skalierbarkeit, Zugänglichkeit und Effizienz beim Aufbau von KI-Systemen.
Diese Lektion behandelt:
Die Ziele dieser Lektion sind, Ihnen zu helfen:
Traditionelle KI-Frameworks können Ihnen helfen, KI in Ihre Apps zu integrieren und diese Apps auf folgende Weise zu verbessern:
KI-Agenten-Frameworks sind mehr als nur KI-Frameworks. Sie sind darauf ausgelegt, die Erstellung intelligenter Agenten zu ermöglichen, die mit Nutzern, anderen Agenten und der Umgebung interagieren können, um spezifische Ziele zu erreichen. Diese Agenten können autonom handeln, Entscheidungen treffen und sich an veränderte Bedingungen anpassen. Schauen wir uns einige zentrale Fähigkeiten an, die durch KI-Agenten-Frameworks ermöglicht werden:
Zusammenfassend ermöglichen Agenten Ihnen, mehr zu tun, Automatisierung auf die nächste Stufe zu heben und intelligentere Systeme zu schaffen, die sich an ihre Umgebung anpassen und daraus lernen können.
Dieses Feld entwickelt sich schnell, aber es gibt einige Bestandteile, die bei den meisten KI-Agenten-Frameworks üblich sind und Ihnen helfen, schnell zu prototypisieren und zu iterieren, nämlich modulare Komponenten, kollaborative Werkzeuge und Echtzeit-Lernen. Schauen wir uns diese an:
SDKs wie das Microsoft Agent Framework bieten vorgefertigte Komponenten wie KI-Konnektoren, Werkzeugdefinitionen und Agentenverwaltung.
Wie Teams diese nutzen können: Teams können diese Komponenten schnell zusammenstellen, um einen funktionsfähigen Prototyp zu erstellen, ohne bei Null anfangen zu müssen, was schnelles Experimentieren und Iterieren ermöglicht.
So funktioniert es in der Praxis: Sie können einen vorgefertigten Parser verwenden, um Informationen aus Nutzereingaben zu extrahieren, ein Speichermodul, um Daten zu speichern und abzurufen, und einen Prompt-Generator, um mit Nutzern zu interagieren – alles ohne, diese Komponenten selbst entwickeln zu müssen.
Beispielcode. Schauen wir uns ein Beispiel an, wie das Microsoft Agent Framework mit FoundryChatClient genutzt wird, damit das Modell auf Nutzereingaben mit Werkzeugaufrufen reagieren kann:
# Microsoft Agent Framework Python Beispiel
import asyncio
import os
from agent_framework import tool
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
# Definieren Sie eine Beispiel-Toolfunktion zur Buchung von Reisen
@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)
# Beispielausgabe: Ihr Flug nach New York am 1. Januar 2025 wurde erfolgreich gebucht. Gute Reise! ✈️🗽
if __name__ == "__main__":
asyncio.run(main())
Was Sie an diesem Beispiel sehen können, ist, wie Sie einen vorgefertigten Parser nutzen, um wichtige Informationen aus der Nutzereingabe zu extrahieren, wie beispielsweise den Abflugort, Zielort und das Datum einer Flugbuchungsanfrage. Dieser modulare Ansatz ermöglicht es, sich auf die übergeordnete Logik zu konzentrieren.
Frameworks wie das Microsoft Agent Framework erleichtern die Erstellung mehrerer Agenten, die zusammenarbeiten können.
Wie Teams diese nutzen können: Teams können Agenten mit spezifischen Rollen und Aufgaben entwerfen, was das Testen und Verfeinern kollaborativer Arbeitsabläufe ermöglicht und so die Gesamteffizienz des Systems verbessert.
So funktioniert es in der Praxis: Sie können ein Team von Agenten erstellen, bei dem jeder Agent eine spezialisierte Funktion hat, wie Datenerfassung, Analyse oder Entscheidungsfindung. Diese Agenten können kommunizieren und Informationen teilen, um ein gemeinsames Ziel zu erreichen, beispielsweise eine Nutzeranfrage zu beantworten oder eine Aufgabe zu erledigen.
Beispielcode (Microsoft Agent Framework):
# Erstellen mehrerer Agenten, die zusammen mit dem Microsoft Agent Framework arbeiten
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(),
)
# Datenabruf-Agent
agent_retrieve = provider.as_agent(
name="dataretrieval",
instructions="Retrieve relevant data using available tools.",
tools=[retrieve_tool],
)
# Datenanalyse-Agent
agent_analyze = provider.as_agent(
name="dataanalysis",
instructions="Analyze the retrieved data and provide insights.",
tools=[analyze_tool],
)
# Agenten nacheinander für eine Aufgabe ausführen
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)
Im vorherigen Code sehen Sie, wie eine Aufgabe erstellt wird, die mehrere Agenten zusammenarbeiten lässt, um Daten zu analysieren. Jeder Agent führt eine spezifische Funktion aus, und die Aufgabe wird durch Koordination der Agenten ausgeführt, um das gewünschte Ergebnis zu erreichen. Durch die Erstellung dedizierter Agenten mit spezialisierten Rollen können Sie die Effizienz und Leistung der Aufgaben verbessern.
Fortgeschrittene Frameworks bieten Fähigkeiten für kontextuelles Verständnis und Anpassung in Echtzeit.
Wie Teams diese nutzen können: Teams können Feedback-Schleifen implementieren, bei denen Agenten aus Interaktionen lernen und ihr Verhalten dynamisch anpassen, was zu kontinuierlicher Verbesserung und Verfeinerung der Fähigkeiten führt.
So funktioniert es in der Praxis: Agenten können Nutzerfeedback, Umweltdaten und Arbeitsergebnisse analysieren, um ihre Wissensbasis zu aktualisieren, Entscheidungsalgorithmen anzupassen und ihre Leistung im Laufe der Zeit zu verbessern. Dieser iterative Lernprozess ermöglicht es Agenten, sich an veränderte Bedingungen und Nutzerpräferenzen anzupassen und die Gesamteffektivität des Systems zu steigern.
Es gibt viele Vergleichsmöglichkeiten, aber werfen wir einen Blick auf einige Schlüsseldifferenzen hinsichtlich Design, Fähigkeiten und Zielanwendungen:
Das Microsoft Agent Framework bietet ein schlankes SDK zum Erstellen von KI-Agenten mit FoundryChatClient. Es ermöglicht Entwicklern, Agenten zu erstellen, die Azure OpenAI-Modelle mit eingebautem Werkzeugaufruf, Gesprächsverwaltung und unternehmensgerechter Sicherheit über Azure-Identität nutzen.
Anwendungsfälle: Erstellung produktionsbereiter KI-Agenten mit Werkzeugnutzung, mehrstufigen Arbeitsabläufen und Integrationsszenarien für Unternehmen.
Hier sind einige wichtige Kernkonzepte des Microsoft Agent Framework:
FoundryChatClient erstellt und mit Name, Anweisungen und Werkzeugen konfiguriert. Der Agent kann:
Hier ein Codeausschnitt, der zeigt, wie man einen Agenten erstellt:
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(),
)
agent = provider.as_agent(
name="my_agent",
instructions="You are a helpful assistant.",
)
response = await agent.run("Hello, World!")
print(response)
Werkzeuge. Das Framework unterstützt die Definition von Werkzeugen als Python-Funktionen, die der Agent automatisch aufrufen kann. Werkzeuge werden beim Erstellen des Agenten registriert:
def get_weather(location: str) -> str:
"""Get the current weather for a location."""
return f"The weather in {location} is sunny, 72\u00b0F."
agent = provider.as_agent(
name="weather_agent",
instructions="Help users check the weather.",
tools=[get_weather],
)
Multi-Agenten-Koordination. Sie können mehrere Agenten mit unterschiedlichen Spezialisierungen erstellen und deren Arbeit koordinieren:
planner = provider.as_agent(
name="planner",
instructions="Break down complex tasks into steps.",
)
executor = provider.as_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 (oder DefaultAzureCredential) für sichere, schlüsselose Authentifizierung, um die direkte Verwaltung von API-Schlüsseln zu vermeiden.Microsoft Foundry Agent Service ist eine neuere Ergänzung, vorgestellt auf der Microsoft Ignite 2024. Es ermöglicht die Entwicklung und Bereitstellung von KI-Agenten mit flexibleren Modellen, etwa durch direkten Aufruf von Open-Source-LLMs wie Llama 3, Mistral und Cohere.
Microsoft Foundry Agent Service bietet stärkere Sicherheitsmechanismen für Unternehmen und Methoden zur Datenspeicherung, wodurch es sich gut für Unternehmensanwendungen eignet.
Es funktioniert „out-of-the-box“ mit dem Microsoft Agent Framework zum Erstellen und Bereitstellen von Agenten.
Dieser Service befindet sich derzeit in der öffentlichen Vorschau und unterstützt Python und C# für die Agentenerstellung.
Mit dem Microsoft Foundry Agent Service Python SDK können wir einen Agenten mit einem benutzerdefinierten Werkzeug erstellen:
import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
# Definieren Sie Werkzeugfunktionen
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-4.1-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())
Microsoft Foundry Agent Service verfügt über folgende Kernkonzepte:
Agent. Microsoft Foundry Agent Service ist in Microsoft Foundry integriert. Innerhalb von Microsoft Foundry agiert ein KI-Agent als „intelligenter“ Microservice, der genutzt werden kann, um Fragen zu beantworten (RAG), Aktionen auszuführen oder komplette Arbeitsabläufe zu automatisieren. Dies erreicht er durch die Kombination der Leistungsfähigkeit generativer KI-Modelle mit Werkzeugen, die ihm den Zugriff auf und die Interaktion mit realen Datenquellen ermöglichen. Hier ein Beispiel für einen Agenten:
agent = project_client.agents.create_agent(
model="gpt-4.1-mini",
name="my-agent",
instructions="You are helpful agent",
tools=code_interpreter.definitions,
tool_resources=code_interpreter.resources,
)
In diesem Beispiel wird ein Agent mit dem Modell gpt-4.1-mini, dem Namen my-agent und den Anweisungen „You are helpful agent“ erstellt. Der Agent ist mit Werkzeugen und Ressourcen ausgestattet, um Aufgaben der Code-Interpretation durchzuführen.
Thread und Nachrichten. Der Thread ist ein weiteres wichtiges Konzept. Er repräsentiert eine Unterhaltung oder Interaktion zwischen einem Agenten und einem Nutzer. Threads können genutzt werden, um den Fortschritt eines Gesprächs zu verfolgen, Kontextinformationen zu speichern und den Status der Interaktion zu verwalten. Hier ein Beispiel für einen Thread:
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",
)
# Fordern Sie den Agenten auf, Arbeiten am Thread durchzuführen
run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id)
# Alle Nachrichten abrufen und protokollieren, um die Antwort des Agenten zu sehen
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")
Im vorherigen Code wird ein Thread erstellt. Danach wird dem Thread eine Nachricht gesendet. Durch den Aufruf von create_and_process_run wird der Agent gebeten, im Thread zu arbeiten. Schließlich werden die Nachrichten abgerufen und protokolliert, um die Antwort des Agenten zu sehen. Die Nachrichten zeigen den Fortschritt der Unterhaltung zwischen Nutzer und Agenten an. Es ist auch wichtig zu verstehen, dass die Nachrichten unterschiedliche Typen haben können, wie Text, Bild oder Datei, d.h. die Arbeit des Agenten hat beispielsweise zu einer Bild- oder Textantwort geführt. Als Entwickler können Sie diese Informationen verwenden, um die Antwort weiterzuverarbeiten oder dem Nutzer darzustellen.
Integration mit dem Microsoft Agent Framework. Microsoft Foundry Agent Service arbeitet nahtlos mit dem Microsoft Agent Framework zusammen, was bedeutet, dass Sie Agenten mit FoundryChatClient erstellen und über den Agent Service für Produktionsszenarien bereitstellen können.
Anwendungsfälle: Microsoft Foundry Agent Service ist für Unternehmensanwendungen ausgelegt, die eine sichere, skalierbare und flexible Bereitstellung von KI-Agenten erfordern.
Es gibt Überschneidungen, aber einige Schlüsselunterschiede hinsichtlich Design, Fähigkeiten und Zielanwendungen:
Noch unsicher, welches Sie wählen sollen?
Schauen wir, ob wir Ihnen helfen können, indem wir einige gängige Anwendungsfälle ansehen:
F: Ich entwickle produktionsreife KI-Agenten-Anwendungen und möchte schnell starten
A: Das Microsoft Agent Framework ist eine ausgezeichnete Wahl. Es bietet eine einfache, Python-orientierte API via
FoundryChatClient, mit der Sie Agenten mit Werkzeugen und Anweisungen in nur wenigen Codezeilen definieren können.
F: Ich benötige eine unternehmensgerechte Bereitstellung mit Azure-Integrationen wie Search und Code-Ausführung
A: Microsoft Foundry Agent Service passt am besten. Es ist ein Plattformdienst, der integrierte Fähigkeiten für mehrere Modelle, Azure AI Search, Bing Search und Azure Functions bietet. Es erleichtert den Bau Ihrer Agenten im Foundry-Portal und die Bereitstellung in großem Maßstab.
F: Ich bin immer noch verwirrt, geben Sie mir bitte nur eine Option
A: Beginnen Sie mit dem Microsoft Agent Framework, um Ihre Agenten zu entwickeln, und verwenden Sie dann Microsoft Foundry Agent Service, wenn Sie sie produktiv bereitstellen und skalieren müssen. Dieser Ansatz ermöglicht Ihnen schnelles Iterieren der Agentenlogik und bietet gleichzeitig einen klaren Pfad zur Unternehmensbereitstellung.
Fassen wir die wichtigsten Unterschiede in einer Tabelle zusammen:
| Framework | Fokus | Kernkonzepte | Anwendungsfälle |
|---|---|---|---|
| Microsoft Agent Framework | Schlankes Agenten-SDK mit Werkzeugaufruf | Agenten, Werkzeuge, Azure-Identität | Bau von KI-Agenten, Werkzeugnutzung, mehrstufige Arbeitsabläufe |
| Microsoft Foundry Agent Service | Flexible Modelle, Unternehmenssicherheit, Code-Generierung, Werkzeugaufruf | Modularität, Zusammenarbeit, Prozess-Orchestrierung | Sichere, skalierbare und flexible Bereitstellung von KI-Agenten |
Die Antwort lautet ja, Sie können Ihre bestehenden Azure-Ökosystem-Tools direkt mit dem Microsoft Foundry Agent Service integrieren, insbesondere da dieser so entwickelt wurde, dass er nahtlos mit anderen Azure-Diensten zusammenarbeitet. Sie könnten zum Beispiel Bing, Azure AI Search und Azure Functions integrieren. Es gibt auch eine tiefe Integration mit Microsoft Foundry.
Das Microsoft Agent Framework integriert sich auch über FoundryChatClient und Azure-Identität mit Azure-Diensten, sodass Sie Azure-Dienste direkt von Ihren Agenten-Tools aus aufrufen können.
Treten Sie dem Microsoft Foundry Discord bei, um andere Lernende zu treffen, Office Hours zu besuchen und Ihre Fragen zu AI Agents beantwortet zu bekommen.
Einführung in AI Agents und Agent Use Cases
Verständnis von Agentic Design Patterns
Haftungsausschluss: Dieses Dokument wurde mit dem KI-Übersetzungsdienst Co-op Translator übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Bei kritischen Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.