Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
O Agent Optimizer está atualmente em pré-visualização limitada e disponível apenas através de um processo de registo. Para aceder ao serviço, preencha o formulário de admissão. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e não a recomendamos para trabalhos em produção. Certas funcionalidades podem não ser suportadas ou podem ter capacidades limitadas. Para mais informações, consulte Termos Suplementares de Utilização para Microsoft Azure Previews.
O otimizador de agentes suporta quatro objetivos de otimização: ajuste de instruções (reescreve o prompt do sistema do seu agente), melhoria de competências (refina capacidades reutilizáveis), otimização de ferramentas (melhora descrições e parâmetros de ferramentas) e seleção de modelos (avalia em múltiplas implementações de modelos). O otimizador determina automaticamente quais os alvos a melhorar com base na configuração base do seu agente.
| Scenario | O que o otimizador faz |
|---|---|
| Melhorar a qualidade geral da resposta | Afinação de instruções |
| Reduzir informações incorretas | Ajuste de instruções |
| Melhorar comportamentos repetíveis (escalonamento, padrões de depuração) | Melhoria de competências |
| O agente tem procedimentos estruturados que precisam de aperfeiçoamento | Melhoria de competências |
| Encontre o melhor equilíbrio entre o modelo de qualidade e custo | Seleção de modelos |
| Primeira otimização, não sei bem o que esperar | Todos os alvos aplicáveis funcionam automaticamente |
Pré-requisitos
- Um projeto Foundry com um agente alojado implementado
- A
azure.ai.agentsextensão CLI instalada (ver Quickstart: Otimizar um agente alojado) - Um modelo implementado para avaliação (por exemplo,
gpt-4.1-mini) e um modelo de otimização a partir da lista suportada (por exemplo,gpt-5.1) - O seu agente é compatível com o Otimizador (chamadas
load_config())
Qual agente é otimizado
O otimizador precisa de saber qual o agente alojado implementado a utilizar como destino. Resolve o nome do agente usando a seguinte ordem de prioridade:
| Prioridade | Source | Example |
|---|---|---|
| 1 (mais alto) |
--agent Bandeira CLI |
azd ai agent optimize --agent my-support-agent |
| 2 |
agent.name campo em eval.yaml |
agent:\n name: my-support-agent |
| 3 (padrão) | campo name em agent.yaml |
name: my-support-agent |
Na maioria dos casos, não precisa de especificar explicitamente o nome do agente. A CLI lê-o do ficheiro agent.yaml do teu projeto. Use a --agent flag quando tiver vários agentes no seu projeto ou quiser sobrescrever o padrão:
azd ai agent optimize --agent my-support-agent
Note
O nome do agente deve coincidir com um agente alojado implementado no seu projeto Foundry. Execute azd ai agent invoke "test" para verificar se o seu agente responde antes de iniciar a otimização.
Otimizar instruções
O otimizador reescreve e refina o prompt do sistema do seu agente para melhorar o desempenho no seu conjunto de dados de avaliação. O ajuste de instruções é ativado automaticamente quando a sua configuração de base inclui um ficheiro instructions.md.
Como funciona
- Avaliação inicial. O seu agente executa as instruções atuais em todas as tarefas do conjunto de dados. O avaliador avalia cada resposta com base nos critérios da tarefa.
- Geração de instruções. O otimizador analisa as pontuações de base e gera prompts de sistema alternativos concebidos para melhorar as áreas mais fracas, mantendo as áreas fortes.
- Avaliação do candidato. O otimizador injeta cada conjunto candidato de instruções no seu agente através da variável de ambiente
OPTIMIZATION_CANDIDATE_IDe avalia-o com base no mesmo conjunto de dados. - Classificação. O otimizador classifica os candidatos por pontuação composta e marca o melhor candidato com ★ .
Otimização de instruções de execução
azd ai agent optimize
Com uma configuração personalizada:
# eval.yaml
agent:
name: my-agent
dataset_file: ./eval.jsonl
evaluators:
- builtin.task_adherence
options:
eval_model: gpt-4.1-mini
optimization_model: gpt-5.1
max_iterations: 5
azd ai agent optimize --config eval.yaml
O que muda
O otimizador reescreve o prompt do sistema. O teu código mantém-se igual porque load_config() devolve automaticamente as novas instruções. Melhorias comuns incluem:
- Adicionar restrições explícitas que o prompt original sugeria mas não indicava
- Instruções de reestruturação para maior clareza
- Adicionar especificações de formatos de saída
- Reforço dos limites de segurança e âmbito
Exemplo: Antes e depois
Antes (as tuas instruções padrão):
You are a helpful assistant.
Depois (otimizado):
You are a helpful coding assistant. Follow these guidelines:
1. Always include working code examples
2. Explain your reasoning step by step
3. If a question is outside your expertise, say so clearly
4. Use markdown formatting for code blocks
5. Handle edge cases in code examples
Iterações máximas
A max_iterations opção controla quantos conjuntos de instruções candidatos são gerados. Cada iteração produz um candidato.
| Iterações máximas | Candidatos | Hora | Melhor para |
|---|---|---|---|
| 4 (padrão) | 4 | 5 a 10 minutos | Experimentos rápidos |
| 5 | 5 | 10 a 15 minutos | Bom equilíbrio |
| 10 | 10 | 20 a 30 min | Exploração aprofundada |
Valores mais altos exploram mais variações, mas demoram mais tempo. O otimizador aprende com as iterações anteriores, pelo que os candidatos posteriores tendem a obter pontuações mais altas.
Note
Os tempos são aproximados para um conjunto de dados de 3 a 10 tarefas. Conjuntos de dados maiores ou modelos de avaliação mais lentos aumentam a duração da execução.
Modelo de avaliação
O modelo de avaliação avalia as respostas dos agentes com base nos critérios. Qualquer modelo de conclusão de chat implementado no seu projeto Foundry funciona.
azd ai agent optimize --eval-model gpt-4.1-mini
Importante
Se o modelo de avaliação não for implementado, todas as pontuações são zero sem mensagem de erro. Verifica sempre que o teu modelo de avaliação existe no projeto.
Modelo de otimização (reflexão)
O modelo de otimização (também chamado de "modelo de reflexão") gera configurações candidatas — instruções melhoradas, competências e descrições de ferramentas. Analisa resultados de base e produz variantes melhoradas. Tem de ser implementado no seu projeto Foundry.
Modelos suportados: gpt-5, gpt-5.1, gpt-5.3.
Especifique o modelo de otimização no seu ficheiro de configuração ou via CLI:
options:
optimization_model: gpt-5.1
Ou através do flag CLI:
azd ai agent optimize --optimize-model gpt-5.1
Importante
O optimization_model campo é obrigatório. Se não especificares e não passares --optimize-model, a API de otimização devolve um erro.
Para mais detalhes sobre como estes modelos são utilizados, consulte Modelos.
Otimizar competências
O otimizador melhora as competências existentes que o seu agente utiliza. Refina descrições de competências, implementações e critérios de ativação. A otimização de capacidades ativa-se automaticamente quando a sua configuração de base inclui um diretório skills/.
Como funciona
Avaliação inicial. O mesmo acontece com a afinação de instruções. O otimizador avalia o seu agente em relação ao conjunto de dados.
Melhoria de competências. O otimizador analisa áreas fracas e refina as definições de competências. Uma competência é uma capacidade designada com:
-
Nome: Por exemplo,
"step_by_step_reasoning" - Descrição: O que a habilidade faz e quando a usar
- Corpo: Detalhes ou procedimento de implementação
-
Nome: Por exemplo,
Injeção. O agente carrega competências melhoradas através de
load_config(), o que as torna disponíveis para o conjunto de instruções do seu agente.# load_config() returns skills from .agent_configs/baseline/skills/ config = load_config() full_prompt = config.compose_instructions() # Returns: "You are a helpful assistant.\n\n## Available Skills\n- **step_by_step_reasoning**: ..."Avaliação. O otimizador avalia o agente com competências melhoradas em relação ao conjunto de dados.
Otimização de habilidades de corrida
Garante que a tua configuração base tem um skills/ diretório com pelo menos uma habilidade, depois executa:
azd ai agent optimize
Com um ficheiro de configuração:
# eval.yaml
agent:
name: my-agent
dataset_file: ./eval.jsonl
evaluators:
- builtin.task_adherence
options:
eval_model: gpt-4.1-mini
optimization_model: gpt-5.1
max_iterations: 5
azd ai agent optimize --config eval.yaml
Transferências de ficheiros de skill
Para candidatos que incluem ficheiros de competências, o config loader pode descarregá-los através da API do resolvedor. As competências utilizam o formato aberto de Competências de Agente e são armazenadas num diretório local.
from azure.ai.agentserver.optimization import load_config, load_skills_from_dir
from pathlib import Path
config = load_config()
if config.skills:
print(f"Skills loaded from optimization config:")
for skill in config.skills:
print(f" - {skill.name}: {skill.description}")
elif config.skills_dir:
# Load skills from local directory
skills = load_skills_from_dir(Path(config.skills_dir))
config.skills.extend(skills)
for skill in skills:
print(f" - {skill.name}: {skill.description}")
Saiba mais sobre o formato Agent Skills em agentskills.io.
Ferramentas de otimização
O otimizador melhora as descrições e os parâmetros das ferramentas no seu ficheiro tools.json para ajudar o modelo a chamar ferramentas com maior precisão. A otimização de ferramentas é ativada automaticamente quando a sua configuração de base inclui um ficheiro tools.json.
Como funciona
- Avaliação inicial. O otimizador avalia o seu agente com base no conjunto de dados, incluindo quaisquer chamadas a ferramentas que este faça.
- Análise de ferramentas. O otimizador identifica chamadas de ferramentas que falham ou produzem resultados subótimos e analisa a causa raiz — descrições pouco claras, parâmetros em falta ou nomeação ambígua.
- Refinamento da descrição. O otimizador gera definições melhoradas de ferramentas com descrições mais claras, melhor documentação dos parâmetros e nomes de funções mais precisos.
- Avaliação. O otimizador avalia o agente com definições melhoradas de ferramentas em relação ao conjunto de dados.
Otimização de ferramentas de execução
Garante que a tua configuração base tem um tools.json ficheiro e depois executa:
azd ai agent optimize
O que muda
O otimizador refina as tuas tools.json definições. Melhorias comuns incluem:
- Descrições de funções mais claras que ajudam o modelo a saber quando chamar uma ferramenta
- Descrições de parâmetros mais específicas que reduzem argumentos imprecisos
- Restrições adicionadas (enums, campos obrigatórios) que impedem entradas inválidas
O código de implementação da ferramenta mantém-se o mesmo. Apenas as definições que o modelo vê mudam.
Otimizar a seleção do modelo
O otimizador avalia o seu agente em múltiplas implementações de modelos para encontrar a melhor relação qualidade-custo. Cada modelo corre contra o mesmo conjunto de dados, por isso pode comparar os resultados diretamente. A otimização de modelos ativa-se quando se especificam candidatos a modelos em optimization_config.
Configurar modelos candidatos
Especifique os modelos a avaliar no seu eval.yaml:
# eval.yaml
agent:
name: my-agent
dataset_file: ./eval.jsonl
evaluators:
- builtin.task_adherence
options:
eval_model: gpt-4.1-mini
optimization_model: gpt-5.1
max_iterations: 5
optimization_config:
model:
- gpt-4.1
- gpt-4.1-mini
- gpt-4o
Cada modelo listado abaixo optimization_config.model deve ser implementado no seu projeto Foundry.
Executar a otimização do modelo
azd ai agent optimize --config eval.yaml
O otimizador avalia o seu agente com cada implementação de modelo especificado e classifica os resultados por pontuação e custo do token.
Combinar com outros alvos
Quando a sua linha de base inclui instruções, competências e candidatos a modelo, o otimizador executa todos os alvos juntos numa única execução:
# eval.yaml — all targets active
agent:
name: my-agent
dataset_file: ./eval.jsonl
evaluators:
- builtin.task_adherence
- builtin.intent_resolution
options:
eval_model: gpt-4.1-mini
optimization_model: gpt-5.1
max_iterations: 5
optimization_config:
model:
- gpt-4.1
- gpt-5
Isto produz candidatos que combinam instruções melhoradas com diferentes opções de modelos, dando-lhe uma visão completa do que funciona melhor.
Interpretar os resultados
Depois de concluída a otimização, reveja a tabela de resultados. Para orientações detalhadas de pontuação, consulte Compreender resultados de otimização.
Limiares-chave:
| Melhoria | Interpretação |
|---|---|
| Menos de 0,03 | Ruído. Não tem significado. |
| 0,03 a 0,10 | Moderado. Vale a pena implementar. |
| 0,10 a 0,20 | Melhoria significativa. |
| Superior a 0,20 | Grande melhoria. |
Dica
Para ver os resultados da otimização com mais detalhe, abra o portal Azure AI Foundry. Aceda ao seu projeto, selecione Agentes, escolha o seu agente e, em seguida, selecione o separador Otimizar. O portal mostra comparações de pontuações, gráficos de pontuação por número de tokens e um botão Implementar o melhor candidato.
Implementar a versão vencedora
O fluxo de trabalho recomendado é aplicar a configuração otimizada localmente e depois implementar:
# Apply the winning candidate locally
azd ai agent optimize apply --candidate <candidate-id>
# Deploy with the optimized config
azd deploy
Isto transfere a configuração otimizada para .agent_configs/<candidate_id>/ no seu projeto. Na próxima implementação, o seu agente utiliza as instruções melhoradas e as descrições das ferramentas.
Em alternativa, podes implementar diretamente através da API (útil para testes rápidos de A/B):
azd ai agent optimize deploy --candidate <candidate-id>
Warning
A implementação direta atualiza o serviço do agente sem alterar os seus ficheiros locais. Use o apply fluxo de trabalho → deploy para produção.
Se todos os candidatos tiverem uma pontuação inferior à linha base, não coloquem nenhum candidato. A configuração base mantém-se ativa.
Troubleshooting
| Problema | Motivo | Corrigir |
|---|---|---|
| Todas as pontuações são 0,00 | Modelo de avaliação não implementado | Implemente o modelo de avaliação no seu projeto Foundry, ou use --eval-model para especificar um que exista |
optimize Retornos 403 |
Subscrição não incluída na lista de autorizações | Contacte o seu representante da Microsoft para solicitar acesso |
"agent.yaml does not declare any protocols" |
Formato inválido agent.yaml |
Utilize o formato plano: kind: hosted no nível superior com a lista protocols: |
| Tarefa bloqueada em "execução" | Problema de serviço | Cancelar com azd ai agent optimize cancel <id> e tentar novamente |
| Sem IDs de candidatos na saída | Tarefa ainda em execução | Aguarde até à conclusão ou utilize --watch |