A maioria dos produtos de IA para documentos põe o modelo no caminho do arquivo: ele lê, decide e devolve um documento novo. Um modelo de linguagem é excelente para interpretar e fraco para garantir. O SazAI Corpus separa as duas coisas, e o resto deste site decorre disso.
As duas camadas
Uma entende o que você quer; a outra abre o arquivo pelas regras do formato
A camada que conversa é um modelo de linguagem: ela entende o pedido, escolhe a operação e explica o resultado. A camada que mexe no arquivo é um motor determinístico: ele abre o documento pelas regras do formato, altera os elementos autorizados, registra quais e o grava de volta. Ele não interpreta intenção.
Por isso um pedido mal entendido continua sendo um erro de conversa: se o modelo entender mal o seu pedido, a operação errada aparece no recibo, nomeada e versionada, e a estrutura do arquivo não volta estragada em silêncio.
O documento sai de uma especificação
O que executa é uma operação sobre uma estrutura conhecida
Na entrada, o documento é lido inteiro e decomposto nos seus elementos: textos, formas, tabelas, células, páginas, relações, propriedades. Esse mapa fica registrado. Uma mudança é uma especificação executada sobre ele: os elementos autorizados mudam, o resto fica, e o resultado é conferido contra a estrutura de origem. Mais em seus documentos.
Onde o texto do modelo entra
Na tradução a fronteira é conferida, e uma diferença reprova a etapa
Onde o texto do próprio modelo entra no arquivo, como na tradução, a fronteira é conferida, não presumida. Cada trecho sai entre marcadores, e os marcadores que voltam são contados contra os que saíram. Se o modelo perdeu um, inventou um, ou escreveu algo que parece um, a etapa falha.
Um modelo que perde ou inventa um trecho produz uma operação que não completou, e não um documento estragado em silêncio. A contagem confere que cada trecho voltou, não o que ele diz: se a tradução está certa, quem lê ainda é uma pessoa. Até onde isso vale em cada formato está em traduzir.
O modelo de linguagem é uma escolha, não uma dependência
A camada determinística fica quando o modelo muda
O modelo que conversa e o modelo que traduz são escolhidos separadamente e trocados por configuração; um cliente com instalação própria aponta para o modelo que contratou. A camada determinística não se mexe quando o modelo muda, e a soberania se apoia nela.
O que essa divisão habilita: os canais em interfaces, e as operações em capacidades.