Entrar ou criar conta

Laboratório: Agente Multi-Fonte para Monitoramento de Concorrentes com Claude Agent SDK, OpenAI Agents SDK e ElevenLabs TTS

Você vai montar um agente de IA que monitora concorrentes em fontes públicas, analisa e sintetiza relatórios falados usando Claude Agent SDK, OpenAI Agents SDK e ElevenLabs TTS. Em até 3 horas, o agente consulta notícias, resume, gera insights e entrega um áudio automatizado.

Monitoramento de mercado e estratégia com Claude Agent SDK + OpenAI Agents SDK
Ligado ao treinamento Monitoramento de mercado e estratégia com Claude Agent SDK + OpenAI Agents SDK

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
5
Versões da documentação consultada
Python 3.11 · Claude Agent SDK (Python) a versão estável atual · OpenAI Agents SDK (Python) a versão estável atual · ElevenLabs Python SDK a versão estável atual · Requests a versão estável atual
Objetivo

Demonstrar, de ponta a ponta, como construir e rodar um agente multiagente para monitoramento estratégico de concorrentes, integrando Claude Agent SDK e OpenAI Agents SDK em Python para análise, e ElevenLabs para síntese de voz. O laboratório cobre desde a configuração dos ambientes até a execução de casos de teste, validação dos outputs e registro para revisão humana.

Topologia

Uma máquina local (192.168.56.10) executa o agente Python, que consulta a API pública de notícias, usa Claude Agent SDK para análise, OpenAI Agents SDK para sumarização e ElevenLabs TTS para gerar o áudio do relatório. Todos os acessos externos usam as chaves de API em variáveis de ambiente.


+-------------------+
|   Máquina Local   |
| 192.168.56.10     |
|-------------------|
| Python 3.11       |
| Claude Agent SDK  |
| OpenAI Agents SDK |
| ElevenLabs SDK    |
+--------+----------+
         |
         v
+-------------------+
|  APIs Externas    |
| (Claude, OpenAI,  |
|  ElevenLabs,      |
|  Notícias)        |
+-------------------+

Equipamentos e software

ItemRequisito, licença ou versão
PC ou VM2 vCPU, 4GB RAM, 10GB disco, acesso à internet
PythonPSF · 3.11
Claude Agent SDK (Python)Apache-2.0 · a versão estável atual
OpenAI Agents SDK (Python)MIT · a versão estável atual
ElevenLabs Python SDKMIT · a versão estável atual
RequestsApache-2.0 · a versão estável atual

Roteiro

  1. Preparar Ambiente Python

    Crie um ambiente virtual para isolar as dependências. Isso evita conflitos e facilita a limpeza.

    python3.11 -m venv agenteia
    source agenteia/bin/activate

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

  2. Instalar Dependências

    Instale os SDKs necessários para Claude, OpenAI Agents e ElevenLabs, além do requests para chamadas HTTP.

    pip install code.claude.com/anthropics/claude-agent-sdk-python/archive/refs/heads/main.zip
    pip install openai-agents elevenlabs requests

    O que você deve ver: Pacotes instalados sem erro

  3. Configurar Variáveis de Ambiente

    Defina as chaves de API como variáveis de ambiente para não expor segredos no código.

    export ANTHROPIC_API_KEY='SUA_CHAVE_CLAUDE'
    export OPENAI_API_KEY='SUA_CHAVE_OPENAI'
    export ELEVEN_API_KEY='SUA_CHAVE_ELEVENLABS'

    O que você deve ver: Variáveis disponíveis na sessão (cheque com echo $ANTHROPIC_API_KEY)

  4. Criar Ferramenta de Busca de Notícias

    Implemente uma função Python que consulta uma API pública de notícias (exemplo: https://newsapi.org, substitua pela sua se necessário).

    newsapi_url = 'https://newsapi.org/v2/everything?q=concorrente+EXEMPLO&apiKey=SUA_CHAVE_NEWSAPI'
    import requests
    def buscar_noticias():
        r = requests.get(newsapi_url)
        return r.json()['articles'][:3]

    O que você deve ver: Retorno de até 3 notícias como dicionários

  5. Definir Prompt de Sistema Versionado

    Monte um prompt de sistema para o agente Claude, explicitando objetivo, fontes e critérios de análise. Salve como system_prompt_v1.txt.

    Comando não aplicável: crie manualmente o arquivo system_prompt_v1.txt com o texto:
    "Você é um analista estratégico. Analise as notícias recebidas, destaque riscos, oportunidades e movimentos dos concorrentes. Cite sempre a fonte. Responda em tópicos objetivos."

    O que você deve ver: Arquivo system_prompt_v1.txt criado

  6. Implementar Agente Claude para Análise

    Use o Claude Agent SDK para rodar o laço de agente, lendo o prompt versionado e recebendo as notícias como entrada.

    from anthropics.agent import Agent
    with open('system_prompt_v1.txt') as f:
        system_prompt = f.read()
    agente_claude = Agent(name='AnalistaClaude', instructions=system_prompt)
    noticias = buscar_noticias()
    analise = agente_claude.run_sync(noticias)

    O que você deve ver: Texto com análise dos concorrentes, tópicos claros

  7. Implementar Agente OpenAI para Sumarização

    Passe a análise do Claude para um agente OpenAI Agents SDK, pedindo um resumo de 3 frases.

    from openai_agents import Agent as OAAgent, Runner
    oa_agent = OAAgent(name='ResumidorOpenAI', instructions='Resuma o texto recebido em 3 frases, em português claro.')
    sumario = Runner.run_sync(oa_agent, analise)

    O que você deve ver: Resumo em 3 frases, em português

  8. Gerar Áudio do Relatório com ElevenLabs

    Use o ElevenLabs SDK para sintetizar o resumo em voz, facilitando o consumo rápido do relatório.

    from elevenlabs import ElevenLabs
    el = ElevenLabs(api_key=os.environ['ELEVEN_API_KEY'])
    audio = el.text_to_speech(text=sumario, voice_id='EXEMPLO_VOICE_ID')
    with open('relatorio.mp3', 'wb') as f:
        f.write(audio)

    O que você deve ver: Arquivo relatorio.mp3 criado

  9. Registrar Execução e Outputs

    Salve logs de entrada, saída e erros para revisão humana. Isso garante rastreabilidade e transparência.

    with open('execucao.log', 'a') as log:
        log.write(f'Entradas: {noticias}\nAnálise: {analise}\nResumo: {sumario}\n')

    O que você deve ver: Arquivo execucao.log com registros da execução

  10. Criar Casos de Teste Automatizados

    Implemente testes simples que verificam se a análise cita fonte, se o resumo tem 3 frases e se o áudio foi gerado.

    assert 'fonte' in analise.lower()
    assert sumario.count('.') >= 2
    import os
    assert os.path.exists('relatorio.mp3')

    O que você deve ver: Nenhum erro de assert

  11. Configurar Guardrails Simples

    Implemente validações para garantir que a entrada não contenha dados pessoais e que a saída não tenha termos proibidos (EXEMPLO: 'segredo').

    def validar_entrada(texto):
        assert 'CPF' not in texto
    
    def validar_saida(texto):
        assert 'segredo' not in texto.lower()

    O que você deve ver: Nenhum erro de assert ao rodar as funções

  12. Rodar Todo o Pipeline e Ouvir o Relatório

    Execute o script completo e ouça o arquivo relatorio.mp3 para validar a entrega de ponta a ponta.

    python seu_script.py
    # Depois, abra relatorio.mp3 em um player de áudio

    O que você deve ver: Relatório falado, com análise e resumo claros

Como saber que funcionou

TesteComandoCritério
Verificar se o arquivo relatorio.mp3 existe e tocals -lh relatorio.mp3Arquivo existe e pode ser reproduzido
Checar se o log execucao.log contém entradas, análise e resumocat execucao.logEntradas, análise e resumo presentes
Garantir que o resumo tem 3 frasescat execucao.log | grep 'Resumo:'Resumo com pelo menos 2 pontos finais
Validar que a análise cita fontescat execucao.log | grep 'fonte'Pelo menos uma menção a fonte
Rodar todos os asserts de testepython -m unittest seu_script.pyNenhum erro

Troubleshooting

SintomaCausa provávelCorreção
Erro de autenticação na APIChave de API ausente ou inválidaVerifique variáveis de ambiente e permissões
Arquivo relatorio.mp3 não criadoErro na chamada ao ElevenLabs ou falta de permissão de escritaCheque logs, permissões de pasta e API key
Resumo vazio ou incompletoErro na integração entre agentes ou resposta inesperadaReveja o prompt e a passagem de dados entre agentes
Análise sem citar fontesPrompt de sistema mal definidoInclua a exigência de citação de fonte no prompt versionado
Execução lentaRede instável ou limites de APITeste conexão e evite chamadas desnecessárias

Segurança e hardening

  • Nunca exponha chaves de API em código ou logs
  • Valide entradas para evitar vazamento de dados pessoais
  • Restrinja permissões de arquivos de log e áudio
  • Limite acesso à máquina e ao diretório de trabalho
  • Desative e revogue chaves não utilizadas

Checklist final

Referências

  1. Claude Agent SDK Documentation · Code.claude (code.claude.com)
  2. OpenAI Agents SDK (Python) · Openai.github (openai.github.io)
Verificação editorial
Publicado
13/09/2026
Última revisão
13/09/2026
Versão do conteúdo
1.0
Referências
2 oficiais
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.