14-03-02 — Desafio: Arquitetura do Assistente Jurídico
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
Requisitos Funcionais
- Pesquisa de Jurisprudência: "Quais são os precedentes do STJ sobre ICMS em operações interestaduais de SaaS?"
- Análise de Contratos: Upload de PDF → identificar cláusulas problemáticas, riscos, obrigações
- Rascunho de Petições: Geração de minutas baseadas em casos anteriores + jurisprudência
- Rastreabilidade Total: Toda resposta deve citar as fontes exatas (documento, página, seção)
- 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
Decisões de Arquitetura — Justificativas
1. Modelo Principal: GPT-4o via Azure OpenAI (não OpenAI direta)
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
| Componente | Volume estimado | Custo/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