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
Agent Optimizer è attualmente in anteprima limitata ed è disponibile solo tramite un processo di iscrizione. Per accedere al servizio, completare il modulo di assunzione. 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'utilità di ottimizzazione agente in Foundry Agent Service migliora automaticamente gli agenti ospitati valutando il comportamento e generando configurazioni migliori. Queste configurazioni includono principalmente istruzioni di sistema migliorate e competenze individuate.
La creazione di agenti di intelligenza artificiale efficaci richiede un'ampia progettazione dei prompt. Si distribuisce un agente con istruzioni artigianali, lo si testa su scenari reali, si identificano i punti deboli, si rivedono le richieste e si ripete. Questo ciclo è lento, soggettivo e non è scalabile. L'utilità di ottimizzazione agente automatizza questo ciclo in modo che sia possibile concentrarsi sulla logica di base dell'agente.
Come funziona l'ottimizzatore dell'agente
L'ottimizzatore dell'agente esegue un ciclo di valutazione e miglioramento a ciclo chiuso:
- Valutare la linea di base. Optimizer richiama l'agente su un set di dati di attività e assegna punteggi a ogni risposta in base ai criteri definiti o predefiniti. La baseline è il punteggio del tuo agente prima di apportare qualsiasi modifica.
- Generare candidati. L'ottimizzatore produce configurazioni alternative denominate candidate, ovvero istruzioni riscritte o competenze individuate, progettate per migliorare i punteggi.
- Valutare i candidati. L'utilità di ottimizzazione testa ogni candidato rispetto allo stesso set di dati.
- Classificare e consigliare. Optimizer classifica i risultati in base al punteggio composito, un valore compreso tra 0,0 e 1,0 che rappresenta le prestazioni aggregate e contrassegna il candidato migliore con ★ .
- Distribuisci la versione vincente. Un singolo comando promuove il candidato vincente e salva la configurazione nell'ambiente dell'agente.
L'intero processo viene eseguito nel cloud. Avvialo con azd ai agent optimize (richiede l'estensione CLI di azd). L'esecuzione richiede da 5 a 20 minuti a seconda delle dimensioni del set di dati.
Avvertimento
Durante l'ottimizzazione, l'ottimizzatore valuta il tuo agente invocandolo per ogni attività nel tuo dataset. Se l'agente chiama strumenti esterni, ad esempio API, database o servizi di terze parti, queste chiamate vengono eseguite durante ogni esecuzione della valutazione. Per evitare effetti collaterali imprevisti (addebiti, mutazioni di stato o limitazione della frequenza), è consigliabile usare endpoint di test o implementazioni di strumenti fittizi durante l'ottimizzazione.
Tip
Per ottenere risultati ottimali, generare un set di dati personalizzato per l'agente con azd ai agent eval init prima di eseguire l'ottimizzazione. L'ottimizzatore rileva automaticamente il tag generato eval.yaml. Per informazioni dettagliate, vedere Creare un set di dati di valutazione.
Destinazioni di ottimizzazione
Una destinazione di ottimizzazione è un aspetto specifico della configurazione dell'agente che l'ottimizzatore può migliorare. L'ottimizzatore dell'agente determina automaticamente quali target attivare in base alla configurazione di base dell'agente e alle impostazioni eval.yaml.
Ottimizzazione delle istruzioni
L’ottimizzatore riscrive e perfeziona il system prompt del tuo agente. Analizza le prestazioni di base e genera variazioni di richiesta che ottengono un punteggio superiore.
Quando viene attivato: L'ottimizzazione delle istruzioni viene eseguita quando l'agente ha un instructions.md file nella directory di configurazione di base. Si tratta della destinazione di ottimizzazione più comune e funziona bene per migliorare la qualità della risposta, rispettare i requisiti delle attività e ridurre output imprecisi.
Miglioramento delle competenze
L'ottimizzatore migliora le competenze riutilizzabili che l'agente utilizza. Perfeziona il contenuto delle skill esistenti (il contenuto di implementazione in ciascun file SKILL.md) mantenendo invariate le descrizioni delle skill. L'agente carica queste competenze tramite load_config() e le aggiunge al set di istruzioni.
Quando viene attivato: Il miglioramento delle competenze viene eseguito quando l'agente ha una skills/ directory nella configurazione di base. Usare le competenze per gli agenti che necessitano di comportamenti strutturati e ripetibili. Ad esempio, un agente di supporto che segue una procedura di escalation specifica o un agente di viaggio che controlla i criteri di budget.
Ottimizzazione degli strumenti
L’optimizer migliora le descrizioni degli strumenti e dei parametri per aiutare il modello a chiamare gli strumenti con maggiore precisione. Non modifica i tipi di parametri, le impostazioni predefinite o i campi obbligatori, ma vengono perfezionate solo le descrizioni in linguaggio naturale.
Quando si attiva: L'ottimizzazione degli strumenti viene eseguita quando il tuo agente include un file tools.json nella configurazione di riferimento. L'ottimizzatore analizza quali chiamate agli strumenti hanno esito positivo o negativo e genera descrizioni e descrizioni dei parametri più chiare.
Selezione del modello
L'optimizer valuta il tuo agente su più distribuzioni di modelli in un'unica esecuzione per trovare il miglior compromesso tra qualità e costo. Ad esempio, può determinare se gpt-4.1-mini gestisce il carico di lavoro a un costo inferiore o se gpt-4.1 fornisce un miglioramento qualitativo che giustifica il costo aggiuntivo del token.
Quando viene attivato: La selezione del modello viene eseguita quando si include optimization_config.model nell'oggetto eval.yaml con un elenco di distribuzioni di modelli da valutare. L'utilità di ottimizzazione assegna un punteggio a ogni opzione del modello rispetto allo stesso set di dati e mostra i compromessi.
Annotazioni
Se l'elenco di modelli include la distribuzione del modello corrente dell'agente, viene rimossa automaticamente dai candidati (la baseline rappresenta già tale modello). Se dopo questa rimozione non rimangono modelli, viene visualizzato un errore di convalida.
Configura i modelli candidati in eval.yaml:
# eval.yaml
options:
optimization_config:
model:
- gpt-4.1
- gpt-4.1-mini
- gpt-4o
È possibile combinare la selezione del modello con l'istruzione e l'ottimizzazione delle competenze nella stessa esecuzione. L'utilità di ottimizzazione determina automaticamente le destinazioni da migliorare in base alla configurazione di base e alle optimization_config impostazioni.
Risoluzione della configurazione
All'avvio dell'agente, la load_config() funzione controlla tre origini in ordine:
| Priorità | origine | Variabili di ambiente | Quando viene usato |
|---|---|---|---|
| 1 | Inline JSON | OPTIMIZATION_CONFIG |
Dopo la distribuzione diretta tramite l'API |
| 2 | Directory locale |
OPTIMIZATION_LOCAL_DIR (il valore predefinito è .agent_configs/) |
Dopo azd ai agent optimize apply aver scritto la configurazione in locale |
| 3 | Nessuna configurazione | — | Genera ValueError (o restituisce None se required=False) |
L'agente funziona sempre con o senza ottimizzazione. Non servono feature flag né logica condizionale. Chiamare load_config() e usare i valori restituiti. Per informazioni dettagliate sull'implementazione, vedere Rendere pronto l'agente Optimizer.
Cosa viene ottimizzato
| Campo | Description | Obiettivo |
|---|---|---|
instructions |
Richiesta di sistema e istruzioni | istruzione, competenza |
skills |
Catalogo delle competenze rilevate | skill |
model |
Nome della distribuzione del modello | model |
tools |
Definizioni degli strumenti (descrizioni, parametri) | strumento |
Models
L'ottimizzatore dell'agente usa due modelli durante un'esecuzione di ottimizzazione. Entrambi devono essere distribuiti nel progetto Foundry.
| Modello | Chiave di configurazione | Flag dell'interfaccia della riga di comando | Ruolo | Modelli supportati |
|---|---|---|---|---|
| Modello Eval | eval_model |
--eval-model |
Assegna punteggi alle risposte dell'agente in base ai criteri nel set di dati | Qualsiasi modello di completamento della chat (ad esempio, gpt-4.1-mini) |
| Modello di ottimizzazione | optimization_model |
--optimize-model |
Genera configurazioni candidate (istruzioni, competenze, strumenti, selezione del modello) |
gpt-5, gpt-5.1, gpt-5.2, gpt-5.4gpt-5.5, , DeepSeek-V4-ProDeepSeek-V-3.2 |
Il modello di valutazione viene eseguito una volta per ogni attività per candidato. Legge la risposta dell'agente e ogni criterio, quindi restituisce un punteggio binario. Il modello di ottimizzazione analizza i risultati di base e genera candidati migliorati tra le destinazioni configurate (istruzioni, competenze, strumenti e modelli). Poiché ragiona sull’intero set di dati, un modello di ottimizzazione più potente produce in genere candidati migliori.
# eval.yaml
options:
eval_model: gpt-4.1-mini
optimization_model: gpt-5.1
Importante
Il modello di ottimizzazione deve appartenere all'elenco supportato in precedenza. Se non specifichi optimization_model, l'ottimizzatore torna al modello di eval. In tal caso, anche il modello di valutazione deve essere un modello di ottimizzazione supportato.
Informazioni sui risultati dell'ottimizzazione
Questa sezione descrive la struttura della tabella dei risultati, il modo in cui vengono calcolati i punteggi, i miglioramenti del punteggio e come diagnosticare i problemi comuni.
Tip
È anche possibile visualizzare i risultati dell'ottimizzazione nel portale Azure AI Foundry. Passare al progetto, selezionare Agenti, scegliere l'agente e quindi selezionare la scheda Ottimizza per visualizzare confronti dei punteggi, grafici e opzioni di distribuzione.
Al termine dell'esecuzione dell'ottimizzazione, viene visualizzata una tabella dei risultati:
Results:
Candidate Score Pass Eval
──────────────────── ─────── ─────── ──────
baseline 0.76 83% View
candidate_1 0.78 73% View
candidate_2 0.79 78% View
candidate_3 0.77 71% View
candidate_4 ★ 0.80 80% View
Candidate IDs:
baseline cand_abc123...
candidate_1 cand_def456...
candidate_2 cand_ghi789...
candidate_3 cand_jkl012...
★ candidate_4 cand_mno345...
Apply the best candidate locally, then deploy:
azd ai agent optimize apply --candidate cand_mno345...
azd deploy
Colonne della tabella dei risultati
| Column | Description |
|---|---|
| Candidato | Nome della configurazione.
baseline è il tuo agente attuale prima dell'ottimizzazione. |
| Punteggio | Punteggio composito per tutte le attività e i criteri, compreso tra 0,0 e 1,0. |
| Pass | Percentuale dei punteggi dell'analizzatore che soddisfano la soglia di superamento. |
| Eval | Collegamento al processo di valutazione nel portale di Azure AI Foundry. |
Contrassegna ★ il candidato con il punteggio composito più alto. Questo è il candidato consigliato da distribuire.
Come vengono calcolati i punteggi
Ogni valutatore nel tuo dataset produce un punteggio grezzo per la risposta dell'agente. L'ottimizzatore elabora questi punteggi per produrre il punteggio composito visualizzato nei risultati:
- Riscalatura: Il punteggio grezzo di ciascun valutatore viene riscalato su 0–1.
- Inverti se necessario: se un valutatore è configurato in modo che un valore inferiore è migliore, il punteggio viene invertito affinché tutti i valutatori adottino la semantica "più alto è migliore".
- Media: viene calcolata la media dei punteggi riscalati di tutti i valutatori e di tutte le attività per ottenere il punteggio composito.
Punteggio composito: La media di tutti i punteggi riscalati dei valutatori per tutte le attività.
Interpretare i miglioramenti del punteggio
| Miglioramento | Interpretazione |
|---|---|
| Minore di 0,03 | Rumore. Non un miglioramento significativo. |
| Da 0.03 a 0.10 | Miglioramento moderato. Vale la pena implementarlo. |
| Da 0.10 a 0.20 | Miglioramento significativo. |
| Maggiore di 0,20 | Miglioramento importante. Probabilmente derivato da una base di partenza scadente. |
Compromessi dei token
Le istruzioni ottimizzate sono spesso più lunghe e più dettagliate, che possono aumentare l'utilizzo dei token di risposta. Tenere presente questi fattori:
- Indica se l'aumento del token è proporzionale al miglioramento del punteggio
- Indica se l'aumento dei costi rientra nel budget
- Indica se le risposte sono inutilmente verbose o aggiungere valore con la lunghezza aggiuntiva
Tasso di superamento
Il tasso di superamento viene calcolato in base alla soglia di superamento di ciascun valutatore. Per ogni punteggio dell'analizzatore:
- Se il punteggio grezzo del valutatore è inferiore alla soglia configurata, il risultato è un fallimento.
- Se il punteggio grezzo del valutatore è uguale o superiore alla soglia, il risultato è superato.
- Per i valutatori per cui un valore più basso è migliore, la logica è invertita (un punteggio superiore alla soglia comporta esito negativo).
La percentuale di superamento mostrata nei risultati è la proporzione dei punteggi del valutatore che hanno superato la soglia su tutte le attività.
Tutti i punteggi sono zero
Se tutti i candidati (inclusa la baseline) ottengono un punteggio di 0,00, la causa probabile è l'assenza di un modello di valutazione. Il modello di valutazione assegna punteggi alle risposte dell'agente in base ai criteri e deve essere distribuito nel progetto Foundry.
azd ai agent optimize --eval-model gpt-4.1-mini
Importante
Se il modello di valutazione non viene distribuito, tutti i punteggi sono zero senza alcun messaggio di errore. Verificare sempre che il modello di valutazione esista nel progetto.
Limitazioni e disponibilità
- L'utilità di ottimizzazione agente è disponibile in tutte le aree in cui sono disponibili gli agenti ospitati.
- L'utilità di ottimizzazione agente è supportata per gli agenti ospitati che usano il protocollo Responses.