3 de junho de 202611 min de leitura

Agent Optimizer no Foundry: o fim do ajuste manual de prompts para agentes de IA

Luis Quintanilla and Victor Dibia

Azure

Banner - Agent Optimizer no Foundry: o fim do ajuste manual de prompts para agentes de IA

TL;DR: O Agent Optimizer, anunciado em preview privado no Foundry Agent Service, automatiza o loop de melhoria de agentes: avalia, gera candidatos (instrução, skill, modelo, tool descriptions), ranqueia e permite deploy com um comando. Para empresas brasileiras que escalam agentes de IA, o ganho é reduzir drasticamente o tempo gasto com ajustes manuais de prompt e validação subjetiva — transformando a otimização em um processo orientado a dados, auditável e integrado ao azd toolchain.

Com os hosted agents da Foundry, construir e implantar um agente é relativamente simples: você escreve a lógica, executa azd deploy e o agente está no ar. Mas "estar no ar" e "estar pronto para produção" são duas realidades distintas. A diferença aparece rapidamente: seu agente de suporte ao cliente esquece de pedir o número do pedido antes de consultar o status, responde sobre garantia sem verificar a data de compra, ou dá instruções de instalação elétrica quando deveria recusar e recomendar um profissional. Cada correção exige reescrever o system prompt, testar manualmente e torcer para não quebrar outro cenário.

Para um time que gerencia dez agentes em diferentes domínios, isso se torna um gargalo que não escala. A Microsoft ouviu esse feedback dos desenvolvedores de forma consistente: a parte difícil não é construir o agente, é fazê-lo se comportar corretamente em todos os cenários que precisa cobrir.

Hoje a Microsoft apresentou o agent optimizer no Foundry Agent Service — disponível em preview privado agora e em preview público em 30 dias. (Para se inscrever no preview privado: aka.ms/Agent-Optimizer-Private-Preview.)

O que é o Agent Optimizer no Foundry Agent Service?

O Agent Optimizer avalia seu hosted agent contra critérios definidos, gera configurações melhores e ranqueia os resultados para que você implante a melhor opção. Ele automatiza o loop de melhoria que a maioria dos times faz manualmente hoje. O funcionamento é um ciclo fechado:

  • Avaliar o baseline. O agente processa um conjunto de tarefas, cada uma com critérios explícitos de aprovação/reprovação. O resultado é um score composto de 0.0 a 1.0.
  • Gerar candidatos. Guiado pelo que falhou, o otimizador produz novas configurações. Você escolhe o alvo de otimização: instruction (reescreve seu system prompt), skill (gera procedimentos reutilizáveis) ou model (encontra o melhor deployment para seu trade-off qualidade/custo).
  • Avaliar candidatos. Cada candidato roda contra o mesmo conjunto de tarefas.
  • Ranquear e recomendar. Os resultados são ordenados por score. Você vê breakdown por tarefa e custos de tokens de cada candidato antes de se comprometer.
  • Implantar o vencedor. Um único comando promove a configuração vencedora para seu agente em produção.

Todo o processo roda em nuvem. Inicie com azd ai agent optimize e uma execução típica leva poucos minutos. Nenhuma infraestrutura adicional é necessária. Se você já tem um hosted agent implantado, está pronto para otimizar.

Como fica a experiência do desenvolvedor?

O Agent Optimizer foi feito para desenvolvedores que querem levar seus agentes para produção com confiança. Na prática, suponha que você tem um agente de suporte ao cliente para uma empresa de eletrônicos. Seu system prompt atual é básico: "Você é um agente de suporte ao cliente prestativo."

$ azd ai agent optimize
 
Optimizing agent "travel-approver"...
  Baseline saved to .agent_configs\baseline\metadata.yaml
  Job ID: opt_999f814ed77a….
  Status: pending
  Portal: https://ai.azure.com/nextgen/....
  ⠇ completed · iteration 2 · score: 1.00 · 9m0s
Results:
  Candidate              Score    Pass  Eval
  ──────────────────── ─────── ───────  ──────
  baseline                0.60     71%  View
  candidate_1 ★           0.92    100%  View

  Candidate IDs:
      baseline             cand_200345f6c7…
    ★ candidate_1          cand_300d8e4e3…

  Apply the best candidate locally, then deploy:
    azd ai agent optimize apply --candidate cand_300d8e4e3…
    azd deploy

De 0.60 para 0.92. Sem retreinamento de modelo. Sem alterações de código. Usando dados sintéticos ou traces históricos, o otimizador reescreveu o system prompt, skills e ferramentas para fortalecer políticas de devolução, procedimentos de escalação, frameworks de troubleshooting e limites de segurança — tudo baseado no comportamento observado e pontuado contra critérios que você definiu.

Como preparar seu agente para o Agent Optimizer?

Crie um diretório .agent_configs/baseline/ no seu projeto de agente. No mínimo, você precisa de um arquivo instructions.md com o system prompt:

.agent_configs/
 └── baseline/
     ├── metadata.yaml       # aponta para seus arquivos de configuração
     ├── instructions.md     # system prompt do agente
     ├── skills/             # definições de skill (opcional)
     │   └── <skill_name>/
     │       └── SKILL.md
     └── tools.json          # definições de ferramentas em formato OpenAI function-calling (opcional)

A integração é feita com uma chamada load_config() na inicialização. Ela lê a configuração otimizada quando o serviço a injeta durante a avaliação, e usa os defaults em operação normal.

from azure.ai.agentserver.optimization import load_config
   
config = load_config()  # baseline or optimized agent config
   
# includes skill catalog if skills were generated
instructions = config.compose_instructions()
   
# Model optimization — optimizer tries different models from a candidate list
model = config.model or "gpt-4o"
   
# Tool description optimization — rewrites tool docstrings for better function-calling
tools = [my_search_tool, my_calculator_tool]
config.apply_tool_descriptions(tools)
   
agent = create_agent(
  system_prompt=instructions,
  model=model,
  tools=tools,
)

Pronto. Seu agente funciona com ou sem otimização. Sem feature flags, sem lógica condicional. Quando o otimizador avalia seu agente, injeta configurações candidatas via variável de ambiente. Em produção, essa variável está ausente e seus defaults entram em ação.

O que é otimizado?

O Agent Optimizer oferece três alvos. Você pode usá-los individualmente ou combiná-los em uma única execução.

Instruction é o alvo padrão. O otimizador analisa onde as respostas do agente falham e gera system prompts alternativos que endereçam essas lacunas. No exemplo do suporte ao cliente, o otimizador adicionou detalhes sobre prazos de devolução, cobertura de garantia e limites claros sobre aconselhamento elétrico e médico.

Skill gera procedimentos reutilizáveis e nomeados que são anexados às instruções do agente. Pense neles como playbooks: um procedimento de escalação, uma sequência de troubleshooting, um template de formatação. Cada skill tem nome, descrição e corpo de implementação que o agente segue quando a situação corresponde. Use quando seu agente precisa de comportamentos multi-etapa repetíveis que uma simples reescrita de prompt não captura.

Model permite que o otimizador avalie seu agente em múltiplos deployments de modelo na mesma execução. Se você quer saber se o gpt-5-mini atende tão bem quanto o gpt-5, ou se subir para gpt-5.4 dá um salto de qualidade nas dimensões que importam, o otimizador pontua cada opção contra seus avaliadores e mostra qual produz melhores respostas. Você escolhe o modelo baseado no que realmente performa, não no palpite.

Tool Descriptions permite que o otimizador melhore como seu agente entende e usa suas ferramentas locais. Ele reescreve descrições de ferramentas e definições de parâmetros para que o agente escolha a ferramenta certa com mais confiabilidade. Por exemplo, pode esclarecer quando chamar uma ferramenta de consulta de pedidos versus uma busca na base de conhecimento, apertar requisitos de parâmetros, definir comportamento de fallback quando a ferramenta falha ou especificar situações onde o agente deve responder diretamente em vez de fazer uma chamada.

azd ai agent optimize   # auto detecta os targets conforme a config do agente

Você também pode combinar targets em um arquivo de configuração para rodar todos de uma vez.

Da avaliação à ação

O Foundry já oferece observability e evaluation para agentes. Tracing captura cada interação. O Agent Evaluation pontua o comportamento do agente contra critérios de qualidade. O Agent Optimizer é onde você age com base no que esses sistemas te mostram. Quando emparelhado com o stack de observability e evaluation do Foundry, o ciclo de melhoria se torna:

  1. Seu agente roda em produção. Traces capturam cada interação.
  2. Evaluation pontua o comportamento contra critérios definidos.
  3. Agent Optimizer gera configurações melhores baseadas no que as avaliações revelaram.
  4. Você implanta o candidato vencedor como uma nova versão do hosted agent.
  5. Evaluation roda novamente para confirmar a melhoria.

Começando do zero. A maioria dos times não tem datasets de avaliação prontos no primeiro dia. O comando eval init resolve o problema de cold-start gerando tanto um dataset quanto critérios de avaliação a partir das instruções existentes do agente:

$ azd ai agent eval init
 
 Eval suite created
   Dataset:    customer-support (2.0), 15 tasks
   Evaluator:  customer-support (1)
 
   Evaluator dimensions (6):
     Weight  Dimension
     ──────  ─────────
         10  policy_compliance
          6  resolution_accuracy
          5  troubleshooting_structure
          4  communication_clarity
          3  safety_boundaries
          5  general_quality

Sem necessidade de escrever testes manualmente. O sistema analisa o que o agente deve fazer e gera tarefas que testam se ele realmente faz. Para o agente de suporte, produziu tarefas em torno de consultas de pedidos, devoluções, reclamações de garantia, troubleshooting, escalação e solicitações fora do escopo. Cada tarefa tem critérios específicos de aprovação/reprovação ligados às responsabilidades do agente.

Isso se conecta às capacidades mais amplas de evaluation no Foundry:

  • Avaliadores embutidos para aderência à tarefa, groundedness e segurança
  • Geração de dados sintéticos quando você ainda não tem tráfego de produção
  • Avaliação contínua para detectar regressões após o deploy
  • Interface no portal para navegar pelos resultados e comparar candidatos lado a lado

Todo o fluxo vive no mesmo toolchain azd que você já usa:

azd ai agent init        # scaffold do agente
azd deploy               # envia para o Foundry
azd ai agent eval init   # gera critérios de avaliação
azd ai agent eval run    # pontua seu agente
azd ai agent optimize    # melhora o agente
azd ai agent optimize apply --candidate <id>
azd deploy               # implanta o agente otimizado

Cada candidato promovido se torna uma nova versão do hosted agent. Versionado, auditável e rollback-ready. Tracing captura cada execução de otimização para visibilidade total do que mudou e por quê. O portal do Foundry oferece interface visual para navegar pelas execuções, inspecionar detalhes dos candidatos e obter os comandos exatos de CLI para deploy.

Líderes de mercado já estão vendo o valor de uma abordagem mais sistemática para levar agentes à produção:

"Agent Optimizer é um passo vital para ajudar empresas a mover agentes de IA além do proof of concept e para uso confiável em produção. Ao reunir governança, observabilidade e melhoria contínua, ajuda organizações a reduzir alucinações, melhorar segurança e avaliar e otimizar continuamente o desempenho dos agentes." — Yuji Shono, Head of the Global AI Office, NTT Data Group Corporation

Como começar

Se você quer experimentar o Agent Optimizer hoje:

  1. Inscreva-se no preview privado (fechando em 30 dias)
  2. Rode o quickstart: Optimize your hosted agent — sua primeira otimização em menos de 15 minutos.
  3. Leia os conceitos: Agent optimizer overview cobre scoring, targets e configuração em detalhes.
  4. Teste o sample: Customer support sample — um agente funcional com dataset de avaliação pronto para otimizar.

Perguntas Frequentes

  • O que exatamente o Agent Optimizer melhora nos agentes de IA?
    Ele atua em quatro alvos: Instruction (reescreve o system prompt), Skill (cria procedimentos reutilizáveis), Model (compara diferentes modelos pelo custo/qualidade) e Tool Descriptions (refina docstrings para melhor function-calling). Você pode usá-los separadamente ou combinados em uma única execução.

  • Preciso ter um dataset de avaliação pronto para usar o Agent Optimizer?
    Não. O comando 'azd ai agent eval init' gera automaticamente um dataset e critérios de avaliação a partir das instruções existentes do agente, resolvendo o problema de cold-start para times que ainda não têm tráfego de produção ou testes manuais.

  • Como o Agent Optimizer se diferencia de um simples A/B test de prompts?
    Ele não apenas testa variações: o ciclo fechado avalia o baseline contra critérios explícitos, gera candidatos guiados pelas falhas identificadas, ranqueia por score (0.0 a 1.0) com breakdown por task e custo de tokens, e permite deploy versionado — tudo integrado ao azd toolchain, com rollback e rastreabilidade.

  • É necessário provisionar infraestrutura extra para rodar a otimização?
    Não. Toda a computação ocorre em nuvem gerenciada pelo Foundry. Basta ter um hosted agent já implantado e executar 'azd ai agent optimize' — a execução típica leva poucos minutos sem necessidade de provisionamento adicional de recursos.

  • O Agent Optimizer funciona com qualquer modelo ou só com os da OpenAI?
    Ele foi desenhado para trabalhar com modelos da família GPT (gpt-4o, gpt-5, gpt-5-mini, etc.) no contexto do Foundry Agent Service. O alvo de otimização 'Model' permite comparar diferentes deployments de modelo no mesmo run, mas atualmente cobre os modelos disponíveis no ecossistema Microsoft Azure OpenAI.


Artigo originalmente publicado por Luis Quintanilla and Victor Dibia em Azure Updates - Latest from Azure Charts.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset