Entrar ou criar conta

ULC Lab · implementação reproduzível

Laboratório: Agente de Síntese Executiva com Claude Agent SDK, OpenAI Agents SDK e ElevenLabs TTS

Você implementa um agente de apoio à decisão executiva que sintetiza dados fictícios, gera recomendações e lê o resultado em voz natural. Em cerca de 2 horas, o agente roda localmente, com prompts versionados, ferramentas, testes e guardrails.

IA para Decisão: agentes de análise, cenários e recomendação
Ligado ao treinamento IA para Decisão: agentes de análise, cenários e recomendação

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.10 ou superior · 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
Objetivo

Demonstrar, na prática, como construir um agente de análise e recomendação usando Claude Agent SDK (Python), OpenAI Agents SDK e ElevenLabs TTS, integrando ferramentas customizadas, avaliação automatizada e guardrails. O agente sintetiza dados de múltiplas fontes simuladas, explicita premissas, recomenda ações e lê a recomendação em voz, com registro de decisões e revisão de falhas.

Topologia

O agente Python central conecta-se à Claude API (via Agent SDK), à API da OpenAI (via Agents SDK) e à ElevenLabs TTS. Dados simulados são lidos de arquivos locais. O agente orquestra prompts, ferramentas e testes, e salva logs localmente. Endereços de exemplo: 192.168.56.10 (host), 127.0.0.1 (localhost para scripts), APIs externas via internet.


+-------------------+
|   Usuário local   |
+-------------------+
          |
          v
+-------------------+
|  Agente Python    |
| (Claude/OpenAI/   |
|  ElevenLabs SDKs) |
+-------------------+
   |     |      |
   v     v      v
Claude  OpenAI  ElevenLabs
API     API     TTS API

Equipamentos e software

ItemRequisito, licença ou versão
PC ou VM x86_642 vCPU, 4 GB RAM, 20 GB disco, acesso à internet
PythonPSF · 3.10 ou superior
Claude Agent SDK (Python)MIT · 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

Roteiro

  1. Preparar ambiente Python isolado

    Isolar dependências e evitar conflitos criando um ambiente virtual.

    python3 -m venv ia_lab_env
    source ia_lab_env/bin/activate

    O que você deve ver: Prompt do terminal indica ambiente ativado (ia_lab_env).

  2. Instalar SDKs necessários

    Instalar Claude Agent SDK, OpenAI Agents SDK e ElevenLabs SDK para acesso às APIs.

    pip install claude-agent-sdk-python openai-agents elevenlabs

    O que você deve ver: Pacotes instalados sem erros.

  3. Configurar variáveis de ambiente para segredos

    Evitar exposição de chaves de API. Use variáveis de ambiente para Claude, OpenAI e ElevenLabs.

    export CLAUDE_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 setadas na sessão atual.

  4. Criar arquivos de dados simulados

    Gerar arquivos CSV de EXEMPLO para simular fontes de dados (financeiro, vendas, produção).

    echo 'mes,receita,despesa
    2024-01,10000,7000
    2024-02,12000,8000' > dados_financeiros.csv
    echo 'produto,vendas
    A,500
    B,300' > dados_vendas.csv

    O que você deve ver: Arquivos dados_financeiros.csv e dados_vendas.csv criados no diretório.

  5. Definir prompt de sistema versionado

    Criar arquivo prompt_v1.txt com instruções claras: sintetizar dados, explicitar premissas, recomendar ação e declarar incerteza.

    echo 'Você é um agente de decisão executiva. Leia os dados fornecidos, sintetize os pontos-chave, explicite premissas, recomende uma ação e declare o grau de incerteza. Responda apenas com texto estruturado.' > prompt_v1.txt

    O que você deve ver: Arquivo prompt_v1.txt salvo.

  6. Implementar ferramenta customizada de leitura de CSV

    Criar função Python para ler e resumir arquivos CSV. Expor como ferramenta para o agente.

    cat <<EOF > ferramentas.py
    import csv
    def resumo_csv(path):
        with open(path, newline='') as f:
            reader = csv.DictReader(f)
            linhas = list(reader)
            return f'{len(linhas)} linhas, colunas: {reader.fieldnames}'
    EOF

    O que você deve ver: Arquivo ferramentas.py criado com função resumo_csv.

  7. Configurar agente Claude com ferramenta e prompt

    Criar script Python que inicializa Claude Agent com prompt_v1.txt e ferramenta resumo_csv.

    cat <<EOF > agente_claude.py
    import os
    from claude_agent_sdk import Agent, Tool
    from ferramentas import resumo_csv
    with open('prompt_v1.txt') as f:
        prompt = f.read()
    agent = Agent(
        name='AgenteExecutivo',
        instructions=prompt,
        tools=[Tool('resumo_csv', resumo_csv, {'path': str}, str)]
    )
    EOF

    O que você deve ver: Arquivo agente_claude.py criado com agente configurado.

  8. Configurar agente OpenAI com ferramenta e prompt

    Criar script Python que inicializa Agent do OpenAI Agents SDK com mesmo prompt e ferramenta.

    cat <<EOF > agente_openai.py
    import os
    from openai_agents import Agent, Tool
    from ferramentas import resumo_csv
    with open('prompt_v1.txt') as f:
        prompt = f.read()
    agent = Agent(
        name='AgenteExecutivo',
        instructions=prompt,
        tools=[Tool('resumo_csv', resumo_csv, {'path': str}, str)]
    )
    EOF

    O que você deve ver: Arquivo agente_openai.py criado com agente configurado.

  9. Implementar avaliação automatizada (casos de teste)

    Criar script test_lab.py que executa o agente com dados de teste e compara a saída com o esperado.

    cat <<EOF > test_lab.py
    from agente_claude import agent as agente_c
    entrada = {'path': 'dados_financeiros.csv'}
    resposta = agente_c.run('resumo_csv', entrada)
    assert '2 linhas' in resposta, 'Falha no resumo do CSV'
    print('Teste OK')
    EOF

    O que você deve ver: Arquivo test_lab.py criado para testar ferramenta.

  10. Adicionar guardrails de entrada e saída

    No agente, valide que o caminho do arquivo termina com .csv e que a saída não contenha dados pessoais.

    cat <<EOF >> ferramentas.py
    def guardrail_entrada(path):
        if not path.endswith('.csv'):
            raise ValueError('Arquivo deve ser CSV')
    def guardrail_saida(saida):
        if 'cpf' in saida.lower():
            raise ValueError('Dados pessoais detectados')
    EOF

    O que você deve ver: Guardrails adicionados ao arquivo ferramentas.py.

  11. Integrar ElevenLabs TTS para leitura da recomendação

    Criar script Python que recebe texto do agente e gera áudio usando ElevenLabs.

    cat <<EOF > tts_lab.py
    import os
    from elevenlabs import ElevenLabs
    api = ElevenLabs(api_key=os.environ['ELEVEN_API_KEY'])
    texto = 'Recomendação: aumentar vendas do produto A.'
    voz = api.text_to_speech(text=texto, voice_id='EXEMPLO_VOICE_ID')
    with open('output.mp3', 'wb') as f:
        f.write(voz)
    EOF

    O que você deve ver: Arquivo output.mp3 gerado com áudio da recomendação.

  12. Executar agente de ponta a ponta

    Rodar script principal que integra leitura dos dados, síntese pelo agente e leitura em voz.

    python agente_claude.py
    python tts_lab.py

    O que você deve ver: Recomendação impressa e arquivo de áudio gerado.

Como saber que funcionou

TesteComandoCritério
Executar test_lab.py para validar ferramenta resumo_csvpython test_lab.pyMensagem 'Teste OK' exibida.
Rodar agente_claude.py com dados_financeiros.csvpython agente_claude.pyResumo dos dados e recomendação impressos no terminal.
Ouvir arquivo output.mp3aplay output.mp3 (Linux) ou abrir em playerÁudio reproduzindo a recomendação.
Testar guardrail com arquivo não-CSVpython agente_claude.py path='dados.txt'Erro 'Arquivo deve ser CSV' exibido.
Testar proteção contra dados pessoaisInserir 'cpf' em uma saída simulada e rodar guardrail_saidaErro 'Dados pessoais detectados' exibido.

Troubleshooting

SintomaCausa provávelCorreção
Erro de autenticação na Claude, OpenAI ou ElevenLabsChave de API ausente ou inválidaVerifique variáveis de ambiente e chaves corretas
Arquivo CSV não encontradoCaminho incorreto ou arquivo ausenteConfirme nome e localização dos arquivos de dados
Saída do agente vazia ou sem recomendaçãoPrompt ou ferramenta mal configuradosRevise prompt_v1.txt e funções em ferramentas.py
Arquivo output.mp3 não reproduz áudioErro na chamada ElevenLabs ou arquivo corrompidoCheque resposta da API e permissões de escrita

Segurança e hardening

  • Nunca inclua chaves de API em arquivos de código ou prompts
  • Use variáveis de ambiente para segredos
  • Não armazene dados pessoais nos arquivos de teste
  • Restrinja permissões de leitura/gravação dos arquivos de dados
  • Revise logs para evitar vazamento de informações sensíveis

Checklist final

Referências

  1. Claude Agent SDK Documentation · Code.claude (code.claude.com)
  2. OpenAI Agents SDK (Python) · Openai.github (openai.github.io)
  3. ElevenLabs Python SDK · Elevenlabs (elevenlabs.io)
  4. Python venv · Python Software Foundation (docs.python.org)
  5. 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
5 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.