Entrar ou criar conta

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.

IA para o NOC: agentes de monitoramento, triagem e resposta a incidentes
Ligado ao treinamento IA para o NOC: agentes de monitoramento, triagem e resposta a incidentes

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.

Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
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
Objetivo

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

ItemRequisito, licença ou versão
VM ou notebook x86_642 vCPU, 4GB RAM, 10GB disco, acesso à internet
PythonPSF · 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

  1. 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/activate

    O que você deve ver: Prompt do terminal com (venv) à esquerda.

  2. 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-agents

    O que você deve ver: Mensagens de sucesso do pip para ambos os pacotes.

  3. 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.

  4. 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"}
    ]
    EOF

    O que você deve ver: Arquivo alertas.json salvo no diretório atual.

  5. 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.
    EOF

    O que você deve ver: Arquivo prompt_claude_v1.txt criado com o texto acima.

  6. 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)."
    EOF

    O que você deve ver: Arquivo runbooks.py criado com as funções simuladas.

  7. 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')
    EOF

    O que você deve ver: Arquivo agente_claude.py criado. Não há saída ainda.

  8. 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')
    EOF

    O que você deve ver: Arquivo agente_openai.py criado. Não há saída ainda.

  9. 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.txt

    O que você deve ver: Saída com decisões e ações simuladas para cada alerta, registradas no logs.txt.

  10. 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.txt

    O que você deve ver: Saída com decisões e ações simuladas, também registradas no logs.txt.

  11. 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}')
    EOF

    O que você deve ver: Arquivo avaliacao.py criado. Não há saída ainda.

  12. 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.py

    O que você deve ver: Mensagens OK para cada tipo de alerta se a ação correta foi registrada.

Como saber que funcionou

TesteComandoCritério
Verificar se todos os alertas foram processadosgrep -c 'Alerta:' logs.txtNúmero igual ao de alertas no alertas.json.
Checar se cada ação simulada aparece no loggrep 'SIMULADO' logs.txtUma linha para cada ação esperada (reiniciar, coletar logs, notificar).
Avaliação automática dos casos de testepython avaliacao.pyTodos os critérios OK na saída.
Comparar decisões entre agentesdiff <(python agente_claude.py) <(python agente_openai.py)Respostas similares para os mesmos alertas.

Troubleshooting

SintomaCausa provávelCorreção
Erro de importação do SDKPacote não instalado ou ambiente virtual não ativadoReinstale com pip e ative o venv
Chave de API não encontradaVariável de ambiente não definidaExporte a chave antes de rodar o script
Arquivo de alertas não encontradoalertas.json ausente ou em diretório erradoConfirme o caminho e crie o arquivo conforme instrução
Respostas vazias ou genéricas do agentePrompt de sistema mal definido ou ferramenta não registradaRevise 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

  1. Claude Agent SDK (Python) · Code.claude (code.claude.com)
  2. OpenAI Agents SDK (Python) · Openai.github (openai.github.io)
  3. Python documentação oficial · Python Software Foundation (docs.python.org)
  4. LGPD - Lei 13.709/2018 · Presidência da República (Planalto) (planalto.gov.br)
Verificação editorial
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
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.