Funzioni di Azure ospita competenze

Le competenze ospitate da Funzioni di Azure ti permettono di aggiungere ragionamento AI alle tue app di funzione. In un .agent.md file, fornisci istruzioni in linguaggio naturale, una configurazione del trigger e assegnazioni opzionali per gli strumenti. Quando un evento si attiva, l'runtime chiama un modello, esegue gli strumenti richiesti dal modello e restituisce un risultato. Distribuisci l'app come qualsiasi altra app di funzione.

Per iniziare, scegli l'esperienza che corrisponde al tuo obiettivo:

Per la documentazione più aggiornata e completa sul runtime, consulta Funzioni di Azure Agents Runtime.

Importante

Le skill ospitate in Funzioni di Azure sono attualmente in anteprima. Le funzionalità, i nomi di configurazione e i connettori supportati possono cambiare prima della disponibilità generale.

Un'abilità ospitata è un'unica unità di lavoro basata sull'IA definita in un .agent.md file. Ogni abilità ospitata si mappa a una funzione Azure. Un'abilità a sé si riferisce a una guida Markdown riutilizzabile memorizzata in un SKILL.md file che le abilità ospitate possono caricare su richiesta.

Quando usare le abilità ospitate

Usa le competenze ospitate da Funzioni di Azure quando un evento aziendale necessita di ragionamento AI prima di intraprendere un'azione. Per esempio:

  • Smista le e-mail in arrivo. Un innesco di collegamento si attiva quando un reclamo arriva in una cassetta postale condivisa. La skill ospitata legge il messaggio, ne classifica la gravità e lo instrada alla coda di supporto appropriata.
  • Arricchisci nuovi lead CRM. Un trigger di collegamento si attiva quando un lead viene aggiunto a Salesforce o Dynamics 365. La competenza ospitata cerca sul web il contesto del lead e invia un riassunto al venditore assegnato.
  • Valida i cambiamenti ai dati. Un trigger BLOB o di database viene attivato quando viene aggiornato un record dei ricavi. La competenza ospitata verifica se i ricavi sono scesi sotto una soglia, genera una spiegazione e avvia un flusso di lavoro di revisione.
  • Distribuisci uno strumento MCP specifico per un dominio. Un agente esterno o un Agent Harness chiama una skill ospitata tramite HTTP o MCP. La competenza ospitata applica la logica AI ai dati in archiviazione o in un database e restituisce una risposta strutturata, agendo come uno strumento intelligente e specifico per dominio che altri client IA possono utilizzare.

Le competenze di hosting sono adatte quando servono trigger guidati da eventi, ragionamento AI con strumenti e le funzionalità operative di Funzioni di Azure (identità gestita, monitoraggio, scalabilità a zero e integrazione di rete virtuale).

Perché usare Functions per le tue app di IA?

I carichi di lavoro di IA in produzione richiedono più di un prompt e di un modello. Hanno bisogno di modi affidabili per avviare il lavoro, chiamare sistemi esterni, rendere persistente la cronologia delle conversazioni, eseguire codice non attendibile in modo sicuro, eseguire l'autenticazione senza segreti, generare dati di telemetria e ridimensionare su richiesta.

Functions fornisce un modello di calcolo guidato dagli eventi per queste preoccupazioni operative. Le competenze ospitate da Funzioni di Azure applicano lo stesso modello al tuo codice AI. I vantaggi includono:

  • Ogni abilità ospitata è un file .agent.md . La configurazione dichiarativa e le istruzioni in linguaggio naturale convivono insieme. Ogni file si mappa a una funzione Azure.
  • Gli eventi avviano le skill ospitate. I trigger di Functions avviano competenze ospitate in base a pianificazioni, richieste HTTP, messaggi in coda, modifiche ai BLOB, eventi di Event Grid, messaggi di bus di servizio e altri eventi supportati.
  • Le funzionalità vengono configurate per prime, con codice quando necessario. Puoi configurare competenze ospitate per usare server MCP remoti, server MCP ospitati in namespace connettori, competenze riutilizzabili ed esecuzione di codice sandbox. Scrivi i tuoi strumenti basati su Python per la logica specifica per app.
  • L'hosting di Funzioni di Azure è integrato. Le competenze ospitate in Funzioni di Azure supportano i piani Flex Consumption, Premium e Dedicated (App Service). Flex Consumption consente la scalabilità fino a zero, la fatturazione al secondo e la scalabilità automatica. Tutti i piani supportano identità gestita, integrazione con rete virtuale e Application Insight.
  • L'impianto idraulico operativo è gestito per te. Il runtime gestisce l'individuazione degli skill ospitati, la registrazione dei trigger, la composizione degli strumenti, la cronologia delle sessioni e gli endpoint integrati opzionali.

Funziona con altre piattaforme Microsoft AI

Le competenze ospitate da Funzioni di Azure sono complementari ad altre offerte di IA Microsoft e possono essere utilizzate insieme a esse. Il loro punto ideale è costruire capacità intelligenti cloud e guidate dagli eventi su Funzioni di Azure attraverso un modello di programmazione accessibile. Le skill ospitate possono esporre funzionalità tramite HTTP o MCP per essere utilizzate da altre applicazioni, agenti e agent harness.

Scegli la funzionalità Azure che meglio si adatta al tuo scenario:

Scenario Option
Espone funzioni deterministiche come strumenti per un altro client AI Estensione MCP di Funzioni di Azure
Orchestrazione a esecuzione prolungata e in più passaggi con approvazioni con intervento umano Durable Functions
Crea e gestisci agenti AI senza hosting personalizzato Microsoft Foundry o Copilot Studio

Definizione del Project

Un'applicazione di competenze ospitata in Funzioni di Azure è un progetto di app per funzioni Python v2 standard distribuito insieme ai file di progetto delle competenze ospitate. I seguenti file di progetto sono sempre richiesti per le applicazioni di funzione Python:

File Scopo
function_app.py Importa create_function_app() e restituisce l'app Funzioni di Azure configurata.
host.json Configura l'host di Funzioni di Azure.
requirements.txt Include il pacchetto di runtime delle competenze ospitate e tutte le dipendenze Python specifiche dell'app.

Per ulteriori informazioni, consulta la guida di riferimento per sviluppatori di Funzioni di Azure sulle app Python.

File di progetto delle skill ospitate

L'runtime scopre questi file e cartelle, che vengono distribuiti insieme al progetto app:

File o cartella Scopo
*.agent.md Definisce le skill ospitate. Il front matter in YAML configura la skill ospitata e il corpo in markdown diventa le istruzioni. Il tuo progetto deve avere almeno un .agent.md file.
agents.config.yaml (Opzionale) Definisce impostazioni predefinite di runtime a livello di app, come modello, timeout e impostazioni sandbox.
mcp.json Definisce i server MCP HTTP remoti che le competenze ospitate possono utilizzare come strumenti, inclusi strumenti di connettore per azioni come inviare email o lavorare con Teams.
tools/ (Opzionale) Contiene qualsiasi strumento Python personalizzato che crei per fornire funzionalità non già fornite da server MCP, connessioni, competenze o esecuzioni sandbox.
skills/ (Opzionale) Contiene asset di prompt riutilizzabili SKILL.md che le abilità ospitate possono caricare in base alle necessità.

Ogni file .agent.md utilizza un'intestazione YAML seguita da istruzioni Markdown. Questo esempio definisce un'abilità ospitata attivata da timer che si attiva quotidianamente alle 15:00 (UTC):

---
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".

La sezione iniziale indica come viene invocata la skill ospitata. Il corpo markdown è il blocco di istruzioni che il runtime passa al modello durante l'esecuzione. La sostituzione delle variabili di ambiente consente alle istruzioni e ai valori di configurazione di fare riferimento alle impostazioni dell'app, $TO_EMAILad esempio .

Ogni .agent.md file definisce una competenza ospitata. Il nome del file determina il nome dell'Azure Function e il segmento della route per gli endpoint integrati. Il name campo è un nome visualizzato per log, etichette e documentazione.

Per l'elenco completo dei campi file.agent.md, le opzioni di configurazione dell'app e le regole di sostituzione variabile, consulta il riferimento alle competenze ospitate su Funzioni di Azure.

Creare e testare con il canvas delle competenze ospitate

Nell'ambito dell'anteprima delle competenze ospitate, Funzioni di Azure offre un canvas facoltativo per le competenze ospitate in GitHub Copilot. Il canvas è una superficie interattiva dove tu e GitHub Copilot potete creare un'app iniziale, scegliere i controlli di eventi Timer, HTTP o Queue, modificare le istruzioni delle abilità, selezionare un modello compatibile, avviare l'host Functions locale, invocare il trigger e ispezionare l'attività e il risultato.

Dal canvas, puoi aprire il progetto generato in Visual Studio Code o usare l'azione integrata Deploy to Azure. L'azione di distribuzione utilizza la CLI Azure Developer (azd).

La canvas guida e visualizza il flusso di lavoro di sviluppo, ma non sostituisce il runtime delle competenze ospitate o il formato del progetto. Un'app creata tramite il canvas rimane una funzione app Python v2 standard che utilizza i file del progetto Skills ospitati. Puoi continuare a modificare, eseguire e distribuire l'app fuori dal canvas.

Il Canvas quickstart si concentra sulla creazione, esecuzione e ispezione di una sola abilità locale ospitata attivata da Timer. Per il flusso di lavoro guidato, vedere Creare e testare una competenza ospitata con il canvas delle competenze ospitate di Funzioni di Azure.

Processo di avvio dell'app

Quando l'host di Functions carica l'app, il metodo create_function_app individua i file .agent.md, i server MCP, le abilità e gli strumenti personalizzati nel progetto. Valida la configurazione, assembla gli strumenti per ogni abilità ospitata e registra i trigger e gli endpoint richiesti.

Quando un trigger si attiva, l'runtime costruisce l'abilità ospitata con le sue istruzioni risolte, il modello, gli strumenti e la cronologia della sessione, per poi eseguirla.

Attivare le skill ospitate dagli eventi

