AgroZap AgroZap
Abrir AgroZap
WhatsApp + IA para pecuária de corte

A sua fazenda responde por WhatsApp

Mande áudio, foto da nota ou texto no WhatsApp e o AgroZap registra tudo. Um agente de IA por fazenda responde em linguagem natural — com números exatos vindos do banco, nunca de chute do modelo.

0
formas de registrar (áudio · foto/NF · texto)
SQL
números só vêm do banco
jul–jun
safra pecuária
Multi
multi-fazenda com isolamento
O problema

O dado da fazenda nasce longe do teclado

A pecuária de corte gera informação o dia inteiro — no curral, no cocho, na porteira. Só que quem gera essa informação está com as mãos ocupadas, e o sistema que a esperaria está numa mesa a trinta quilômetros dali.

O caderno do curral não vira número

Nascimento anotado no verso da nota, morte lembrada de cabeça, venda combinada por telefone. Quando chega a hora de fechar o rebanho, ninguém sabe dizer quantas cabeças existem — sabe estimar.

“Acho que estamos com mil e duzentas. Ou mil e trezentas.”

Quem está no pasto não digita

Pedir para o vaqueiro abrir um formulário de dezoito campos é pedir para o registro não acontecer. O que ele faz sem esforço é apertar o botão do microfone e falar.

“Nasceram três bezerros no pasto Sede hoje.”

A nota fiscal chega como foto

A compra de sal mineral vira uma imagem no grupo do WhatsApp e morre ali. O custo existiu, saiu do caixa, e nunca entrou no custo por arroba.

Foto da NF · 08:15 · nunca lançada

Planilha não conhece safra pecuária

O ano da pecuária vai de julho a junho, e a planilha fecha em dezembro. Toda taxa de natalidade, desfrute e mortalidade calculada por ano civil corta a estação de monta ao meio.

Jan–dez divide a safra; jul–jun a respeita.

IA que responde “por alto” é pior que planilha nenhuma

Um modelo de linguagem que estima o rebanho produz um número redondo, confiante e errado. E como parece certo, ninguém confere — até a hora de vender.

Errar com convicção é o pior modo de errar.

Interpretação errada sem conserto

Se a IA entendeu “vinte” onde era “doze”, alguém precisa poder ver o que ela entendeu, desfazer e corrigir. Sem isso, o erro fica no saldo para sempre.

Auditar a IA importa tanto quanto usá-la.
Recursos

Inteligência de rebanho, sem planilha

Da mensagem no WhatsApp ao número confiável. O AgroZap entende como o produtor fala e responde com dados auditáveis.

Ingestão multimodal

Áudio com STT, foto da nota fiscal com OCR + Vision e texto livre com NLP. Tudo vira dado estruturado.

Guardrail numérico

Toda métrica vem de SQL determinístico. O LLM traduz a pergunta e a resposta — nunca calcula nem inventa contas.

Dados híbridos

Números no Postgres estruturado e o contexto narrativo em pgvector, para um RAG que entende o histórico da fazenda.

Agente por fazenda

Uma IA dedicada com memória do rebanho, que roteia entre SQL e RAG para responder com precisão e contexto.

WhatsApp nativo

Consultas, confirmações de movimentação e alertas direto no WhatsApp, integrado pela Evolution API.

Multi-tenant por fazenda

Todo modelo carrega a fazenda, e toda ferramenta do agente filtra por ela. As políticas de Row-Level Security no banco ficam como defesa em profundidade.

Recursos em profundidade

O que cada peça faz de verdade

Seis mecanismos, e o motivo de cada um existir. Nenhum deles é enfeite: todos nasceram de um jeito específico de a informação se perder na pecuária.

Entrada

Ingestão multimodal

