AZD-for-beginners / chapter-02-ai-development
microsoft/AZD-for-beginners/translations/pt-BR/docs/chapter-02-ai-development/agents.md
Navegação do Capítulo: - 📚 Início do Curso: AZD Para Iniciantes - 📖 Capítulo Atual: Capítulo 2 - Desenvolvimento AI-First - ⬅️ Anterior: Integração Microsoft Foundry - ➡️ Próximo: Implantação de Modelo AI - 🚀 Avançado: Soluções Multi-Agente Agentes de IA são programas autônomos que podem perceber seu ambiente, tomar decisões e executar ações para atingir objetivos específicos. Diferente de simples chatbots que respondem a comandos, agentes podem: Este guia mostra como implantar agentes de IA no Azure usando Azure…
- Installs packages
# Agentes de IA com Azure Developer CLI
**Navegação do Capítulo:**
- **📚 Início do Curso**: [AZD Para Iniciantes](../../README.md)
- **📖 Capítulo Atual**: Capítulo 2 - Desenvolvimento AI-First
- **⬅️ Anterior**: [Integração Microsoft Foundry](microsoft-foundry-integration.md)
- **➡️ Próximo**: [Implantação de Modelo AI](ai-model-deployment.md)
- **🚀 Avançado**: [Soluções Multi-Agente](../../examples/retail-scenario.md)
---
## Introdução
Agentes de IA são programas autônomos que podem perceber seu ambiente, tomar decisões e executar ações para atingir objetivos específicos. Diferente de simples chatbots que respondem a comandos, agentes podem:
- **Usar ferramentas** - Chamar APIs, buscar em bases de dados, executar código
- **Planejar e raciocinar** - Dividir tarefas complexas em etapas
- **Aprender com o contexto** - Manter memória e adaptar comportamento
- **Colaborar** - Trabalhar com outros agentes (sistemas multi-agente)
Este guia mostra como implantar agentes de IA no Azure usando Azure Developer CLI (azd).
> **Nota de validação (13-07-2026):** Este guia foi revisado com as versões `azd` `1.27.1` e `azure.ai.agents` `1.0.0-beta.5`. A experiência `azd ai` ainda está em pré-visualização, portanto, verifique a ajuda da extensão se suas flags instaladas forem diferentes.
## Objetivos de Aprendizagem
Ao completar este guia, você irá:
- Entender o que são agentes de IA e como eles se diferenciam de chatbots
- Implantar modelos predefinidos de agentes de IA usando AZD
- Configurar Agentes Foundry para agentes personalizados
- Implementar padrões básicos de agentes (uso de ferramentas, RAG, multi-agente)
- Monitorar e depurar agentes implantados
## Resultados do Aprendizado
Ao final, você será capaz de:
- Implantar aplicações de agente IA no Azure com um único comando
- Configurar ferramentas e capacidades do agente
- Implementar geração aumentada por recuperação (RAG) com agentes
- Projetar arquiteturas multi-agente para fluxos de trabalho complexos
- Solucionar problemas comuns em implantações de agentes
---
## 🤖 O Que Torna um Agente Diferente de um Chatbot?
| Recurso | Chatbot | Agente de IA |
|---------|---------|----------|
| **Comportamento** | Responde a comandos | Executa ações autônomas |
| **Ferramentas** | Nenhuma | Pode chamar APIs, buscar, executar código |
| **Memória** | Apenas por sessão | Memória persistente entre sessões |
| **Planejamento** | Resposta única | Raciocínio em múltiplas etapas |
| **Colaboração** | Entidade única | Pode trabalhar com outros agentes |
### Analogia Simples
- **Chatbot** = Uma pessoa prestativa respondendo perguntas em uma mesa de informações
- **Agente de IA** = Um assistente pessoal que pode fazer chamadas, agendar compromissos e completar tarefas para você
---
## 🚀 Início Rápido: Implante Seu Primeiro Agente
### Opção 1: Modelo Foundry Agents (Recomendado)
```bash
# Inicializar o modelo de agentes de IA
azd init --template get-started-with-ai-agents
# Implantar no Azure
azd up
```
**O que é implantado:**
- ✅ Foundry Agents
- ✅ Modelos Microsoft Foundry (gpt-4.1)
- ✅ Azure AI Search (para RAG)
- ✅ Azure Container Apps (interface web)
- ✅ Application Insights (monitoramento)
**Tempo:** ~15-20 minutos
**Custo:** ~$100-150/mês (desenvolvimento)
### Opção 2: Agente OpenAI com Prompty
```bash
# Inicialize o modelo do agente baseado em Prompty
azd init --template agent-openai-python-prompty
# Implantar no Azure
azd up
```
**O que é implantado:**
- ✅ Azure Functions (execução de agente serverless)
- ✅ Modelos Microsoft Foundry
- ✅ Arquivos de configuração Prompty
- ✅ Implementação de agente de exemplo
**Tempo:** ~10-15 minutos
**Custo:** ~$50-100/mês (desenvolvimento)
### Opção 3: Agente RAG de Chat
```bash
# Inicializar modelo de chat RAG
azd init --template azure-search-openai-demo
# Implantar no Azure
azd up
```
**O que é implantado:**
- ✅ Modelos Microsoft Foundry
- ✅ Azure AI Search com dados de exemplo
- ✅ Pipeline de processamento de documentos
- ✅ Interface de chat com citações
**Tempo:** ~15-25 minutos
**Custo:** ~$80-150/mês (desenvolvimento)
### Opção 4: AZD AI Agent Init (Pré-visualização baseadas em Manifesto ou Template)
Se você tem um arquivo manifesto de agente, pode usar o comando `azd ai` para estruturar um projeto Foundry Agent Service diretamente. As versões recentes de pré-visualização também adicionaram suporte à inicialização baseada em template, então o fluxo exato de prompts pode variar conforme sua versão instalada da extensão.
```bash
# Instale a extensão dos agentes de IA
azd extension install azure.ai.agents
# Opcional: verifique a versão de visualização instalada
azd extension show azure.ai.agents
# Inicialize a partir de um manifesto de agente
azd ai agent init -m agent-manifest.yaml
# Faça o deploy no Azure
azd up
# Teste o agente implantado (exibe latência + tempo para o primeiro byte)
azd ai agent invoke
```
**Quando usar `azd ai agent init` vs `azd init --template`:**
| Abordagem | Melhor Para | Como Funciona |
|----------|------------|--------------|
| `azd init --template` | Começando de um app de exemplo funcional | Clona um repositório template completo com código + infra |
| `azd ai agent init -m` | Construindo a partir do seu próprio manifesto de agente | Estrutura o projeto a partir da definição do seu agente |
> **Dica:** Use `azd init --template` para aprendizado (Opções 1-3 acima). Use `azd ai agent init` para construir agentes de produção com seus próprios manifestos.
Após o `azd up`, a mesma extensão guia o restante do ciclo de vida do agente: `azd ai agent invoke` para testar, `azd ai agent eval generate` e `azd ai agent optimize` para medir e melhorar a qualidade, e `azd ai agent delete` para limpeza. Veja [Comandos AZD AI CLI](../chapter-08-production/production-ai-practices.md#azd-ai-cli-commands-and-extensions) para referência completa.
---
## 🏗️ Padrões de Arquitetura de Agente
### Padrão 1: Agente Único com Ferramentas
O padrão mais simples de agente - um agente que pode usar várias ferramentas.
```mermaid
graph TD
UI[Interface do Usuário] --> Agent[Agente de IA<br/>gpt-4.1]
Agent --> Search[Ferramenta de Pesquisa]
Agent --> Database[Ferramenta de Banco de Dados]
Agent --> API[Ferramenta de API]
```
**Melhor para:**
- Bots de suporte ao cliente
- Assistentes de pesquisa
- Agentes de análise de dados
**Template AZD:** `azure-search-openai-demo`
### Padrão 2: Agente RAG (Geração Aumentada por Recuperação)
Um agente que recupera documentos relevantes antes de gerar respostas.
```mermaid
graph TD
Query[Consulta do Usuário] --> RAG[Agente RAG]
RAG --> Vector[Pesquisa Vetorial]
RAG --> LLM[LLM<br/>gpt-4.1]
Vector -- Documents --> LLM
LLM --> Response[Resposta com Citações]
```
**Melhor para:**
- Bases de conhecimento corporativas
- Sistemas de perguntas e respostas de documentos
- Pesquisa jurídica e de conformidade
**Template AZD:** `azure-search-openai-demo`
### Padrão 3: Sistema Multi-Agente
Múltiplos agentes especializados trabalhando juntos em tarefas complexas.
```mermaid
graph TD
Orchestrator[Agente Orquestrador] --> Research[Agente de Pesquisa<br/>gpt-4.1]
Orchestrator --> Writer[Agente Escritor<br/>gpt-4.1-mini]
Orchestrator --> Reviewer[Agente Revisor<br/>gpt-4.1]
```
**Melhor para:**
- Geração complexa de conteúdo
- Fluxos de trabalho em múltiplas etapas
- Tarefas que requerem diferentes especializações
**Saiba Mais:** [Padrões de Coordenação Multi-Agente](../chapter-06-pre-deployment/coordination-patterns.md)
---
## ⚙️ Configuração de Ferramentas do Agente
Agentes se tornam poderosos quando podem usar ferramentas. Veja como configurar ferramentas comuns:
### Configuração de Ferramentas em Foundry Agents
```python
# agent_config.py
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import FunctionTool, CodeInterpreterTool
# Definir ferramentas personalizadas
search_tool = FunctionTool(
name="search_knowledge_base",
description="Search the company knowledge base for relevant documents",
parameters={
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query"
}
},
"required": ["query"]
}
)
# Criar agente com ferramentas
agent = project_client.agents.create_agent(
model="gpt-4.1",
name="Support Agent",
instructions="You are a helpful support agent. Use the search tool to find relevant information.",
tools=[search_tool, CodeInterpreterTool()]
)
```
### Configuração de Ambiente
```bash
# Configurar variáveis de ambiente específicas do agente
azd env set AZURE_OPENAI_MODEL "gpt-4.1"
azd env set AGENT_INSTRUCTIONS "You are a helpful assistant..."
azd env set ENABLE_CODE_INTERPRETER "true"
azd env set ENABLE_FILE_SEARCH "true"
# Implantar com configuração atualizada
azd deploy
```
---
## 📊 Monitoramento de Agentes
### Integração com Application Insights
Todos os templates AZD para agentes incluem Application Insights para monitoramento:
```bash
# Abrir painel de monitoramento
azd monitor --overview
# Ver logs ao vivo
azd monitor --logs
# Ver métricas ao vivo
azd monitor --live
```
### Métricas Principais para Acompanhar
| Métrica | Descrição | Meta |
|--------|-----------|------|
| Latência da Resposta | Tempo para gerar resposta | < 5 segundos |
| Uso de Tokens | Tokens por requisição | Monitorar custo |
| Taxa de Sucesso em Chamadas de Ferramenta | % de execuções de ferramentas bem-sucedidas | > 95% |
| Taxa de Erros | Requisições de agente com falha | < 1% |
| Satisfação do Usuário | Pontuação de feedback | > 4.0/5.0 |
### Log Personalizado para Agentes
```python
import os
from azure.monitor.opentelemetry import configure_azure_monitor
from opentelemetry import trace
# Configure o Azure Monitor com OpenTelemetry
configure_azure_monitor(
connection_string=os.environ["APPLICATIONINSIGHTS_CONNECTION_STRING"]
)
tracer = trace.get_tracer(__name__)
def log_agent_interaction(user_query, agent_response, tools_used, latency_ms):
with tracer.start_as_current_span("agent_interaction") as span:
span.set_attributes({
"user_query": user_query,
"response_length": len(agent_response),
"tools_used": tools_used,
"latency_ms": latency_ms
})
```
> **Nota:** Instale os pacotes necessários: `pip install azure-monitor-opentelemetry opentelemetry`
---
## 💰 Considerações de Custo
### Custos Mensais Estimados por Padrão
| Padrão | Ambiente de Desenvolvimento | Produção |
|---------|-----------------|--------------|
| Agente Único | $50-100 | $200-500 |
| Agente RAG | $80-150 | $300-800 |
| Multi-Agente (2-3 agentes) | $150-300 | $500-1,500 |
| Multi-Agente Empresarial | $300-500 | $1,500-5,000+ |
### Dicas para Otimização de Custo
1. **Use gpt-4.1-mini para tarefas simples**
```bash
azd env set AZURE_OPENAI_MODEL "gpt-4.1-mini"
```
2. **Implemente cache para consultas repetidas**
```python
from functools import lru_cache
@lru_cache(maxsize=1000)
def get_cached_response(query_hash):
return agent.run(query_hash)
```
3. **Defina limites de tokens por execução**
```python
# Defina max_completion_tokens ao executar o agente, não durante a criação
run = project_client.agents.create_run(
thread_id=thread.id,
agent_id=agent.id,
max_completion_tokens=1000 # Limitar o comprimento da resposta
)
```
4. **Escale para zero quando não estiver em uso**
```bash
# Container Apps escalam automaticamente para zero
azd env set MIN_REPLICAS "0"
```
---
## 🔧 Solução de Problemas com Agentes
### Problemas Comuns e Soluções
<details>
<summary><strong>❌ Agente não responde às chamadas de ferramentas</strong></summary>
```bash
# Verifique se as ferramentas estão corretamente registradas
azd show
# Verifique a implantação do OpenAI
az cognitiveservices account deployment list \
--name $AZURE_OPENAI_NAME \
--resource-group $RG_NAME
# Verifique os logs do agente
azd monitor --logs
```
**Causas comuns:**
- Incompatibilidade da assinatura da função da ferramenta
- Permissões necessárias ausentes
- Endpoint da API inacessível
</details>
<details>
<summary><strong>❌ Alta latência nas respostas do agente</strong></summary>
```bash
# Verifique o Application Insights para gargalos
azd monitor --live
# Considere usar um modelo mais rápido
azd env set AZURE_OPENAI_MODEL "gpt-4.1-mini"
azd deploy
```
**Dicas de otimização:**
- Use respostas em streaming
- Implemente cache de respostas
- Reduza o tamanho da janela de contexto
</details>
<details>
<summary><strong>❌ Agente retornando informações incorretas ou alucinadas</strong></summary>
```python
# Melhorar com prompts de sistema melhores
instructions = """
You are a helpful assistant. IMPORTANT:
- Only answer based on provided context
- If you don't know, say "I don't know"
- Always cite your sources
- Never make up information
"""
# Adicionar recuperação para fundamentação
agent = project_client.agents.create_agent(
model="gpt-4.1",
instructions=instructions,
tools=[FileSearchTool()] # Fundamentar respostas em documentos
)
```
</details>
<details>
<summary><strong>❌ Erros de limite de tokens excedido</strong></summary>
```python
# Implementar gerenciamento da janela de contexto
def truncate_context(messages, max_tokens=8000, model="gpt-4.1"):
"""Keep only recent messages within token limit."""
import tiktoken
encoding = tiktoken.encoding_for_model(model)
total_tokens = 0
truncated = []
for msg in reversed(messages):
msg_tokens = len(encoding.encode(msg.content))
if total_tokens + msg_tokens > max_tokens:
break
truncated.insert(0, msg)
total_tokens += msg_tokens
return truncated
```
</details>
---
## 🎓 Exercícios Práticos
### Exercício 1: Implemente um Agente Básico (20 minutos)
**Objetivo:** Implemente seu primeiro agente de IA usando AZD
```bash
# Etapa 1: Inicializar o modelo
azd init --template get-started-with-ai-agents
# Etapa 2: Fazer login no Azure
azd auth login
# Se você trabalhar em vários locatários, adicione --tenant-id <tenant-id>
# Etapa 3: Implantar
azd up
# Etapa 4: Testar o agente
# Saída esperada após a implantação:
# Implantação concluída!
# Endpoint: https://<app-name>.<region>.azurecontainerapps.io
# Abra a URL exibida na saída e tente fazer uma pergunta
# Etapa 5: Visualizar monitoramento
azd monitor --overview
# Etapa 6: Limpar
azd down --force --purge
```
**Critérios de Sucesso:**
- [ ] Agente responde a perguntas
- [ ] Pode acessar o painel de monitoramento via `azd monitor`
- [ ] Recursos limpos com sucesso
### Exercício 2: Adicione uma Ferramenta Personalizada (30 minutos)
**Objetivo:** Estenda um agente com uma ferramenta personalizada
1. Implemente o template do agente:
```bash
azd init --template get-started-with-ai-agents
azd up
```
2. Crie uma nova função de ferramenta no seu código do agente:
```python
def get_weather(location: str) -> str:
"""Get current weather for a location."""
# Chamada de API para serviço de clima
return f"Weather in {location}: Sunny, 72°F"
```
3. Registre a ferramenta com o agente:
```python
from azure.ai.projects.models import FunctionTool
weather_tool = FunctionTool(
name="get_weather",
description="Get current weather for a location",
parameters={
"type": "object",
"properties": {
"location": {"type": "string", "description": "City name"}
},
"required": ["location"]
}
)
agent = project_client.agents.create_agent(
model="gpt-4.1",
name="Weather Agent",
tools=[weather_tool]
)
```
4. Reimplante e teste:
```bash
azd deploy
# Pergunte: "Como está o tempo em Seattle?"
# Esperado: O agente chama get_weather("Seattle") e retorna a informação do tempo
```
**Critérios de Sucesso:**
- [ ] Agente reconhece consultas relacionadas ao tempo
- [ ] Ferramenta é chamada corretamente
- [ ] Resposta inclui informações meteorológicas
### Exercício 3: Construa um Agente RAG (45 minutos)
**Objetivo:** Crie um agente que responde perguntas a partir dos seus documentos
```bash
# Passo 1: Implantar o modelo RAG
azd init --template azure-search-openai-demo
azd up
# Passo 2: Faça o upload dos seus documentos
# Coloque arquivos PDF/TXT no diretório data/, depois execute:
python scripts/prepdocs.py
# Passo 3: Teste com perguntas específicas do domínio
# Abra a URL do aplicativo web a partir da saída do azd up
# Faça perguntas sobre seus documentos carregados
# As respostas devem incluir referências de citação como [doc.pdf]
```
**Critérios de Sucesso:**
- [ ] Agente responde a partir dos documentos carregados
- [ ] Respostas incluem citações
- [ ] Sem alucinação para perguntas fora do escopo
---
## 📚 Próximos Passos
Agora que você entende os agentes de IA, explore estes tópicos avançados:
| Tópico | Descrição | Link |
|-------|-----------|------|
| **Sistemas Multi-Agente** | Construa sistemas com múltiplos agentes colaborativos | [Exemplo Multi-Agente para Varejo](../../examples/retail-scenario.md) |
| **Padrões de Coordenação** | Aprenda padrões de orquestração e comunicação | [Padrões de Coordenação](../chapter-06-pre-deployment/coordination-patterns.md) |
| **Implantação em Produção** | Implantação de agentes pronta para empresas | [Práticas de IA em Produção](../chapter-08-production/production-ai-practices.md) |
| **Avaliação de Agentes** | Teste e avalie o desempenho do agente | [Solução de Problemas em IA](../chapter-07-troubleshooting/ai-troubleshooting.md) |
| **Laboratório de Workshop de IA** | Prático: Prepare sua solução IA para AZD | [Laboratório de Workshop de IA](ai-workshop-lab.md) |
---
## 📖 Recursos Adicionais
### Documentação Oficial
- [Microsoft Foundry Agent Service](https://learn.microsoft.com/azure/ai-services/agents/)
- [Introdução Rápida ao Microsoft Foundry Agent Service](https://learn.microsoft.com/azure/ai-services/agents/quickstart)
- [Framework Semantic Kernel Agent](https://learn.microsoft.com/semantic-kernel/)
### Templates AZD para Agentes
- [Comece com Agentes de IA](https://github.com/Azure-Samples/get-started-with-ai-agents)
- [Agente OpenAI Python Prompty](https://github.com/Azure-Samples/agent-openai-python-prompty)
- [Demonstração Azure Search OpenAI](https://github.com/Azure-Samples/azure-search-openai-demo)
### Recursos da Comunidade
- [Awesome AZD - Templates de Agentes](https://azure.github.io/awesome-azd/?tags=ai-agents)
- [Discord Azure AI](https://discord.gg/microsoft-azure)
- [Discord Microsoft Foundry](https://discord.gg/nTYy5BXMWG)
### Habilidades de Agente para Seu Editor
- [**Habilidades de Agente Microsoft Azure**](https://skills.sh/microsoft/github-copilot-for-azure) - Instale habilidades reutilizáveis de agentes IA para desenvolvimento no Azure no GitHub Copilot, Cursor, ou qualquer agente suportado. Inclui habilidades para [Azure AI](https://skills.sh/microsoft/github-copilot-for-azure/azure-ai), [Microsoft Foundry](https://skills.sh/microsoft/github-copilot-for-azure/microsoft-foundry), [implantação](https://skills.sh/microsoft/github-copilot-for-azure/azure-deploy), e [diagnósticos](https://skills.sh/microsoft/github-copilot-for-azure/azure-diagnostics):
```bash
npx skills add microsoft/github-copilot-for-azure
```
---
**Navegação**
- **Lição Anterior**: [Integração Microsoft Foundry](microsoft-foundry-integration.md)
- **Próxima Lição**: [Implantação de Modelo AI](ai-model-deployment.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso Legal**:
Este documento foi traduzido usando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos pela precisão, por favor, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
No one has posted yet. Be the first.

