In Azure Functions gehostete Skills

Azure Functions hosted skills sind ein Programmiermodell zum Aufbau cloud-gehosteter, ereignisgesteuerter intelligenter Fähigkeiten auf Azure Functions. Du definierst das Verhalten mit Markdown, natürlichsprachigen Anweisungen und deklarativer Konfiguration. Du kannst gehostete Fähigkeiten über Azure Functions-Trigger und -Bindungen mit deinen Anwendungen integrieren oder bei Bedarf eigenen Code als Werkzeuge mitbringen.

Important

Von Azure Functions gehostete Skills sind derzeit als Vorschau verfügbar. Features, Konfigurationsnamen und unterstützte Connectors können sich vor der allgemeinen Verfügbarkeit ändern.

Eine Azure Functions gehostete Skills-App ist eine Funktions-App, die das gehostete Skills-Programmierungsmodell verwendet. Es enthält KI-Aufgaben, die in .agent.md Dateien definiert sind, und Aufgaben können optional wiederverwendbare Markdown-Anleitung aus Dateien SKILL.md verwenden. In diesem Artikel bezieht sich Hosted Skills auf das Programmiermodell, Task auf eine einzelne betriebsfähige Einheit und Skill auf wiederverwendbare Markdown-Richtlinien.

Scenarios

Die von Azure Functions gehosteten Fähigkeiten funktionieren am besten für ereignisgesteuerte, toolreiche KI-Workloads. Zu den gängigen Szenarien gehören:

  • HTTP-Aufgaben , die eine Anfrage empfangen, aufrufen Werkzeuge und geben eine strukturierte Antwort zurück.
  • Geplante Aufgaben, die tägliche Berichte, Zusammenfassungen, Bereinigungen oder Abstimmungs-Workflows ausführen.
  • Warteschlangen- oder Nachrichtenaufgaben, die Arbeitselemente verarbeiten, die Schlussfolgerungen durch das Modell oder Werkzeugaufrufe erfordern.
  • Datenänderungsaufgaben , die auf neue oder geänderte Dateien, Datensätze oder Datenbankzeilen reagieren.
  • Durch Connectoren ausgelöste Aufgaben, die auf Ereignisse von verwalteten Connectoren reagieren, beispielsweise Teams-Nachrichten, Outlook-E-Mails oder Kalenderereignisse.

Tip

Informationen zum Ausprobieren von mit Azure Functions gehosteten Skills finden Sie unter Build an event-driven AI app with Azure Functions hosted skills. Mit einer azd Vorlage kannst du innerhalb von Minuten eine funktionierende App auf Azure bereitstellen.

Warum Functions für Ihre KI-Apps verwenden?

Produktions-KI-Workloads brauchen mehr als nur einen Prompt und ein Modell. Sie benötigen zuverlässige Möglichkeiten, um mit der Arbeit zu beginnen, externe Systeme aufzurufen, aufgezeichnete Unterhaltungen beizubehalten, nicht vertrauenswürdigen Code sicher auszuführen, ohne geheime Schlüssel zu authentifizieren, Telemetrie auszustrahlen und bedarfsgesteuert zu skalieren.

Functions bietet ein ereignisgesteuertes Rechenmodell für diese operativen Anliegen. Azure Functions Hosted Skills wenden dasselbe Modell auf deinen KI-Code an. Dies hat unter anderem folgende Vorteile:

  • KI-Aufgaben sind die Arbeitseinheit. Jede Aufgabe ist in einer separaten .agent.md Datei mit deklarativer Konfiguration und natürlichen Sprachanweisungen definiert.
  • Ereignisse starten Aufgaben. Funktionsauslöser starten KI-Aufgaben aus Zeitplänen, HTTP-Anfragen, Warteschlangennachrichten, Blob-Änderungen, Event Grid-Events, Service Bus-Nachrichten und anderen unterstützten Events.
  • Funktionen werden zunächst konfiguriert – Code kommt nur bei Bedarf zum Einsatz. Sie können Tasks so konfigurieren, dass Remote-MCP-Server, in Connector-Namespaces gehostete MCP-Server, Skills und Codeausführungen in Sandboxes verwendet werden. Schreibe deine eigenen Python-basierten Tools für app-spezifische Logik.
  • Azure Functions-Hosting ist integriert. Von Azure Functions gehostete Skills unterstützen die Tarife Flex Consumption, Premium und Dedicated (App Service). Flex Consumption bietet Skalierung auf null, sekundengenaue Abrechnung und automatische Skalierung. Alle Tarife unterstützen Managed Identity, virtuelle Netzwerkintegration und Application Insights.
  • Die betriebliche Sanitärarbeit wird für Sie übernommen. Die Laufzeit verwaltet Aufgabenerkennung, Trigger-Registrierung, Werkzeugmontage, Sitzungshistorie und optionale integrierte Endpunkte.

Funktioniert mit anderen Microsoft-KI-Plattformen

Die gehosteten Fähigkeiten von Azure Functions ergänzen andere KI-Angebote von Microsoft und können parallel dazu verwendet werden. Ihr Sweet Spot ist der Aufbau cloud-gehosteter, ereignisgetriebener intelligenter Fähigkeiten auf Azure Functions durch ein zugängliches Programmiermodell. Gehostete Fähigkeiten können Fähigkeiten über HTTP oder MCP für die Nutzung durch andere Anwendungen, Agenten und Agenten-Harnesses bereitstellen.

Wählen Sie die Azure-Funktionalität, die am besten zu Ihrer Situation passt:

Szenario Option
Deterministische Funktionen als Werkzeuge für einen anderen KI-Client bereitstellen Azure Functions MCP-Erweiterung
Lang andauernde, mehrstufige Orchestrierung mit Human-in-the-Loop-Genehmigungen Dauerhafte Funktionen
Erstellen und verwalten Sie KI-Agenten ohne kundenspezifisches Hosting Microsoft Foundry oder Copilot Studio

Projektdefinition

Eine Azure Functions gehostete Skills-App ist ein standardisiertes Python v2 Function App-Projekt, das zusammen mit laufzeitspezifischen Dateien bereitgestellt wird. Die folgenden Projektdateien sind für Python-Funktionsanwendungen immer erforderlich:

File Zweck
function_app.py Importiert create_function_app() und gibt die konfigurierte Azure Functions App zurück.
host.json Konfiguriert den Azure Functions-Host.
requirements.txt Enthält das Hosted-Skills-Runtime-Paket und alle app-spezifischen Python-Abhängigkeiten.

Weitere Informationen finden Sie im Azure Functions Developer Reference Guide für Python-Apps.

Agent-Laufzeitdateien

Die Laufzeit erkennt diese Dateien und Ordner, die zusammen mit dem App-Projekt bereitgestellt werden:

Datei oder Ordner Zweck
*.agent.md Definiert KI-Aufgaben. YAML-Metadaten konfigurieren die Aufgabe, und der Markdown-Hauptteil bildet die Anweisungen. Dein Projekt muss mindestens eine Datei .agent.md haben.
agents.config.yaml (Optional) Definiert Anwendungsweite Laufzeitstandardeinstellungen, wie Modell-, Timeout- und Sandbox-Einstellungen.
mcp.json Definiert die entfernten HTTP-MCP-Server, die KI-Aufgaben als Werkzeuge nutzen können, einschließlich Connector-Tools für Aktionen wie das Senden von E-Mails oder die Arbeit mit Teams.
tools/ (Optional) Enthält alle benutzerdefinierten Python-Tools, die du erstellst, um Funktionen bereitzustellen, die MCP-Server noch nicht bieten, Verbindungen, Fähigkeiten oder Sandbox-Ausführungen.
skills/ (Optional) Enthält wiederverwendbare SKILL.md Prompt-Assets, die KI-Aufgaben bei Bedarf laden können.

Jede .agent.md Datei verwendet YAML Front Matter, gefolgt von Markdown-Anweisungen. Dieses Beispiel definiert eine zeitgesteuerte KI-Aufgabe, die täglich um 15 Uhr (UTC) läuft:

---
name: Daily Tech News Email
description: Fetches top tech news and emails a summary daily.

trigger:
  type: timer_trigger
  args:
    schedule: "0 0 15 * * *"
---

You are a news assistant. When triggered, do the following:

1. Gather today's top technology news from reputable sources.
1. Summarize the stories in a concise HTML email body.
1. Email the summary to $TO_EMAIL with the subject "Daily Tech News Summary".

Der einleitende Abschnitt gibt an, wie die Aufgabe aufgerufen wird. Der Markdowntext ist der Anweisungsblock, den die Laufzeit während der Ausführung an das Modell übergibt. Die Ersetzung von Umgebungsvariablen ermöglicht es Anweisungen und Konfigurationswerten, auf App-Einstellungen wie $TO_EMAIL zu verweisen.

Jede .agent.md Datei definiert eine KI-Aufgabe. Der Dateiname leitet den Azure-Funktionsnamen und das Routensegment für eingebaute Endpunkte ab. Das Feld name ist ein Anzeigename für Protokolle, Beschriftungen und Dokumentation.

Für die vollständige Liste der Dateifelder für Agents, App-Konfigurationsoptionen und Regeln zur Variablenersetzung siehe Azure Functions hosted skills reference.

App-Startprozess

Wenn der Functions-Host die App lädt, erkennt die .agent.md-Methode create_function_app-Dateien, MCP-Server, Skills und benutzerdefinierte Tools im Projekt. Es validiert die Konfiguration, stellt die Werkzeuge für jede Aufgabe zusammen und registriert die erforderlichen Trigger und Endpunkte.

Wenn ein Trigger ausgelöst wird, erstellt die Laufzeit die Aufgabe mit ihren aufgelösten Anweisungen, Modell, Werkzeugen und Sitzungshistorie und führt sie dann mit dem Microsoft Agent Framework aus.

KI-Aufgaben durch Ereignisse auslösen