Quatro formatos de mensagem entram pelo mesmo cano e saem como evento estruturado.

  • Texto. A fala do produtor é convertida em evento por um parser que conhece gíria de curral: “vaca parida”, “bicho morreu”, “comprei sal”.
  • Áudio. Transcrito antes de ser interpretado. Há caminho para modelo dedicado de transcrição e um caminho de reserva pelo próprio modelo multimodal.
  • Foto de nota fiscal. A visão computacional extrai fornecedor, itens, quantidades e valores; cada item da nota vira um evento de compra, com o número do documento preservado.
  • Documento e PDF. Mesmo caminho da foto, para boleto e laudo.
  • Rede de segurança determinística. Sem chave de IA, ou em qualquer erro do modelo, o parser cai para regras e expressões regulares — inclusive números por extenso (“três”, “vinte”) e valores em reais.
Guardrail

O número nunca sai do modelo

A regra está escrita no prompt do sistema e sustentada por ferramentas — não é promessa de marketing.

  • Oito ferramentas de consulta ligadas ao banco: rebanho, indicadores, eventos, financeiro, lotes, animais, estoque e histórico narrativo.
  • Todas filtram pela fazenda antes de responder. O agente não tem como enxergar o rebanho do vizinho.
  • O modelo executa um laço de chamada de ferramentas, com teto de rodadas para não girar em falso, e só então redige a resposta.
  • A regra de ouro no prompt: “se não chamou a ferramenta, não tem o número”. Nada de estimar, arredondar ou lembrar de cabeça.
  • Pergunta ambígua vira pergunta de volta, não chute.
Ontologia

O vocabulário da pecuária, modelado

Sem um dicionário do domínio, “garrote” e “novilho” viram texto solto e a conta não fecha.

  • Treze tipos de evento — de nascimento e mortalidade a IATF, diagnóstico de gestação e desmama.
  • Categorias de rebanho que se transformam entre si: a desmama reclassifica bezerro em garrote sem mexer no total.
  • Apelidos de lote. Cada pasto guarda uma lista de nomes coloquiais, para o parser casar “o retiro de cima” com o lote certo.
  • Safra jul–jun como calendário nativo de todo indicador, não como filtro que alguém lembra de aplicar.
  • Arroba (@) é unidade de primeira classe no financeiro, ao lado do real.
Integridade

Saldo derivado, nunca digitado

O rebanho não é um campo que alguém edita. É o resultado da soma dos eventos.

  • O evento é a fonte da verdade; o saldo por lote e categoria é derivado e pode ser recalculado a qualquer momento.
  • Isso é o que torna o erro reversível: desfazer um evento reconstrói o saldo, o estoque e o financeiro.
  • Movimentação entre lotes transfere sem alterar o total; pesagem e vacinação não mexem no saldo.
  • Saldo negativo é tratado como inconsistência detectável, não como número válido.
  • Cada evento guarda a mensagem original e um score de confiança da extração.
Auditoria

A caixa-preta da ingestão

A tela mais incomum do produto: a que mostra a IA errando.

  • Cada mensagem recebida aparece lado a lado: o que chegou × a transcrição × o que foi entendido × a confiança × o que foi respondido.
  • Descartar desfaz os eventos, reverte o estoque, apaga as transações e recalcula o saldo a partir do que sobrou.
  • Reinterpretar desfaz e reprocessa o texto corrigido pelo operador.
  • Um simulador injeta texto, foto, documento ou áudio no mesmo pipeline real, sem depender do WhatsApp — é assim que se testa antes de soltar para o time.
  • Contadores de mensagens, interpretadas, perguntas de volta e erros no topo da tela.
Painel

Onze telas para quem senta na cadeira

O WhatsApp é a porta de entrada; o painel é onde a fazenda é lida.

  • Dashboard com rebanho, natalidade, mortalidade e desfrute, evolução mensal e o caixa da safra.
  • Rebanho por categoria e por lote; lista de animais com filtros.
  • Ficha do animal: curva de peso, ganho médio diário, genealogia e linha do tempo de pesagens, vacinas e manejos.
  • Indicadores de reprodução e sanidade, com funil reprodutivo e mortalidade por categoria.
  • Financeiro com receita, despesa, resultado, margem, preço médio da arroba e custo por arroba.
  • Estoque de insumos com alerta de mínimo, relatórios, chat com o agente e administração de usuários.
Como funciona

Do áudio ao número, em segundos

Quatro passos entre falar com a fazenda e receber a resposta certa.

1

Registre no WhatsApp

Mande um áudio, a foto da nota ou um texto simples — como você já fala no dia a dia.

2

Ingestão multimodal

STT, OCR/Vision e NLP interpretam e normalizam tudo pela ontologia pecuária.

3

Dados híbridos

O número entra no Postgres e o contexto narrativo vai para o pgvector.

4

Pergunte em linguagem natural

O agente responde com números exatos vindos de SQL, sempre auditáveis.

Como funciona por dentro

A arquitetura, sem cortina

Oito peças. Nenhum framework de agente, nenhuma fila externa, nenhuma biblioteca de interface pronta — o que existe foi escrito para este domínio.

Aplicação

Next.js 14 · App Router

Painel e API no mesmo projeto, em TypeScript, servido sob o caminho /agrozap. Interface com Tailwind e gráficos em Recharts.

Fila

Tabela de jobs no Postgres

Sem Redis e sem serviço de fila. Um processo trabalhador separado consome os jobs de ingestão, transcrição, visão, indexação e recálculo, com retentativa.

Dados

Postgres 16 com pgvector

Dezessete modelos de domínio e quinze enumerações, todos carimbados com a fazenda e ligados ao evento que os originou.

Modelos de IA

Família Gemini 2.5

Um modelo de raciocínio para o agente de consulta e um modelo rápido para o parser de linguagem, a leitura de documentos e a transcrição de áudio.

Ferramentas

Chamada de função sobre SQL

Oito funções tipadas, todas escopadas por fazenda. O modelo escolhe qual chamar; o banco produz o número; o modelo só redige.

Mensageria

Evolution API

Um webhook autenticado por segredo recebe as mensagens, e o envio de resposta e alerta sai pela mesma instância.

Busca semântica

pgvector · 1536 dimensões

Índice aproximado HNSW com distância de cosseno e uma função de banco para trazer os trechos mais próximos da pergunta.

Acesso

Sessão própria

Senha derivada por scrypt, sessão em cookie restrito ao caminho do app e dois papéis no painel.

Todo evento gravado e toda decisão do agente deixam linha em trilha de auditoria — inclusive qual ferramenta foi chamada para responder cada pergunta.

Ontologia pecuária

Treze tipos de evento

É esta lista que separa um registrador genérico de um sistema que entende pecuária. Cada tipo sabe o que fazer com o saldo, o estoque e o caixa.

A compra pode ser de gado ou de insumo: a de gado soma cabeças ao saldo, a de insumo entra no estoque. Em ambas, o valor vira lançamento no financeiro.
Evento Como a pessoa fala O que muda no sistema
Nascimento“Nasceram três bezerros no pasto Sede”Soma cabeças na categoria e no lote; entra na taxa de natalidade da safra
Mortalidade“Morreu uma vaca no Retiro”Subtrai do saldo; alimenta a taxa de mortalidade e o alerta de perda
Compra“Comprei dezoito garrotes a R$ 2.300”Soma ao saldo (gado) ou ao estoque (insumo) e lança a despesa
Venda“Vendi doze bois por R$ 95 mil”Subtrai do saldo, lança a receita e alimenta o desfrute
Movimentação“Passei quarenta do Sede para o Retiro”Transfere entre lotes sem alterar o total do rebanho
Pesagem“Pesei o lote, média trezentos e oitenta”Alimenta a curva de peso e o ganho médio diário; não mexe no saldo
Vacinação“Vacinei contra aftosa”Baixa doses do estoque e entra no bloco de sanidade
Fornecimento de sal mineral“Coloquei vinte sacos no cocho”Saída de estoque de sal mineral
Manejo“Fiz o manejo do lote de recria”Registro operacional na linha do tempo do lote
Apartação“Apartei os machos”Reorganiza categoria e lote sem alterar o total
Inseminação (IATF)“IATF em sessenta matrizes”Abre o funil reprodutivo da safra
Diagnóstico de gestação“O DG deu quarenta e oito prenhas”Fecha a taxa de prenhez sobre as matrizes expostas
Desmama“Desmamei trinta e cinco bezerros”Reclassifica bezerro em garrote — sem alterar o total do rebanho
Para quem é

Seis papéis, uma fazenda

O vínculo de cada pessoa com a fazenda é explícito no sistema, e é ele que define o que ela registra, o que ela consulta e quais alertas recebe.

Proprietário

Quer o número, não o caminho

Pergunta “quantas cabeças temos hoje?” no WhatsApp e recebe a resposta exata. Recebe os alertas de mortalidade acima do limiar e de estoque no mínimo.

Gerente

Fecha a safra

Vive no painel: natalidade, desfrute, funil reprodutivo, custo por arroba. Usa a tela de logs para conferir se a semana entrou certa.

Capataz

Registra o que acontece no dia

Manda áudio do curral. Nascimento, morte, movimentação entre pastos e pesagem entram sem abrir aplicativo nenhum.

Vaqueiro

Fala, não digita

É o papel para quem o áudio foi desenhado. Se faltar um campo essencial, o sistema pergunta de volta em vez de gravar errado.

Administrativo

Fotografa a nota e segue

A imagem da nota fiscal vira lançamento com fornecedor, itens, quantidades, valor e número do documento — e o insumo entra no estoque.

Consultor

Lê a fazenda de fora

Zootecnista ou veterinário que precisa da série histórica: eventos por tipo, indicadores por safra e a ficha individual do animal.

O que você recebe

As entregas concretas

Não é “insight”. É indicador calculado sobre evento registrado, com a safra certa e a unidade certa.

Integrações e dados

Por onde o dado entra e sai

Poucas integrações, todas necessárias. O que não é essencial fica desligado por padrão e o sistema continua funcionando sem ele.

As integrações opcionais degradam com elegância: sem chave de transcrição dedicada o áudio segue pelo caminho de reserva; sem chave de embeddings a busca semântica fica indisponível e as sete ferramentas de SQL continuam respondendo.
Integração Para quê Situação
Evolution APIReceber e responder mensagens de WhatsApp; baixar mídia; enviar alertasEssencial para o canal WhatsApp
GeminiAgente de consulta, parser de linguagem, leitura de nota fiscal e transcrição de reservaEssencial para a interpretação
Transcrição dedicadaÁudio longo ou com ruído de curral, com modelo especializado em portuguêsOpcional — há caminho de reserva
EmbeddingsBusca semântica sobre o histórico narrativo da fazendaOpcional — desligado sem a chave
Importador de planilhaCarga de eventos a partir de arquivo com colunas fixasExiste como tarefa de bastidor, sem tela
Postgres com pgvectorTodo o dado estruturado e os vetores da busca semânticaEssencial
Segurança e privacidade

O que está protegido, e como

Só o que é verificável no código. Onde a proteção ainda é parcial, está dito na seção seguinte.

Canal

Webhook autenticado

Toda mensagem que chega precisa apresentar o segredo combinado; sem ele, a requisição é recusada antes de tocar o banco.

Remetente

Lista fechada de números

Só quem está cadastrado como usuário com vínculo à fazenda é processado. Todo o resto é ignorado em silêncio — o número do WhatsApp é compartilhado com outros serviços.

Login

Senha derivada e sessão em cookie

A senha é guardada como derivação scrypt com sal, nunca em claro. A sessão vive num cookie restrito ao caminho do aplicativo.

Isolamento

Fazenda em todo modelo

O identificador da fazenda está em todas as tabelas de domínio e em todas as ferramentas do agente. Políticas de Row-Level Security existem no banco como camada extra.

Rastro

Trilha de auditoria

Ingestão de evento, consulta ao agente, chamada de ferramenta, recálculo de saldo e execução de alerta deixam registro datado.

Reversibilidade

Nada é destrutivo

Descartar uma ingestão não apaga o histórico: marca a mensagem como descartada, reverte os efeitos e recalcula o saldo a partir dos eventos restantes.

Limites

O que ele ainda não faz

Esta seção é parte do produto. Um sistema que promete o que não entrega custa mais caro do que um que diz onde termina.

Já funciona

  • Ingestão de texto, áudio, foto e documento pelo WhatsApp e pelo simulador
  • Treze tipos de evento com efeito correto em saldo, estoque e financeiro
  • Agente de consulta com ferramentas de SQL e teto de rodadas
  • Desfazer e reinterpretar uma ingestão, com recálculo do saldo
  • Alertas de estoque mínimo e de mortalidade acima do limiar
  • Painel completo de safra, rebanho, reprodução, financeiro e estoque

Ainda não

  • Busca semântica desligada no ambiente atual. Ela depende de uma chave de embeddings que não está configurada; as sete ferramentas de SQL respondem normalmente.
  • Não é “converse com os seus PDFs”. A base semântica guarda uma frase por evento, não trechos de documento. Foto e PDF viram evento estruturado, não biblioteca de conhecimento.
  • A ingestão não conversa em duas voltas. Se o sistema pergunta “quantas cabeças?”, a resposta chega como mensagem nova e independente — ainda não é ligada ao evento pendente.
  • A mortalidade não exige identificação individual. “Morreu uma vaca no retiro” é aceito sem perguntar qual. É uma lacuna conhecida e já desenhada.
  • O painel abre sempre a primeira fazenda ativa. O isolamento está no schema e nas consultas; falta o seletor de fazenda na interface.
  • O histórico do chat não é guardado. A conversa com o agente vive na tela e some ao recarregar. O registro persistente é o da ingestão.
  • Sem carga histórica pela interface. O importador de planilha existe como tarefa de bastidor, com colunas fixas, e não tem tela de upload.
  • Só pecuária de corte. Não há leite, não há lavoura, não há outras espécies. Comparação entre fazendas e ajuste fino de modelo estão fora do escopo.

A base de testes automatizados cobre os indicadores, a derivação do saldo a partir dos eventos, o calendário de safra, a resolução de período e o parser de linguagem — inclusive o caso “não inventa evento quando não entende”.

Perguntas frequentes

O que perguntam antes de começar

Precisa instalar aplicativo na fazenda?

Não. Quem está no campo usa o WhatsApp que já tem no telefone. Quem senta na cadeira usa o painel no navegador. Não existe aplicativo para instalar, atualizar ou treinar ninguém a abrir.

E se a IA entender a mensagem errado?

É por isso que existe a tela de logs. Ela mostra a mensagem que chegou, a transcrição, o que foi entendido, o score de confiança da extração e a resposta que foi enviada de volta.

De lá você descarta a interpretação — o que desfaz os eventos, reverte o estoque, apaga os lançamentos e recalcula o saldo do rebanho — ou reinterpreta com o texto corrigido. Como o saldo é derivado dos eventos, ele sempre se reconstrói.

De onde vêm os números das respostas?

De consultas ao banco, sempre. O modelo de linguagem tem oito ferramentas à disposição e a instrução explícita de que, se não chamou a ferramenta, não tem o número.

Ele traduz a pergunta em uma chamada, recebe o resultado e redige a resposta em português. O cálculo é do banco; a redação é do modelo.

Por que a safra vai de julho a junho?

Porque é o ciclo da pecuária de corte. Fechar em dezembro parte a estação de monta ao meio e distorce natalidade, desmama e desfrute. Aqui a safra é o calendário padrão de todo indicador, não um filtro que alguém precisa lembrar de aplicar.

