Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Gli elementi contrassegnati (anteprima) in questo articolo sono attualmente in anteprima pubblica. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero avere funzionalità limitate. Per ulteriori informazioni, vedere Condizioni supplementari per l'uso delle versioni di anteprima di Microsoft Azure.
L'interfaccia della riga di comando per sviluppatori Azure (azd) e la relativa azd ai agent estensione offrono un singolo flusso di lavoro della riga di comando per passare dall'idea a un agente ospitato pronto per la produzione in Microsoft Foundry. Questo articolo illustra il percorso di sviluppo, i file che definiscono un agente e i concetti di base che si incontrano lungo il percorso.
Questo articolo è rivolto agli sviluppatori che preferiscono un flusso di lavoro incentrato sul terminale e automatizzabile tramite script rispetto al portale Foundry o agli SDK dei linguaggi.
Percorso dello sviluppatore
Il azd ai flusso di lavoro segue lo stesso ciclo di vita, indipendentemente dal fatto che si crei un piccolo prototipo o un agente di produzione. Si esegue lo scaffolding di un progetto una sola volta, quindi si combinano i comandi man mano che il progetto si evolve.
| Stage | Cosa fai | Dove saperne di più |
|---|---|---|
| Install | Installare azd e le estensioni Foundry. |
Configurare l'ambiente per sviluppatori |
| Patibolo | Inizializzare un progetto da un modello o dal codice esistente. | Avvio rapido: Distribuire un agente ospitato |
| Definire | Configurare il modello, le istruzioni e gli strumenti in agent.yaml. |
Contratto di runtime dell'agente ospitato |
| Develop | Scrivere la logica dell'agente, aggiungere strumenti e testare localmente. | Panoramica degli strumenti |
| Deploy | Effettuare il provisioning dell'infrastruttura e distribuirla in Foundry. | Distribuire un agente ospitato |
| Operate | Monitorare i log, gestire le versioni e automatizzare le esecuzioni. | Gestire gli agenti ospitati |
| Evaluate | Misura la qualità dell'agente e migliora il prompt. | Esegui valutazioni degli agenti con l'interfaccia della riga di comando (CLI) di azd |
Tipi di agente
L'estensione azd ai agent è incentrata sugli agenti ospitati.
| Tipo | Descrizione | Quando utilizzare |
|---|---|---|
| Agente virtuale | Un'applicazione containerizzata che sviluppi nel codice, impacchetti come immagine Docker e distribuisci su Foundry. | È necessaria logica personalizzata, integrazione del framework o controllo completo sul comportamento. |
| Agente prompt | Un agente definito interamente tramite istruzioni e configurazioni degli strumenti, senza codice personalizzato. | Si vuole un agente rapido basato su configurazione senza scrivere codice dell'applicazione. |
Gli agenti ospitati offrono il controllo completo sulle integrazioni di runtime, framework e strumenti, mentre Foundry gestisce l'infrastruttura, il ridimensionamento e la gestione delle sessioni.
File di configurazione
Tre file definiscono la modalità di compilazione e distribuzione di un agente.
| File | Purpose | Chi la mantiene |
|---|---|---|
agent.yaml |
Definisce l'identità dell'agente: modello, istruzioni, strumenti, protocolli e variabili di ambiente. | È possibile modificarlo direttamente. |
agent.manifest.yaml |
Un modello parametrizzato di agent.yaml che gli autori di modelli usano. Contiene placeholder {{ parameter }} che vengono risolti durante l'inizializzazione. |
Gli autori di modelli lo creano.
azd ai agent init lo legge. |
azure.yaml |
Definisce la modalità di provisioning e distribuzione delle risorse Azure: servizi, infrastruttura e impostazioni del contenitore. | L'inizializzazione lo genera. È possibile personalizzarla in base alle esigenze. |
La distinzione principale è che agent.yaml descrive che cos'è il tuo agente, mentre azure.yaml descrive in che modo viene distribuito.
Le risorse attive nel progetto Foundry stesso, ad esempio connessioni, strumenti, competenze e routine, vengono gestite tramite comandi diretti azd ai anziché dichiarati in agent.yaml.
Sostituzione di variabili
Nei file di progetto dell'agente vengono visualizzate due sintassi variabili:
-
${VAR_NAME}è unazdsegnaposto per variabile di ambiente. Viene risolto da.azure/<env>/.enval momento della distribuzione, quindi lo stessoagent.yamlfunziona in ambienti come sviluppo, staging e produzione. -
{{ parameter }}è un parametro di modello manifesto. Si risolve duranteazd ai agent initquando da un modello viene generato un progetto concreto.
Posizione in cui viene eseguita l'interfaccia della riga di comando
I azd ai comandi funzionano sia all'interno che all'esterno di una directory del azd progetto:
- All'interno di un progetto
azd, i comandi determinano l'endpoint del progetto Foundry dall'ambienteazdattivo. - Al di fuori di un progetto
azd, imposta il contesto attivo una volta sola conazd ai project set <endpoint>, oppure passa--project-endpointa un singolo comando relativo alle risorse (connection,toolbox,skilloroutine). Come soluzione di riserva,azd ailegge la variabile di ambienteFOUNDRY_PROJECT_ENDPOINT. - Un ambiente del progetto ha sempre la precedenza sul contesto globale, quindi passando alla directory di un progetto la CLI punterà all'endpoint di quel progetto.
Protocols
Un protocollo definisce il contratto HTTP tra Foundry e il contenitore dell'agente. L'agente è in ascolto sulla porta 8088 ed espone una sonda di integrità, indipendentemente dal protocollo.
| Protocol | Stile API | Quando utilizzare |
|---|---|---|
responses |
API Risposte OpenAI (POST /responses) |
La scelta standard, compatibile con l'ecosistema di API OpenAI. |
invocations |
Contratto JSON personalizzato (POST /invocations) |
Quando è necessario il controllo completo sui payload di richiesta e risposta. |
Per la specifica completa, vedere Contratto di runtime dell'agente ospitato.
Sessioni e conversazioni
| Concetto | Descrizione |
|---|---|
| Session | Ambiente di esecuzione isolato per un'interazione con un singolo agente. Ogni sessione viene eseguita nella propria sandbox con risorse dedicate. |
| Conversazione | Sequenza di messaggi all'interno di una sessione. Foundry gestisce la cronologia delle conversazioni e può idratarla tra le richieste. |
Le sessioni sono identificate da un oggetto session_id. Quando si esegue azd ai agent invoke, per impostazione predefinita Foundry riutilizza la sessione dell'ultima esecuzione. Usare --new-session per avviare una sessione aggiornata o --session-id <id> per specificare come destinazione una sessione specifica.
Risorse in un progetto Foundry
Un progetto Foundry ospita più agenti. Contiene anche risorse condivise a cui fanno riferimento gli agenti in fase di esecuzione. L'interfaccia della riga di comando gestisce ognuno di essi tramite un gruppo di comandi dedicato.
| Resource | Che cos'è | Gestito con |
|---|---|---|
| Connection | Collega un progetto Foundry a una risorsa esterna, ad esempio un server MCP, un Azure AI Search o il grounding con Bing. | Comandi di azd ai connection |
| Kit di strumenti | Una raccolta con nome di strumenti utilizzati dagli agenti in fase di esecuzione. | Comandi di azd ai toolbox |
| Skill | Linee guida comportamentali riutilizzabili condivise tra gli agenti nel progetto. | Comandi di azd ai skill |
| Routine | Un attivatore e un'azione che invoca un agente. | Comandi di azd ai routine |
Queste risorse vengono condivise tra sviluppatori e agenti nello stesso progetto. Ogni gruppo di comandi espone i verbi standard create, updatedelete, show, e list .
Valutare e migliorare un agente
Dopo l'esecuzione di un agente, due flussi di lavoro correlati consentono di misurarne e migliorarne la qualità:
- La valutazione esegue il tuo agente su un set di dati, assegna un punteggio alle risposte con uno o più valutatori e restituisce un indicatore complessivo della qualità. È possibile gestirlo con
azd ai agent eval. - L'ottimizzazione riscrive in modo iterativo la richiesta dell'agente di sollevare un segnale di valutazione. Usa una valutazione come funzione obiettivo e genera un prompt dei candidati da rivedere e accettare. È possibile gestirlo con
azd ai agent optimize.
Per i dettagli, vedere Eseguire valutazioni degli agenti con l'interfaccia della riga di comando azd e Ottimizzare i prompt degli agenti.
Ciclo di vita dell'implementazione
Il ciclo di sviluppo completo si condensa in una breve sequenza di comandi. Genera lo scaffold una sola volta, poi usa i comandi diretti man mano che il progetto cresce.
# Scaffold a project from a template or your existing code
azd ai agent init
# Run locally and invoke
azd ai agent run
azd ai agent invoke --local "Hello, world!"
# Provision infrastructure and deploy the agent
azd up
# Extend the project with shared resources at any time
azd ai connection create my-search --kind cognitive-search --target https://... --auth-type api-key --key "..."
azd ai routine create daily-digest --trigger recurring --cron "0 7 * * *" --agent-name my-agent
# Evaluate quality
azd ai agent eval generate
azd ai agent eval run
# Tear down all Azure resources
azd down