Die Laufzeit unterstützt mehrere Trigger in deiner App, aber nur einen Trigger pro .agent.md Datei. Eine Triggerdefinition weist ein type Und ein args Objekt auf. Es type identifiziert die Triggerbindung und args enthält die triggerspezifischen Einstellungen, die konfigurieren, welches Ereignis die KI-Aufgabe startet.

Zu den gängigen Triggermustern gehören:

Schema Example
HTTP-Aufgabe Empfangen einer Anforderung, Anruftools und Zurückgeben einer strukturierten Antwort.
Geplante Aufgabe Führen Sie einen täglichen Berichterstellungs-, Zusammenfassungs-, Bereinigungs- oder Abstimmungsworkflow aus.
Warteschlange oder Nachrichtenaufgabe Verarbeiten von Arbeitsaufgaben, die Modellgründe oder Toolaufrufe benötigen.
Speicher- oder Datenbankereignisaufgabe Reagieren Sie auf geänderte Dateien, Datensätze oder Ereignisse.
Durch Konnektor ausgelöste Aufgabe Reagieren Sie auf Ereignisse von verwalteten Connectors, wie Teams-Nachrichten, Outlook-Mails oder vom Connector unterstützten Kalenderereignissen.

Ausführliche Informationen zur Triggerkonfiguration, zu unterstützten Typen und zu args finden Sie in der Referenz zu in Azure Functions gehosteten Skills.

Unterstützte KI-Tools

Die von Azure Functions gehosteten Fähigkeiten unterstützen verschiedene Arten von Werkzeugen. Beginne mit konfigurierten Funktionen und nutze benutzerdefinierte Python-Tools für app-spezifische Logik, die nicht zu diesen Optionen passt.

Fern-MCP-Server

Definiere entfernte HTTP- oder streambare HTTP-MCP-Server in mcp.json. Die Laufzeit erkennt diese Server und stellt ihre Tools allen KI-Aufgaben zur Verfügung. Verwenden Sie entfernte MCP-Server, wenn Aufgaben Werkzeuge aufrufen müssen, die von einem anderen Dienst gehostet werden, oder Funktionen über Anwendungsgrenzen hinweg zusammenstellen müssen.

Azure-Konnektoren

Connectors ermöglichen es KI-Aufgaben, mit externen Diensten ohne individuellen API-Client-Code zu arbeiten. Ein Connector-Namespace beherbergt Verbindungen, Trigger und MCP-Server für Dienste wie Microsoft 365 Outlook, Teams, Salesforce, SAP oder SQL. Verwenden Sie Connector-Trigger, um Aufgaben aus externen Ereignissen zu starten, und Connector-MCP-Tools, um Service-Aktionen aus Task-Anweisungen aufzurufen.

Fähigkeiten

Speichere wiederverwendbare Prompt-Assets unter dem skills/ Ordner. Jeder Fertigkeitsordner enthält eine SKILL.md Datei mit Namen, Beschreibung und Markdown-Anweisungen. Die Laufzeit entdeckt automatisch Fähigkeiten und stellt sie KI-Aufgaben zur Verfügung. Skills helfen, die Grundanweisungen klein zu halten und bei Bedarf fachspezifische Anweisungen zur Verfügung zu stellen.

Ausführung in einer Sandbox

Die Laufzeit kann dynamische Sitzungen von Azure Container Apps nutzen, um KI-Aufgaben ein execute_python Werkzeug zu geben. Dieses Tool führt Python in einem isolierten Session-Pool aus, was für Codeausführung und Datenanalyse nützlich ist. Konfigurieren Sie den Session-Pool-Endpunkt in agents.config.yaml.

Benutzerdefinierte Python-Tools

Nutze benutzerdefinierte Python-Tools für app-spezifische Funktionen. Fügen Sie .py Dateien dem Ordner tools/ hinzu und dekorieren Sie Funktionen mit @tool aus dem Laufzeitpaket. Die Laufzeit entdeckt und registriert diese Werkzeuge automatisch.

Ausführliche Informationen zur Konfiguration, Feldtabellen und Codebeispiele für jeden Tooltyp finden Sie unter Referenz zu in Azure Functions gehosteten Skills.

Sitzungen und Status

Mehrfach-Runden-Interaktionen benötigen die Sitzungshistorie. In Azure speichert die Laufzeit die Sitzungshistorie über das AzureWebJobsStorage-Konto der Funktions-App in Blob Storage. Für die lokale Entwicklung greift die Laufzeit auf einen dateibasierten Sitzungsverlauf zurück. Die Ausführung in der Sandbox berücksichtigt auch Sitzungen und verwendet isolierte Sitzungen für nicht zusammengehörige Ausführungen.

Observierbarkeit

Ab azure-functions-agents-runtime Version 0.1.0b6 enthält die Laufzeit ein Observability-Feature-Set, das sich noch aktiv in Entwicklung befindet und sich noch ändern kann.

Für die neuesten Konfigurationsdetails, Telemetriefelder und Nutzungsanleitungen verwenden Sie die Laufzeitdokumentation des Repositoriums: