Pular para o conteúdo

Introducao

Douto e o agente de conhecimento doutrinario da plataforma sens.legal. Ele processa livros juridicos e os transforma em conhecimento estruturado e pesquisavel, pronto para ser consultado por advogados e agentes de IA em tempo real.

A pesquisa juridica no Brasil exige consultar multiplos autores sobre o mesmo conceito. Um advogado pesquisando exceptio non adimpleti contractus pode precisar comparar as posicoes de Orlando Gomes, Caio Mario e Pontes de Miranda — cada um em um livro diferente, capitulo diferente, edicao diferente. Esse cruzamento manual costuma levar de 2 a 4 horas por conceito.

As plataformas de legal tech atuais (Jusbrasil, Turivius, Vlex, LexisNexis) fazem busca — devolvem documentos que correspondem a uma consulta. Nenhuma delas faz sintese — agregar e comparar posicoes doutrinarias entre autores.

O Douto preenche essa lacuna transformando livros juridicos brutos em conhecimento estruturado, classificado e pesquisavel, com metadados que permitem filtrar por instituto juridico, tipo de conteudo, ramo do direito e fase processual.

O Douto opera em dois modos complementares:

Cinco scripts Python executados sequencialmente transformam PDFs juridicos em dados pesquisaveis:

PDF → process_books.py → rechunk_v3.py → enrich_chunks.py → embed_doutrina.py → search_doutrina_v2.py

Cada estagio adiciona estrutura: o PDF bruto vira markdown, o markdown vira chunks inteligentes, os chunks sao classificados com metadados juridicos, o texto enriquecido gera embeddings, e os embeddings habilitam busca semantica.

Uma hierarquia de arquivos markdown no estilo Obsidian, organizada por ramo do direito:

INDEX_DOUTO.md (raiz — 8 ramos do direito)
└── MOC_CIVIL.md (35 livros, ~9.365 chunks)
└── MOC_PROCESSUAL.md (8 livros, ~22.182 chunks)
└── MOC_EMPRESARIAL.md (7 livros)
└── nodes/ (notas atomicas — planejado)

O Douto atende tres publicos:

PublicoComo usa o DoutoDisponivel hoje?
AdvogadosBuscam doutrina via frontend Juca durante pesquisa de casosAinda nao — requer integracao v0.4
Agentes de IAConsultam doutrina via MCP/API durante briefings e analisesAinda nao — MCP planejado para v0.4
DesenvolvedoresEstendem o pipeline, adicionam livros, melhoram a base de conhecimentoSim — via CLI

No ecossistema sens.legal, cada agente cuida de um pilar diferente do conhecimento juridico:

AgentePilarCorpus atual
ValterJurisprudencia23.400+ decisoes do STJ
LeciLegislacaoLeis federais
DoutoDoutrina~50 livros, ~31.500 chunks
JosephOrquestracaoCoordena todos os agentes
JucaFrontendApresenta resultados para advogados

Quando totalmente integrado, um advogado que pergunte ao Juca sobre um conceito juridico recebera uma visao unificada combinando jurisprudencia do Valter, legislacao da Leci e doutrina do Douto.

Estes termos aparecem ao longo de toda a documentacao:

TermoDefinicao
ChunkUm fragmento semanticamente coerente de um livro juridico (200-1.000 tokens), produzido pelo rechunk_v3.py, com metadados em frontmatter YAML
Instituto juridicoUm conceito ou instituto do direito — ex.: exceptio non adimpleti contractus, boa-fe objetiva. A unidade fundamental de classificacao.
EnriquecimentoO processo de classificar chunks com metadados estruturados usando um LLM (atualmente MiniMax M2.5)
EmbeddingUm vetor de 768 dimensoes representando o conteudo semantico de um chunk, gerado pelo Legal-BERTimbau
MOCMap of Content — arquivo indice que lista todos os livros de um ramo do direito
Skill graphA estrutura hierarquica de conhecimento: INDEX → MOCs → Chunks → Notas Atomicas
Busca hibridaCombinacao de busca semantica (similaridade cosseno) e BM25 (busca por palavras-chave) com pontuacao ponderada

Para definicoes completas, veja o Glossario.

Limites claros definidos no AGENTS.md:

  • Nao gerencia casos — isso e do Joseph (orquestrador)
  • Nao busca jurisprudencia — isso e do Valter (23.400+ decisoes do STJ)
  • Nao busca legislacao — isso e da Leci (leis federais)
  • Nao gerencia infraestrutura — isso e do Valter (backend FastAPI)
  • Nao serve interface web — isso e do Juca (frontend Next.js)