Estruturando dados antes de criar um agente de IA
Agente bom com dado bagunçado continua errando, só que com mais confiança. O checklist que aplicamos antes de escrever a primeira linha de um agente.
O problema
O projeto começa empolgante e termina com uma frase parecida: “ele às vezes acerta”. Na maioria das vezes o modelo não é o problema. O problema é que a informação que ele precisa está espalhada em quatro lugares, com nomes diferentes, sem histórico e sem ninguém que responda qual versão é a verdadeira.
IA não organiza dado bagunçado. Ela reproduz a bagunça com fluência, e fluência é justamente o que faz o erro passar despercebido.
O que segue é o diagnóstico que rodamos antes de propor qualquer agente. Se a maioria das respostas for negativa, o projeto certo naquele momento não é o agente.
1. Existe uma fonte única para cada informação?
Se o prazo de entrega aparece no ERP, numa planilha do comercial e num campo livre do CRM, o agente vai encontrar os três e responder com um deles. Não há prompt que resolva contradição na origem.
2. Os campos têm nome estável e significado único?
Colunas como Status, Status2, Status_novo e OBS são comuns e custam caro. OBS costuma ser o pior: guarda prazo, motivo de cancelamento, telefone e recado, tudo em texto livre.
- Um campo, um significado
- Lista fechada onde a resposta é fechada, não texto livre
- O que hoje está enterrado em observação e é consultado com frequência vira campo
3. A granularidade é a da pergunta?
Se a pergunta é *“quanto tempo cada etapa demorou”* mas a base guarda só a data final, nenhum agente responde. Isso não é limitação de modelo: a informação nunca foi gravada.
4. Existe histórico?
Base que é sobrescrita a cada atualização responde “como está”, nunca “como chegou aqui”. Como boa parte das perguntas interessantes é sobre tendência, vale conferir cedo se o histórico existe.
5. Quem pode ver o quê?
Um agente herda o alcance da fonte que você conectar. Se a base tem salário, custo por cliente ou dado pessoal, a permissão precisa estar resolvida na origem. Filtrar no prompt não é controle de acesso.
6. O texto quebra em pedaços com sentido?
Em busca sobre documentos, o conteúdo é dividido em trechos. Trecho que perde o contexto vira resposta errada.
❌ Planilha exportada como texto corrido
"Item 42 | 1.200 | OK | 12/03 | ver obs"
→ o trecho não diz de que é a linha, nem de qual cliente
✅ Registro descrito por extenso
"Pedido 42, cliente Acme, valor R$ 1.200,00, status aprovado,
entrega prevista para 12/03/2026."
→ o trecho responde sozinhoVale a pena gerar essa forma legível a partir da base estruturada, e indexar isso, em vez de despejar o dump da tabela.
O que fazer quando o diagnóstico dá negativo
Raramente a resposta é “esqueça a IA”. Costuma ser uma ordem diferente da que o cliente esperava:
- Escolher a fonte que manda em cada campo
- Fechar as listas e tirar o que é consultado de dentro do campo de observação
- Passar a gravar as datas de cada etapa, e não só a final
- Resolver permissão na origem
- Só então conectar o agente, e agora com um alvo verificável
Os quatro primeiros passos costumam entregar valor sozinhos: quando eles ficam prontos, boa parte das perguntas que motivaram o agente já é respondida por um painel simples. A IA continua valendo a pena, só que agora ela entra sobre um processo que se sustenta, e dá para saber quando ela erra.
Tecnologias e temas
Materiais
- TemplateChecklist de prontidão de dados (planilha)As 6 perguntas deste conteúdo em formato de diagnósticoem breve
- RepositórioExemplo de normalização antes da indexaçãoem breve
Conteúdos relacionados
Power Apps × Power Automate × Copilot Studio: qual usar em cada caso
As três ferramentas resolvem problemas diferentes e são vendidas como se fossem intercambiáveis. Um critério de decisão em uma pergunta, e o que acontece quando você escolhe errado.
Claude Code Hooks: automações que não dependem de prompt
Pedir no prompt é sugestão; hook é regra. Como usar os eventos do Claude Code para garantir formatação, bloquear comandos perigosos e rodar teste sem depender de o modelo lembrar.