Voltar as noticias
Construindo um Esquema com um Agente de IA Sem Nomear Uma Única Coluna
Agentic SEOAltaEN

Construindo um Esquema com um Agente de IA Sem Nomear Uma Única Coluna

Dev.to - MCP·9 de setembro de 2026

Peça a um agente de IA um esquema de fórum de discussão e você receberá um em cerca de quatro segundos. Aqui está a parte que ninguém menciona: você também receberá is_deleted nesta tabela e del_yn na próxima, porque o modelo está fazendo correspondência de padrões com todos os esquemas no GitHub, e esses esquemas discordam entre si e de você.

A solução não é um prompt melhor. É dar ao agente a mesma coisa que você daria a um novo contratado — a lista de palavras que sua equipe realmente usa — e tornar impossível ignorá-la.

Eu fiz isso com um fórum de discussão em threads. Eu nunca digitei um nome de coluna. Todo o processo se encaixa em três minutos e meio:

A configuração, em uma chamada

O agente começa vinculando um novo projeto ao nosso padrão de equipe:

create_erd {
  name: "Fórum de Discussão em Threads",
  workspaceId: "…",
  target: { server: true }
}

get_erd_overview
// → { glossaryLinked: true, dictionaryEntryCount: 28, domainCount: 15 }

Vinte e oito palavras e quinze domínios chegam com o projeto. Esse é todo o truque. A partir daqui, o agente não está escolhendo nomes — está resolvendo eles.

Descrevendo o trabalho

Então eu conversei com ele da maneira que falaria com um colega: membros postam artigos, um post pode responder a outro post, membros comentam em posts.

O agente chamou as ferramentas com nomes lógicos — termos de negócios, não nomes de colunas:

upsert_entity    { logicalName: "Postagem" }              // → POST
upsert_attribute { logicalName: "Conteúdo da Postagem",
                   domain: "Conteúdo" }                // → POST_CNTS
upsert_attribute { logicalName: "Flag de Exclusão",
                   domain: "Flag" }                   // → DELETE_YN

ConteúdoCNTS e FlagYN não são do gosto do modelo. Eles são as abreviações da nossa lista de palavras, aplicadas exatamente como foram aplicadas em todas as tabelas que construímos antes. O domínio carrega o tipo, então Conteúdo é varchar(1000) em todos os lugares — ninguém decide larguras de coluna por tabela mais.

Note o que não aconteceu: eu não revisei um nome e o corrigi. Não havia nada a corrigir.

A parte que a maioria das ferramentas erra

Então o fórum precisava de threading — uma postagem que responde a outra postagem. Uma chave estrangeira autorreferente.

É aqui que as ferramentas de diagrama caem silenciosamente. A coluna filha não pode reutilizar o nome do pai (POST_NO referenciando POST_NO na mesma tabela), então algo tem que dar a ela um papel. A maioria das ferramentas ou se recusa, ou permite que você digite o que quiser, que é como você acaba com parent_id em uma tabela e prnt_post_no em outra.

Aqui o prefixo de papel é ele mesmo uma regra de nomenclatura, resolvida através da mesma lista de palavras que tudo o mais:

`PARENT_POST_NO` varchar(20) COMMENT 'Número do Post Pai'

Registre PaiPRNT na lista de palavras e ele se torna PRNT_POST_NO em vez disso — em toda a equipe, em cada relacionamento autorreferente que alguém já desenhou. O prefixo é uma decisão tomada uma vez, pelo proprietário do padrão, não por tabela por quem quer que esteja digitando.

O que acontece quando uma palavra está faltando

A modelagem real atinge palavras que ninguém registrou. A nossa não tinha "Excluir", que é o motivo pelo qual DELETE_YN saiu sem abreviação. O lint disse isso:

lint_erd
// → { code: "unknown-word", severity: "warning", objectName: "Flag de Exclusão" }

A movimentação do agente aqui é a parte interessante. Ele não inventa DEL. Ele apresenta uma proposta:

propose_dictionary_word {
  logicalWord: "Excluir", physicalWord: "DELETE", abbreviation: "DEL",
  note: "Encontrado enquanto modelava o fórum de discussão"
}
// → { status: "pending" }

Um humano aprova e a abreviação se propaga para todos os projetos conectados. O agente é um proponente, não uma autoridade. Essa distinção é toda a diferença entre um assistente e uma responsabilidade — e é a coisa que um chatbot sem estado compartilhado não pode fazer, não importa quão bom o modelo se torne.

Verificando o trabalho que já existe

A mesma computação roda para trás. Dê a ele um nome que alguém já escreveu e ele te diz o que o padrão teria produzido:

Contexto Triplo Up

O uso de agentes de IA para modelagem de dados pode otimizar processos em empresas brasileiras, garantindo que a terminologia interna seja respeitada. Isso reduz erros e melhora a comunicação entre equipes, essencial para a era digital.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.