Entrar ou criar conta

Laboratório: Agente Claude para Revisão de Contratos com Ferramentas Customizadas e Avaliação Automática

Você terá um agente Claude rodando localmente via Claude Agent SDK em Python, capaz de revisar contratos fictícios, identificar cláusulas de risco e registrar logs de operação. O laboratório leva cerca de 2 horas.

IA para o Jurídico: agentes de contratos, conformidade e pesquisa
Ligado ao treinamento IA para o Jurídico: agentes de contratos, conformidade e pesquisa

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 3.10 ou superior · Claude Agent SDK (Python) a versão estável atual · pip a versão estável atual
Objetivo

Demonstrar, de ponta a ponta, como implementar um agente jurídico para revisão de contratos usando Claude Agent SDK em Python, com prompt de sistema versionado, ferramenta customizada para análise de cláusulas, avaliação automatizada por casos de teste e registro de execução. O agente prepara um relatório, que deve ser revisado por um responsável antes de qualquer decisão legal.

Topologia

O agente Claude roda em um servidor local (192.168.56.10), acessando arquivos de contratos em uma pasta compartilhada. O agente usa o Claude Agent SDK para processar os contratos e salvar relatórios em outra pasta local. O operador interage via terminal SSH. Não há conexão externa obrigatória para a execução do agente, exceto para baixar dependências.


+-------------------+
| Operador (SSH)    |
+--------+----------+
         |
         v
+--------+----------+
| VM/Servidor Local |
| IP: 192.168.56.10 |
+--------+----------+
         |
         v
+-------------------+
| Claude Agent SDK  |
| Contratos: /dados |
| Relatórios: /out  |
+-------------------+

Equipamentos e software

ItemRequisito, licença ou versão
VM Linux (Ubuntu 22.04 ou superior)2 vCPU, 4 GB RAM, 10 GB disco, acesso à internet para instalar pacotes
PythonPSF · 3.10 ou superior
Claude Agent SDK (Python)Apache-2.0 · a versão estável atual
pipMIT · a versão estável atual

Roteiro

  1. Preparar o ambiente Python

    Garanta um ambiente limpo para evitar conflitos de dependências.

    sudo apt update && sudo apt install -y python3 python3-venv python3-pip
    python3 -m venv venv
    source venv/bin/activate

    O que você deve ver: Prompt alterado para indicar ambiente virtual ativo.

  2. Instalar o Claude Agent SDK

    O SDK oficial é necessário para criar e rodar o agente localmente.

    pip install claude-agent-sdk

    O que você deve ver: Mensagem de instalação bem-sucedida do pacote claude-agent-sdk.

  3. Criar diretórios de trabalho

    Organize os arquivos de contratos e relatórios para facilitar o acesso e versionamento.

    mkdir -p ~/contratos_lab/dados ~/contratos_lab/out

    O que você deve ver: Pastas ~/contratos_lab/dados e ~/contratos_lab/out criadas.

  4. Adicionar contratos fictícios para teste

    Inclua contratos de EXEMPLO para o agente analisar.

    echo 'CONTRATO DE PRESTAÇÃO DE SERVIÇOS
    Cláusula 1: O contratado deverá...
    Cláusula 2: O contratante poderá rescindir sem aviso prévio...' > ~/contratos_lab/dados/contrato1.txt

    O que você deve ver: Arquivo contrato1.txt criado em ~/contratos_lab/dados.

  5. Definir prompt de sistema versionado

    O prompt orienta o agente sobre o objetivo e limitações da tarefa.

    cat <<EOF > ~/contratos_lab/prompt_v1.txt
    Você é um agente jurídico especializado em revisão de contratos. Seu objetivo é identificar cláusulas de risco, inconsistências e pontos que exigem atenção do advogado responsável. Não tome decisões legais. Liste as cláusulas de risco e explique o motivo. Use linguagem clara e objetiva. Versão do prompt: v1.
    EOF

    O que você deve ver: Arquivo prompt_v1.txt salvo com o texto do sistema.

  6. Implementar ferramenta customizada de análise de cláusulas

    Ferramentas customizadas permitem que o agente execute funções específicas, como identificar padrões de risco.

    cat <<EOF > ~/contratos_lab/analisador.py
    import re
    def analisar_clausulas(texto):
        riscos = []
        padroes = [r'rescindir sem aviso prévio', r'indenização ilimitada']
        for padrao in padroes:
            if re.search(padrao, texto, re.IGNORECASE):
                riscos.append(padrao)
        return riscos
    EOF

    O que você deve ver: Arquivo analisador.py criado com função de identificação de padrões de risco.

  7. Integrar ferramenta ao agente Claude

    O SDK permite registrar funções Python como ferramentas acessíveis ao agente.

    cat <<EOF > ~/contratos_lab/agente_lab.py
    from claude_agent_sdk import Agent, Tool
    from analisador import analisar_clausulas
    
    with open('prompt_v1.txt') as f:
        prompt = f.read()
    
    def ferramenta_analisar(texto: str):
        riscos = analisar_clausulas(texto)
        return {'riscos': riscos}
    
    analisar_tool = Tool(
        name='analisar_clausulas',
        description='Identifica cláusulas de risco em contratos',
        parameters={'texto': str},
        func=ferramenta_analisar
    )
    
    agent = Agent(
        name='AgenteRevisor',
        instructions=prompt,
        tools=[analisar_tool]
    )
    
    if __name__ == '__main__':
        with open('dados/contrato1.txt') as f:
            contrato = f.read()
        resultado = agent.run_sync({'texto': contrato})
        with open('out/relatorio1.txt', 'w') as f:
            f.write(str(resultado))
    EOF

    O que você deve ver: Arquivo agente_lab.py criado com integração do prompt e ferramenta customizada.

  8. Executar o agente e gerar relatório

    Rode o agente para processar o contrato de teste e salvar o relatório.

    cd ~/contratos_lab
    python agente_lab.py

    O que você deve ver: Arquivo out/relatorio1.txt criado com os riscos identificados.

  9. Criar casos de teste e avaliação automática

    Teste automatizado garante que o agente identifica corretamente cláusulas de risco.

    cat <<EOF > ~/contratos_lab/teste_agente.py
    from agente_lab import ferramenta_analisar
    
    def test_risco_rescisao():
        texto = 'O contratante poderá rescindir sem aviso prévio.'
        resultado = ferramenta_analisar(texto)
        assert 'rescindir sem aviso prévio' in resultado['riscos']
    
    def test_sem_risco():
        texto = 'Cláusula padrão.'
        resultado = ferramenta_analisar(texto)
        assert resultado['riscos'] == []
    
    if __name__ == '__main__':
        test_risco_rescisao()
        test_sem_risco()
        print('Todos os testes passaram.')
    EOF

    O que você deve ver: Arquivo teste_agente.py criado com dois testes automatizados.

  10. Rodar avaliação automática

    Execute os testes para validar o comportamento da ferramenta.

    python teste_agente.py

    O que você deve ver: Mensagem 'Todos os testes passaram.' exibida.

  11. Registrar logs de execução

    O registro é essencial para auditoria e revisão humana.

    cat <<EOF > ~/contratos_lab/logger.py
    import datetime
    def registrar_log(acao, detalhes):
        with open('out/log_execucao.txt', 'a') as f:
            f.write(f"{datetime.datetime.now()} | {acao} | {detalhes}\n")
    EOF

    O que você deve ver: Arquivo logger.py criado para registrar logs.

  12. Adicionar logging ao agente

    Inclua o registro de cada execução no fluxo principal.

    cat <<EOF >> ~/contratos_lab/agente_lab.py
    from logger import registrar_log
    # ...
    if __name__ == '__main__':
        with open('dados/contrato1.txt') as f:
            contrato = f.read()
        resultado = agent.run_sync({'texto': contrato})
        with open('out/relatorio1.txt', 'w') as f:
            f.write(str(resultado))
        registrar_log('analise_contrato', f'contrato1.txt: {resultado}')
    EOF

    O que você deve ver: Código do agente atualizado para registrar logs de execução.

Como saber que funcionou

TesteComandoCritério
Verificar se o relatório foi geradocat ~/contratos_lab/out/relatorio1.txtRelatório contém as cláusulas de risco identificadas.
Checar se os logs de execução foram salvoscat ~/contratos_lab/out/log_execucao.txtArquivo contém registro da análise com data, ação e detalhes.
Rodar avaliação automática dos testespython ~/contratos_lab/teste_agente.pyMensagem 'Todos os testes passaram.' exibida.
Modificar o contrato e reexecutarecho 'Cláusula 3: Indenização ilimitada.' >> ~/contratos_lab/dados/contrato1.txt python ~/contratos_lab/agente_lab.py cat ~/contratos_lab/out/relatorio1.txtRelatório atualizado inclui 'indenização ilimitada' como risco.

Troubleshooting

SintomaCausa provávelCorreção
ImportError ao rodar agente_lab.pyAmbiente virtual não ativado ou dependência não instalada.Execute 'source venv/bin/activate' e 'pip install claude-agent-sdk'.
Arquivo de relatório não criadoErro de caminho ou permissão nas pastas.Verifique se ~/contratos_lab/out existe e tem permissão de escrita.
Testes automatizados falhamFunção de análise não reconhece o padrão de risco.Confirme se o texto do teste corresponde ao padrão esperado na função.
Logs não aparecemArquivo logger.py não importado corretamente.Confirme se o import está correto e se logger.py está no mesmo diretório.

Segurança e hardening

  • Nunca inclua dados pessoais reais nos contratos de teste.
  • Armazene segredos (como chaves de API) apenas em variáveis de ambiente, nunca em arquivos de código.
  • Restrinja permissões das pastas ~/contratos_lab/dados e ~/contratos_lab/out para o usuário do laboratório.
  • Revise periodicamente os logs para identificar acessos indevidos.
  • Desative o ambiente virtual ao finalizar para evitar uso indevido.

Checklist final

Referências

  1. Claude Agent SDK Documentation · Code.claude (code.claude.com)
  2. Python Official Documentation · Python Software Foundation (docs.python.org)
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.