Il runtime supporta più trigger nella tua app, ma solo un trigger per file .agent.md . Una definizione di trigger ha un type oggetto e un args oggetto . type identifica il binding del trigger e args contiene le impostazioni specifiche del trigger che configurano quale evento avvia la skill ospitata.

I modelli di trigger comuni includono:

Modello Example
HTTP Ricevere una richiesta, chiamare gli strumenti e restituire una risposta strutturata.
Pianificazione Eseguire un flusso di lavoro giornaliero per report, riepilogo, pulizia o riconciliazione.
Coda o messaggio Elaborare gli elementi di lavoro che richiedono il ragionamento del modello o le chiamate agli strumenti.
Evento di archiviazione o database Reagire a file, record o eventi modificati.
Attivatore del connettore Reagisci agli eventi provenienti dai connettori gestiti, come messaggi di Teams, posta di Outlook o eventi di calendario supportati dal connettore.

Per dettagli sulla configurazione dei trigger, tipi supportati e args riferimenti, consulta Funzioni di Azure hosted skills reference.

Strumenti di IA supportati

Le competenze ospitate da Funzioni di Azure supportano diversi tipi di strumenti. Inizia con capacità configurate e usa strumenti Python personalizzati per la logica specifica dell'app che non si adatta a quelle opzioni.

Server MCP remoti

Definisci server HTTP remoti o server MCP HTTP con supporto per lo streaming in mcp.json. Il runtime scopre questi server e rende i loro strumenti disponibili a tutte le competenze ospitate. Usa server MCP remoti quando le competenze ospitate devono chiamare strumenti ospitati da un altro servizio o comporre funzionalità oltre i confini delle app.

Connettori di Azure

I connettori permettono alle competenze ospitate di lavorare con servizi esterni senza codice client API personalizzato. Un Namespace Connector ospita connessioni, trigger e server MCP per servizi come Microsoft 365 Outlook, Teams, Salesforce, SAP o SQL. Usa i trigger del connettore per avviare le skill ospitate da eventi esterni e gli strumenti MCP del connettore per richiamare azioni del servizio dalle istruzioni delle skill ospitate.

Competenze

Conserva asset prompt riutilizzabili sotto la skills/ cartella. Ogni cartella delle abilità contiene un SKILL.md file con un nome, una descrizione e istruzioni di markdown. L'runtime scopre automaticamente le abilità e le rende disponibili alle competenze ospitanti. Le competenze aiutano a mantenere le istruzioni di base contenute, rendendo disponibili indicazioni specifiche per il dominio quando necessario.

Esecuzione in modalità sandbox

Il runtime può usare le sessioni dinamiche di App contenitore di Azure per fornire alle funzionalità ospitate uno strumento execute_python. Questo strumento esegue Python in un pool di sessioni isolato, utile per l'esecuzione del codice e l'analisi dei dati. Configura l'endpoint del pool di sessioni in agents.config.yaml.

Strumenti di Python personalizzati

Usa strumenti Python personalizzati per le capacità specifiche dell'app. Aggiungi i file .py alla cartella tools/ e decora le funzioni con @tool del pacchetto runtime. L'esecuzione scopre e registra automaticamente questi strumenti.

Per dettagli di configurazione, tabelle di campo ed esempi di codice per ogni tipo di strumento, consulta il riferimento alle competenze ospitate su Funzioni di Azure.

Flussi di lavoro dinamici

I flussi di lavoro dinamici permettono ai compiti IA supportati di avviare piani duraturi e a più passi, composti da chiamate di strumenti sicuri per il flusso di lavoro, attività di sottoagente e attese. Estendono il pattern di chiamata dello strumento programmatico con Durable Functions affinché un compito possa spargere il lavoro, eseguire specialisti isolati, attendere timer duraturi, sopravvivere ai riavvii dei lavoratori e tenere lontani i grandi risultati intermedi dalla conversazione fino a quando un riassunto finale non è pronto.

Nella superficie sperimentale v1 attuale, abilita i flussi di lavoro in un file eseguibile .agent.md in modo indipendente. I compiti di workflow possono chiamare funzioni Python con cui decori @workflow_tool esplicitamente o compiti specialistici che assegni tramite workflows.subagents. Per maggiori informazioni, consulta Flussi di lavoro dinamici nelle competenze ospitate da Funzioni di Azure.

Sessioni e stato

Le interazioni a più turni richiedono la cronologia delle sessioni. In Azure, il runtime archivia la cronologia delle sessioni in Archiviazione BLOB tramite l'account AzureWebJobsStorage dell'app per le funzioni. Per lo sviluppo locale, il runtime torna alla cronologia delle sessioni basata su file. L'esecuzione in ambiente sandbox tiene conto anche della sessione e utilizza sessioni isolate per esecuzioni non correlate tra loro.

Observability

A partire dalla azure-functions-agents-runtime versione 0.1.0b6, il runtime include un set di funzionalità di osservabilità ancora in sviluppo attivo e soggetto a modifiche.

Per i dettagli di configurazione più recenti, i campi di telemetria e le linee guida sull'uso, utilizza la documentazione del repository in tempo reale: