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.

o seu pedidonas suas palavras, do jeito que você fala
uma operação escolhidanomeada, registrada, com recibo
o arquivo escritopelo motor, nunca pelo modelo
O modelo escolhe a operação; é o motor que abre e escreve o arquivo.

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.

633Entrou com 633, saiu com 633Num teste de tradução de 45 slides: 633 elementos na entrada, 633 na saída; 971 formas na entrada, 971 na saída. O motor tocou os 11 slides que tinham texto, e nenhum outro.
Uma contagem é o jeito honesto de dizer isto; um adjetivo, não.

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.