Preciso identificar cada animal individualmente?

Não. O saldo do rebanho é mantido por lote e por categoria, que é como a fazenda opera. O cadastro individual — numeração, SISBOV, pesagens, genealogia — é opcional e serve a quem quer a ficha e a curva de peso de cada animal.

Qualquer pessoa pode mandar mensagem para o número?

Pode mandar, mas nada acontece. Só mensagens de números cadastrados como usuários com vínculo a uma fazenda entram no pipeline; o resto é descartado sem resposta. O número é compartilhado com outros serviços, e esse filtro é o que impede cruzamento.

Dá para importar o histórico que já tenho em planilha?

Parcialmente. Existe um importador que lê um arquivo com colunas fixas de tipo, data, lote, categoria, quantidade e valor, mas ele roda como tarefa de bastidor e ainda não tem tela de upload. Carga histórica em massa está declarada fora do escopo desta versão.

Serve para gado de leite ou para lavoura?

Não. A ontologia inteira — categorias, tipos de evento, indicadores, arroba, safra — foi desenhada para pecuária de corte. Outras espécies e outras culturas exigiriam outro vocabulário, e forçar o atual produziria número sem significado.

O que acontece se o modelo de IA ficar fora do ar?

A interpretação de texto cai para um caminho determinístico, escrito com regras e expressões regulares, que reconhece os tipos de evento mais comuns, números por extenso e valores em reais. É menos flexível, mas não inventa: quando não entende, devolve pergunta.

O painel e todos os indicadores continuam funcionando normalmente — eles não dependem de IA.

Glossário

O vocabulário desta página

Termos de pecuária e de tecnologia que aparecem acima, explicados uma vez.

Arroba (@)
Quinze quilos de carcaça. É a unidade em que o boi é negociado, e por isso o financeiro guarda o valor em real e em arroba lado a lado.
GMD
Ganho médio diário: quantos quilos o animal ganhou por dia entre duas pesagens. É o indicador que diz se a engorda está no ritmo.
Desfrute
Proporção do rebanho que saiu para venda ou abate no período. Mede quanto a fazenda converte em receita sem consumir o próprio estoque.
Matriz exposta
Fêmea em condição de reprodução no período. É o denominador honesto da taxa de prenhez e da taxa de natalidade.
IATF
Inseminação artificial em tempo fixo: protocolo que sincroniza o cio do lote para inseminar todas as matrizes na mesma janela.
Desmama
Separação do bezerro da mãe. No sistema, reclassifica a categoria sem alterar o total do rebanho — é troca de rótulo, não entrada nem saída.
Safra pecuária
O ano da pecuária de corte, de julho a junho. Aqui é o recorte padrão de todo indicador.
Ontologia
O dicionário formal do domínio: quais eventos existem, quais categorias existem e como um se transforma no outro. É o que permite ao sistema entender “garrote” como categoria, não como palavra.
Event sourcing
Guardar os fatos, não o resultado. O saldo do rebanho não é digitado: é somado a partir dos eventos, e por isso pode ser recalculado quando um deles é corrigido.
Chamada de função
Mecanismo pelo qual o modelo de linguagem, em vez de responder de cabeça, declara qual consulta quer executar e espera o resultado do sistema.
Embedding
Representação numérica de um texto, que permite comparar significado por proximidade em vez de por palavra exata.
pgvector
Extensão do Postgres que guarda esses vetores e faz a busca por proximidade dentro do próprio banco, sem serviço separado.
STT
Conversão de fala em texto. É o passo que transforma o áudio do curral em uma frase que o parser consegue interpretar.
OCR
Leitura de texto em imagem. Aqui, aplicada à foto da nota fiscal para extrair fornecedor, itens e valores.

Sua fazenda inteira, na palma da mão

Comece a registrar e consultar o seu rebanho por WhatsApp hoje mesmo. Sem planilha, sem digitar relatório.

Abrir AgroZap