14-03-02 — Desafio: Arquitetura do Assistente Jurídico

⏱ 10 minFontes validadas em: 2026-04-29

TL;DR

Exercício prático de design: construa a arquitetura de um assistente jurídico para um escritório de advocacia com 50 advogados. O sistema deve responder perguntas sobre jurisprudência, analisar contratos e redigir petições, com rastreabilidade completa, controle de custo e conformidade com a LGPD. Esboce os componentes, justifique cada decisão e identifique os anti-patterns evitados.

O Cenário

Escritório de advocacia Mendes & Associados, 50 advogados, especializado em direito tributário e contratos empresariais. Clientes: grandes corporações. Contexto:

  • Base documental: 200 mil documentos (jurisprudência, contratos, modelos de petição, pareceres)
  • Volume de queries: ~500/dia, picos em julgamentos
  • Dados sensíveis: estratégias de clientes, contratos confidenciais, segredos comerciais
  • Regulação: sigilo profissional (OAB), LGPD, privacidade de dados do cliente
  • Budget: R$ 30K/mês de infraestrutura
🎯 Objetivo do exercício: Desenhe a arquitetura completa antes de ler a solução proposta. Use papel ou ferramenta de diagramas. Identifique: (1) onde entram os documentos, (2) como o usuário interage, (3) como o sistema decide o que fazer, (4) como evitar os anti-patterns do tópico anterior.

Requisitos Funcionais

  1. Pesquisa de Jurisprudência: "Quais são os precedentes do STJ sobre ICMS em operações interestaduais de SaaS?"
  2. Análise de Contratos: Upload de PDF → identificar cláusulas problemáticas, riscos, obrigações
  3. Rascunho de Petições: Geração de minutas baseadas em casos anteriores + jurisprudência
  4. Rastreabilidade Total: Toda resposta deve citar as fontes exatas (documento, página, seção)
  5. Modo Offline/Edge: Advogados em audiências sem internet precisam de funcionalidade básica

Requisitos Não-Funcionais

  • Latência: < 5s para pesquisa, < 30s para análise de contrato
  • Disponibilidade: 99.5% (sem SLA crítico 24/7)
  • Dados nunca saem da cloud privada do escritório (nenhum dado vai para modelos públicos sem anonimização)
  • Audit log: toda query, todo documento acessado, toda resposta gerada
  • Custo: target < R$ 25K/mês

Solução Proposta: Componentes

graph TB A[Advogado / App Web] -->|Query ou Upload| B[API Gateway + Auth] B --> C[Router Agent] C -->|Pesquisa simples| D[RAG Pipeline] C -->|Análise de contrato| E[Document Analysis Agent] C -->|Rascunho de petição| F[Drafting Agent] D --> G[(Azure AI Search\nÍndice Jurídico)] E --> H[Azure AI\nDocument Intelligence] E --> D F --> D F --> I[Prompt Catalog\nModelos de Petição] D -->|Contexto recuperado| J[LLM: GPT-4o] E --> J F --> J J --> K[Response + Citations] K --> L[(Audit Log\nCosmosDB)] K --> A M[Pipeline de Ingestão] -->|Documentos novos| N[Azure AI\nDocument Intelligence] N -->|Chunks semânticos| G O[Phi-4 Local / Edge] -.->|Fallback offline| A

Decisões de Arquitetura — Justificativas

1. Modelo Principal: GPT-4o via Azure OpenAI (não OpenAI direta)

Por quê Azure e não OpenAI direta? No Azure OpenAI, os dados não são usados para treinamento. Os dados ficam dentro do tenant da Microsoft do cliente. Isso é mandatório para dados de clientes do escritório. A API é idêntica; a diferença é compliance.

2. Router Agent — Não "GPT-4o para Tudo"

Um agente de roteamento classifica a query antes de processá-la:

  • Pesquisa simples de jurisprudência → GPT-4o-mini + RAG (custo 15x menor)
  • Análise de contrato (< 10 páginas) → GPT-4o com Document Intelligence
  • Análise de contrato longa (10-300 páginas) → GPT-4o com batch processing
  • Rascunho de petição → GPT-4o + few-shot com modelos internos

3. RAG com Chunking Semântico por Estrutura Jurídica

Documentos jurídicos têm estrutura clara: ementa, relatório, voto, dispositivo. O pipeline de ingestão usa Azure AI Document Intelligence para identificar essas seções e criar chunks por unidade semântica, não por token count. Cada chunk carrega metadata: tribunal, data, número do processo, tipo de decisão.

4. Rastreabilidade Mandatória (Citations)

// Cada resposta inclui CitationList obrigatória
public record LegalResponse(
    string Answer,
    IReadOnlyList<Citation> Citations,
    string ConversationId,
    DateTimeOffset Timestamp
);

public record Citation(
    string DocumentId,
    string DocumentTitle,
    string ChunkText,      // texto exato usado
    int PageNumber,
    float RelevanceScore
);

5. Audit Log Imutável

Toda interação é gravada em CosmosDB com TTL de 5 anos (requisito OAB para documentos de escritório). O log inclui: usuário, query original, documentos recuperados, resposta gerada, latência, custo da chamada.

6. Edge / Offline com Phi-4

Phi-4 rodando via Foundry Local no notebook do advogado. Funcionalidade reduzida: pesquisa no cache local dos últimos 30 dias de jurisprudência. Sincroniza quando volta à rede.

Estimativa de Custo Mensal

ComponenteVolume estimadoCusto/mês (USD)
GPT-4o (análise contrato, rascunho)~50 req/dia × 10K tokens avg~$600
GPT-4o-mini (pesquisa simples)~300 req/dia × 2K tokens avg~$90
Azure AI Search (Standard S1)200K docs, 500 queries/dia~$250
Azure AI Document Intelligence~200 contratos/mês~$100
CosmosDB (audit log)500 req/dia, 5 anos retenção~$80
App Service + misc~$150
Total USD~$1.270/mês
Total BRL (R$ 5,20)~R$ 6.600/mês

Dentro do budget de R$ 25K/mês. A diferença vai para licenciamento Microsoft 365 E5 + Azure DevOps + reserva para picos.

Anti-Patterns Evitados

  • Não "GPT-4o para tudo" — Router Agent separa complexidade
  • RAG com avaliação — pipeline de avaliação semanal com Azure AI Evaluation SDK mede groundedness e relevance
  • Sem agentes sem limite — Document Analysis Agent tem max_iterations=10, timeout=120s por contrato
  • Prompts versionados — todos os templates no Azure AI Foundry Prompt Catalog com semver
  • Chunking semântico — baseado em estrutura jurídica, não em token count fixo
  • Content Safety — Prompt Shields em todas as chamadas (previne injeção por conteúdo de contrato malicioso)
  • Histórico limitado — sessão de chat retém últimos 10 turnos + resumo

Pontos de Atenção para Implementação Real

⚠️ Fine-tuning vs RAG: Para um escritório desse porte, RAG é suficiente. Fine-tuning seria justificado apenas se houvesse um estilo de redação muito específico para petições que modelos gerais não capturam — e mesmo assim, só após meses de operação com dados de preferência.
💡 Evolução natural: Mês 1-3: RAG básico + pesquisa. Mês 4-6: Document Analysis Agent. Mês 7-12: Drafting Agent. Não tente implementar tudo no dia 1. O valor já é enorme só com pesquisa de jurisprudência funcionando bem.

Como isso se conecta

  • 14-03-01 — anti-patterns que este design evita explicitamente
  • 14-02-03 — reference architectures Microsoft como base do design
  • 14-01-01 — patterns RAG e agentic aplicados aqui
  • 13-01-01 — riscos de dados que o design mitiga
  • Módulo 15 — síntese e próximos passos

Fontes

  1. RAG-based Conversational Bot Architecture — Azure Architecture Center
  2. Azure AI Document Intelligence Overview — Microsoft Learn
  3. Azure OpenAI Data Privacy and Security — Microsoft Learn
  4. Azure AI Foundry Local (Edge Inference) — Microsoft Tech Community