Sviluppo di agenti con l'interfaccia della riga di comando per sviluppatori di Azure

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} è un azd segnaposto per variabile di ambiente. Viene risolto da .azure/<env>/.env al momento della distribuzione, quindi lo stesso agent.yaml funziona in ambienti come sviluppo, staging e produzione.
  • {{ parameter }} è un parametro di modello manifesto. Si risolve durante azd ai agent init quando 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'ambiente azd attivo.
  • Al di fuori di un progetto azd, imposta il contesto attivo una volta sola con azd ai project set <endpoint>, oppure passa --project-endpoint a un singolo comando relativo alle risorse (connection, toolbox, skill o routine). Come soluzione di riserva, azd ai legge la variabile di ambiente FOUNDRY_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