O nosso trabalho: o que construímos

A Mesterséges Intelligencia Központ Kft. é uma empresa de desenvolvimento de software de Budapeste. Construímos um ERP com faturação e CRM, um pseudonimizador de documentos jurídicos, um sincronizador de dados, um gestor de frotas de portáteis escolares e um jogo 3D com comentador de IA ao vivo.

Todos os sistemas aqui descritos existem e funcionam; quando ainda estamos a colocar um em funcionamento, indicamo-lo. Não divulgamos os nomes dos nossos clientes nem dos produtos. Se precisar de um sistema que não consta desta página, no fim enumeramos também o que mais construímos.

Sistema ERP com faturação e CRM

Desafio. O trabalho diário de uma PME húngara está tipicamente disperso por várias ferramentas: folhas de cálculo, e-mail, um programa de faturação à parte e a interface do banco. O objetivo era um sistema único, assente nos processos da própria empresa, que várias organizações pudessem utilizar sem verem os dados umas das outras.

Solução. Estamos a desenvolver um sistema de planeamento de recursos empresariais (ERP) modular, que serve várias organizações clientes:

A faturação emite, através do programa de faturação, as faturas comunicadas à NAV, a autoridade tributária húngara, com pré-visualização em PDF e anulação. A conciliação bancária associa cada pagamento à respetiva fatura com base no descritivo da transferência, no número da fatura ou no número de conta do pagador, e regista o pagamento na fatura; as faturas recebidas da NAV entram num lote de transferências após aprovação.

No módulo CRM, os parceiros podem ser organizados em cadeias, as pessoas de contacto têm papéis de decisão, os processos de venda avançam em quadros kanban, as mudanças de fase podem ser rastreadas, as tarefas têm lembretes, a inteligência artificial resume a cronologia do parceiro, e o e-mail e o calendário são sincronizados com a ficha do parceiro.

Com um único início de sessão, todos os módulos ficam acessíveis: a autenticação central funciona com palavra-passe ou com uma conta Google, Microsoft, Apple ou GitHub, com autenticação de dois fatores, organizações, convites e permissões.

Resultado. O sistema está em produção em duas organizações; a faturação está em produção e o módulo CRM está a ser implementado. Aproveitamos esta experiência no desenvolvimento de software empresarial.

Anonimizador de documentos jurídicos

Desafio. Um contrato, uma peça processual ou uma sentença precisam muitas vezes de ser partilhados ou tratados com inteligência artificial, mas nenhum dado pessoal pode sair. Ocultar os dados à mão é lento e é fácil errar: um nome aparece também flexionado, como iniciais ou como assinatura.

Solução. Uma aplicação Windows que corre inteiramente no próprio computador e pseudonimiza documentos jurídicos húngaros (PDF e Word):

Resultado. Uma segunda biblioteca de software volta a verificar o ficheiro final e, se restar um único nome original que seja, o programa não guarda. A aplicação pode ser instalada, e os dados não saem do computador.

Jogo 3D de navegador com comentador de IA ao vivo

Desafio. O site de uma empresa costuma dizer que a empresa percebe de inteligência artificial; nós quisemos mostrá-lo. O jogo tinha de funcionar tanto num stand de feira como no site, para visitantes profissionais que não são jogadores: sem nada para aprender, sem registo e sem botão de início. E, durante o jogo, a IA tinha de reagir verdadeiramente ao jogador, em vez de sortear frases escritas de antemão.

Solução. Construímos um jogo de corrida infinita em que o jogador é o próprio T-rex. A cena é desenhada em tempo real pelo WebGL, com three.js, no navegador; o controlo é um único botão. O jogo envia os momentos importantes (perda de uma vida, recorde, subida de nível, nova paisagem, abismo transposto) num relatório resumido ao nosso assistente de IA, um comentador baseado num grande modelo de linguagem, que, a partir dele, fala ao vivo com o jogador. O comentador só fala: não interfere no estado do jogo.

Resultado.

Levamos o mesmo saber aos nossos trabalhos de desenvolvimento de jogos e de desenvolvimento de chatbots e agentes de IA.

Linha de produção gráfica baseada em IA para o mundo do jogo

Desafio. Um jogo precisa de muitos elementos gráficos num estilo uniforme: árvores, arbustos, rochas, paisagens, obstáculos. Cada um tem de ser feito à escala real, com fundo transparente e contorno exato, porque a deteção de colisões do jogo também assenta nisso. À mão, isto é lento, e uma simples geração de imagens não garante um estilo e um tamanho uniformes.

Solução. Construímos no nosso painel de administração uma linha de produção em seis passos:

  1. Encomenda: uma breve descrição do tema.
  2. Plano: um modelo de linguagem escreve o plano do mundo (ambiente, paleta de cores, estado do tempo, os tipos de objetos e as instruções de desenho).
  3. Folhas de estilo: imagens de exemplo selecionadas fixam o estilo e a escala; o modelo que desenha recebe-as como referência.
  4. Desenho: um modelo generativo de imagem desenha os objetos, uma folha por tipo, várias folhas em paralelo; a máquina recorta cada folha objeto a objeto, verifica a transparência e o contorno completo, redimensiona para a altura prevista, ajusta as cores à paleta e cria um mapa de normais para a iluminação do jogo.
  5. Seleção: a aceitação é decidida por uma pessoa.
  6. Publicação: só a imagem publicada entra no jogo.

Um agendador produz sozinho uma encomenda guardada, dentro da janela de tempo definida e de um limite de chamadas à IA fixado previamente; mesmo assim, a seleção e a publicação continuam a ser manuais.

Resultado. As paisagens e os obstáculos do jogo foram feitos nesta linha de produção. O desenho, o ícone e a forma de colisão de um obstáculo provêm dos mesmos dados de produção: a colisão segue o contorno da imagem ao píxel. Nada entra no jogo sem aprovação humana.

Medição do tamanho em pontos de função com inteligência artificial

Desafio. Uma proposta de software vale tanto quanto a precisão da estimativa que a sustenta. A estimativa em horas depende de quem estima e da equipa, por isso duas propostas são difíceis de comparar, e o cliente não consegue ver o que, em concreto, o fornecedor está a cobrar.

Solução. Medimos o tamanho funcional do desenvolvimento em pontos de função COSMIC (ISO/IEC 19761). O método conta os movimentos de dados: entrada (Entry), saída (Exit), leitura (Read) e escrita (Write). Cada um vale um ponto de função, pelo que o tamanho é independente da tecnologia e de quem desenvolve. Para a medição, construímos um fluxo de trabalho próprio, assistido por IA:

Resultado. A proposta e o calendário são elaborados a partir do tamanho medido, e duas propostas podem ser comparadas com a mesma medida. O tamanho não é uma estimativa feita a olho, mas uma lista detalhada e rastreável: que processo, com que movimentos de dados, quantos pontos de função vale. Sobre o método de definição de preços, falamos na página Preços.

Sincronizador de dados de MS SQL para PostgreSQL na nuvem

Desafio. Os dados de uma base de dados MS SQL, a correr no servidor próprio de uma empresa, tinham de chegar a um sistema na nuvem, para uma nova aplicação e para relatórios, sem sobrecarregar o sistema de origem e sem escrever nada nele.

Solução. Um programa que corre como serviço do Windows e trabalha apenas com permissões de leitura:

Resultado. O seu funcionamento é verificado por testes automáticos e por um ambiente de teste real com MS SQL e PostgreSQL. Quando é preciso ligar vários sistemas, a automatização de processos é também um trabalho deste tipo.

Gestor de frotas de portáteis para escolas

Desafio. Cerca de uma centena de portáteis escolares com Windows em vários locais, sem domínio nem sistema de gestão de dispositivos: a instalação de software, a atualização e a manutenção das contas faziam-se máquina a máquina, à mão.

Solução. Construímos um sistema próprio de gestão de frotas:

Resultado. A frota funciona com este sistema. Também a mudança para o Windows 11 foi decidida com base em medições: segundo os resultados de testes de desempenho executados nas máquinas.

Testadores de IA para aplicações web

Desafio. Uma aplicação web tem de voltar a ser testada após cada alteração, e os testes manuais são lentos e repetitivos.

Solução. Agentes de IA percorrem as aplicações web indicadas num navegador real, complementados por verificações automáticas e de acessibilidade. Cada erro encontrado é aprovado por uma pessoa, e só então se torna um ticket; os agentes aprendem com as decisões de aprovação. As execuções podem ser agendadas e só voltam a analisar as partes que mudaram; as páginas são verificadas também na vista de telemóvel.

Resultado. Funciona como ferramenta interna, para testar os nossos próprios desenvolvimentos.

Teste de recrutamento para colaboradores que trabalham com IA

Para o nosso próprio recrutamento, construímos um teste online de meia hora que mede a forma como o candidato trabalha com a inteligência artificial. Tem quatro partes cronometradas: procura de erros numa aplicação de demonstração com falhas propositadas, uma conversa com um cliente interpretado por uma inteligência artificial, tarefas de raciocínio e uma experiência com um sistema de funcionamento desconhecido. A IA faz uma pré-avaliação das respostas e a decisão é tomada por uma pessoa; os dados dos candidatos são tratados nos termos do RGPD, com prazo de conservação, exportação e apagamento.

Desenvolvimentos próprios mais pequenos

O que mais construímos

Os exemplos seguintes não são trabalhos concluídos, mas sistemas que teríamos todo o gosto em construir: