Laboratório: Agente Multi-LLM para Triagem de Alertas do NOC com Claude Agent SDK e OpenAI Agents SDK
Você terá um agente Python funcional que lê alertas simulados, correlaciona, classifica por severidade e executa runbooks simples, com logs e avaliação automática. A implementação leva cerca de 2 horas em ambiente local.

Roteiro para estudo em ambiente de laboratório ou de teste. Execute apenas em equipamentos, redes e contas que você tenha autorização para usar, com backup e homologação próprios. Comandos podem causar indisponibilidade ou perda de dados. Software e marcas citados pertencem aos seus titulares. Termos de Uso.
- Duração estimada
- 120 min
- Passos
- 12
- Validações
- 4
- Versões da documentação consultada
- Python a versão estável atual · Claude Agent SDK (Python) a versão estável atual · OpenAI Agents SDK (Python) a versão estável atual
Demonstrar como construir um agente operacional para o NOC usando Claude Agent SDK e OpenAI Agents SDK em Python, integrando leitura de alertas, classificação, execução de runbooks e registro, com prompts versionados, ferramentas explícitas, testes automatizados e guardrails. O laboratório cobre desde o setup até a validação, focando em processos reproduzíveis e seguros para ambientes de produção.
Topologia
Um host local executa dois agentes Python: um com Claude Agent SDK, outro com OpenAI Agents SDK. Ambos consomem alertas de um arquivo JSON local, processam, classificam e executam ações simuladas (runbooks). O agente registra logs em disco e apresenta resultados no terminal. Não há conexão externa obrigatória além das APIs dos provedores (Anthropic e OpenAI) via internet pública.
+-------------------------+
| Host VM |
|-------------------------|
| [alertas.json] |
| | |
| v |
| [Claude Agent SDK] |
| | |
| v |
| [OpenAI Agents SDK] |
| | |
| v |
| [runbooks.py] |
| | |
| v |
| [logs.txt] |
+-------------------------+
Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| VM ou notebook x86_64 | 2 vCPU, 4GB RAM, 10GB disco, acesso à internet |
| Python | PSF · a versão estável atual |
| Claude Agent SDK (Python) | Apache-2.0 · a versão estável atual |
| OpenAI Agents SDK (Python) | MIT · a versão estável atual |
Roteiro
- Preparar ambiente Python isolado
Crie um ambiente virtual para isolar dependências. Isso evita conflitos e facilita a limpeza.
python3 -m venv venv source venv/bin/activateO que você deve ver: Prompt do terminal com (venv) à esquerda.
- Instalar dependências dos SDKs
Instale Claude Agent SDK e OpenAI Agents SDK via pip. Ambos são necessários para rodar os agentes.
pip install claude-agent-sdk openai-agentsO que você deve ver: Mensagens de sucesso do pip para ambos os pacotes.
- Configurar variáveis de ambiente para segredos
Defina as chaves de API como variáveis de ambiente. Nunca coloque segredos em código ou prompt.
export ANTHROPIC_API_KEY='SUA_CHAVE_CLAUDE' export OPENAI_API_KEY='SUA_CHAVE_OPENAI'O que você deve ver: Variáveis disponíveis na sessão. Não há saída visível.
- Criar arquivo de alertas simulados
Monte um arquivo alertas.json com 3 alertas de EXEMPLO, variando severidade e origem. Isso permite testar o fluxo sem sistemas reais.
cat > alertas.json <<EOF [ {"id": 1, "origem": "switch01", "tipo": "link_down", "severidade": "alta", "mensagem": "Link caiu na porta 3"}, {"id": 2, "origem": "router02", "tipo": "cpu_high", "severidade": "media", "mensagem": "CPU acima de 85%"}, {"id": 3, "origem": "firewall01", "tipo": "login_fail", "severidade": "baixa", "mensagem": "Falha de login repetida"} ] EOFO que você deve ver: Arquivo alertas.json salvo no diretório atual.
- Escrever prompt de sistema versionado para o agente Claude
Crie um arquivo prompt_claude_v1.txt com instruções claras para triagem de alertas do NOC. O prompt define o comportamento e será versionado.
cat > prompt_claude_v1.txt <<EOF Você é um agente do NOC. Sua tarefa é ler alertas, correlacionar por origem e tipo, classificar a severidade (alta, média, baixa) e sugerir ações de runbook. Não execute ações irreversíveis. Registre toda decisão. Use respostas objetivas e em português. Versão: v1. EOFO que você deve ver: Arquivo prompt_claude_v1.txt criado com o texto acima.
- Definir ferramentas (runbooks) como funções Python
Implemente funções para simular execução de runbooks: reiniciar porta, coletar logs, notificar responsável. Cada função recebe parâmetros claros e retorna resultado textual.
cat > runbooks.py <<EOF def reiniciar_porta(origem, porta): return f"Porta {porta} do equipamento {origem} reiniciada (SIMULADO)." def coletar_logs(origem): return f"Logs coletados do equipamento {origem} (SIMULADO)." def notificar_responsavel(alerta_id, severidade): return f"Responsável notificado sobre alerta {alerta_id} de severidade {severidade} (SIMULADO)." EOFO que você deve ver: Arquivo runbooks.py criado com as funções simuladas.
- Implementar agente Claude Agent SDK para triagem
Monte um script Python que carrega alertas, lê o prompt, instancia o agente Claude, define as ferramentas e processa cada alerta. O agente sugere e executa ações via funções.
cat > agente_claude.py <<EOF import os, json from claude_agent_sdk import Agent, Tool from runbooks import reiniciar_porta, coletar_logs, notificar_responsavel with open('alertas.json') as f: alertas = json.load(f) with open('prompt_claude_v1.txt') as f: prompt = f.read() tools = [ Tool('reiniciar_porta', reiniciar_porta, {'origem': str, 'porta': str}), Tool('coletar_logs', coletar_logs, {'origem': str}), Tool('notificar_responsavel', notificar_responsavel, {'alerta_id': int, 'severidade': str}) ] agente = Agent( name='AgenteNOCClaude', instructions=prompt, tools=tools, api_key=os.environ['ANTHROPIC_API_KEY'] ) for alerta in alertas: entrada = f"Alerta: {alerta}" resposta = agente.run(entrada) print(resposta) with open('logs.txt', 'a') as log: log.write(resposta + '\n') EOFO que você deve ver: Arquivo agente_claude.py criado. Não há saída ainda.
- Implementar agente OpenAI Agents SDK para triagem
Monte um script Python similar usando OpenAI Agents SDK, com o mesmo prompt e ferramentas. Isso permite comparar abordagens.
cat > agente_openai.py <<EOF import os, json from openai_agents import Agent, Tool from runbooks import reiniciar_porta, coletar_logs, notificar_responsavel with open('alertas.json') as f: alertas = json.load(f) with open('prompt_claude_v1.txt') as f: prompt = f.read() tools = [ Tool('reiniciar_porta', reiniciar_porta, {'origem': str, 'porta': str}), Tool('coletar_logs', coletar_logs, {'origem': str}), Tool('notificar_responsavel', notificar_responsavel, {'alerta_id': int, 'severidade': str}) ] agente = Agent( name='AgenteNOCOpenAI', instructions=prompt, tools=tools, api_key=os.environ['OPENAI_API_KEY'] ) for alerta in alertas: entrada = f"Alerta: {alerta}" resposta = agente.run(entrada) print(resposta) with open('logs.txt', 'a') as log: log.write(resposta + '\n') EOFO que você deve ver: Arquivo agente_openai.py criado. Não há saída ainda.
- Executar agente Claude e revisar logs
Rode o script do agente Claude. Observe a saída no terminal e o conteúdo do logs.txt.
python agente_claude.py cat logs.txtO que você deve ver: Saída com decisões e ações simuladas para cada alerta, registradas no logs.txt.
- Executar agente OpenAI e revisar logs
Rode o script do agente OpenAI. Compare as respostas e ações com o agente Claude.
python agente_openai.py cat logs.txtO que você deve ver: Saída com decisões e ações simuladas, também registradas no logs.txt.
- Adicionar avaliação automática dos resultados
Implemente um script simples que verifica se cada alerta teve ação apropriada sugerida/executada, conforme regras de EXEMPLO.
cat > avaliacao.py <<EOF import json with open('logs.txt') as f: logs = f.readlines() criterios = [ ('link_down', 'reiniciada'), ('cpu_high', 'logs coletados'), ('login_fail', 'notificado') ] for tipo, esperado in criterios: if not any(esperado in l for l in logs): print(f'FALHA: ação {esperado} não encontrada para {tipo}') else: print(f'OK: ação {esperado} encontrada para {tipo}') EOFO que você deve ver: Arquivo avaliacao.py criado. Não há saída ainda.
- Rodar avaliação automática
Execute o script de avaliação para conferir se as ações dos agentes batem com os critérios esperados.
python avaliacao.pyO que você deve ver: Mensagens OK para cada tipo de alerta se a ação correta foi registrada.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Verificar se todos os alertas foram processados | grep -c 'Alerta:' logs.txt | Número igual ao de alertas no alertas.json. |
| Checar se cada ação simulada aparece no log | grep 'SIMULADO' logs.txt | Uma linha para cada ação esperada (reiniciar, coletar logs, notificar). |
| Avaliação automática dos casos de teste | python avaliacao.py | Todos os critérios OK na saída. |
| Comparar decisões entre agentes | diff <(python agente_claude.py) <(python agente_openai.py) | Respostas similares para os mesmos alertas. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Erro de importação do SDK | Pacote não instalado ou ambiente virtual não ativado | Reinstale com pip e ative o venv |
| Chave de API não encontrada | Variável de ambiente não definida | Exporte a chave antes de rodar o script |
| Arquivo de alertas não encontrado | alertas.json ausente ou em diretório errado | Confirme o caminho e crie o arquivo conforme instrução |
| Respostas vazias ou genéricas do agente | Prompt de sistema mal definido ou ferramenta não registrada | Revise o prompt e a lista de ferramentas no agente |
Segurança e hardening
- Nunca exponha chaves de API em código ou logs
- Restrinja permissões do arquivo logs.txt
- Não use dados reais de clientes ou sistemas em testes
- Garanta que scripts de runbook não executem comandos reais sem aprovação
- Apague variáveis de ambiente ao finalizar
Checklist final
Referências
- Claude Agent SDK (Python) · Code.claude (code.claude.com)
- OpenAI Agents SDK (Python) · Openai.github (openai.github.io)
- Python documentação oficial · Python Software Foundation (docs.python.org)
- LGPD - Lei 13.709/2018 · Presidência da República (Planalto) (planalto.gov.br)
- Publicado
- 13/09/2026
- Última revisão
- 13/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 4 oficiais · 1 de normas ou órgãos
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
