Olá, eu sou o Guilherme Risson.

AI Engineer

Construo sistemas de IA e meço o que eles entregam depois que entram no ar.

Sou analista de dados pleno na Vitru Educação, em Maringá/PR, e mantenho projetos abertos de recuperação de informação, avaliação de LLM e do backend que serve os dois.

Procuro vagas de AI Engineer, remoto ou em Maringá/PR.

Fale comigo
Logotipo de Guilherme Risson: as letras g e r em minúsculas, seguidas de um ponto quadrado azul.
+24%
de resultado na carteira de teste, com o mesmo modelo e a mesma AUC, só trocando o corte de decisão
77%
do valor fraudado barrado revisando 0,11% do tráfego, dentro da capacidade de uma mesa de análise
0,644
de MRR na recuperação híbrida, contra 0,361 do léxico puro
<2%
de erro na previsão da base de alunos, no planejamento acadêmico da Vitru Educação

sobre

Comecei em dados olhando o que já tinha acontecido, com indicadores e dashboards. Hoje trabalho na pergunta seguinte: como construir um sistema de IA e saber se dá para confiar nele.

No trabalho, mantenho pipelines, modelos preditivos e um sistema de otimização em operação para o planejamento acadêmico da UniCesumar. Nos projetos pessoais, o foco é recuperação de informação, avaliação de LLM e o backend que serve os dois.

Em todos eles publico o resultado medido, incluindo os casos em que o método não funcionou. É o que permite a quem lê julgar o trabalho sem precisar acreditar em mim.

Hoje
Analista de dados pleno na Vitru Educação
Procurando
Vagas de AI Engineer, remoto ou em Maringá/PR
Formação
Formação AI Software Engineer 4.0 (Data Science Academy), em andamento
Base
Maringá, Paraná

competências

LLM em produção

Aplicar o modelo e medir o que ele entrega.

  • Recuperação híbrida com BM25 e E5 multilíngue, fundidos por RRF. O MRR subiu de 0,361 para 0,644 e o recall@1 de 0,133 para 0,533.
  • Auditoria de vigência por citação. Num corpus com 44,6% de normas revogadas, 80% das perguntas recebiam contexto sem validade, e nenhuma métrica de similaridade mostrava isso.
  • Saída estruturada com citação obrigatória por afirmação, em campo separado, para conferir a resposta por programa em vez de leitura.
  • Tokens, latência e custo medidos por pergunta, com limitador de taxa próprio e backoff exponencial. Erro do provedor não vira número no relatório.

Negócio e decisão

O que muda na decisão, e não só o que sobe na métrica.

  • Trocar o corte de 0,50 pelo break-even econômico rendeu 24% a mais de resultado na carteira de teste, com o mesmo modelo e a mesma AUC.
  • Ordenar a fila por valor em risco barrou 77% do valor fraudado revisando 0,11% do tráfego, dentro da capacidade real de uma mesa de análise.
  • Modelo da base de alunos com erro abaixo de 2%, 499 mil previstos contra 509 mil realizados, usado no planejamento acadêmico da Vitru Educação.
  • Auditoria de paridade publicada inclusive quando reprova: 0,767 no grupo até 25 anos, abaixo da regra dos 4/5. Atributos protegidos ficam fora das features.

Dados

O dado que alimenta o sistema e o contrato que o mantém válido.

  • 5 milhões de linhas por 26 colunas em 4,8 s, com pico de 261 MB. A memória fica plana enquanto o dado cresce 50 vezes. Três camadas de leitura sobre Parquet, com DuckDB e PyArrow.
  • 71 checks gerados automaticamente a partir de 26 colunas, com teste de duas proporções, correção de Bonferroni e piso de efeito prático contra alarme falso.
  • Defeitos ranqueados por impacto na decisão em vez de frequência. O por prevalência sobe para por impacto, e o não inverte nenhuma decisão.
  • Integração e rastreabilidade de sistemas corporativos em SQL Server e Python.

Backend

O sistema que serve, com teste, contrato de interface e resiliência.

  • FastAPI, React 19 e TypeScript num sistema de otimização em operação, com dois solvers isolados: a aba de cenários não sobrescreve a rodada publicada.
  • pytest em cinco repositórios, CLI empacotada com pyproject, SBOM CycloneDX e inventário de licenças de terceiros.
  • Portão de qualidade em CI rodando a cada PR, com o ciclo de regressão e correção demonstrado no histórico do repositório.
  • Docker e pipeline reprodutível a partir de um clone limpo, sem artefato binário versionado.

PythonSQL ServerFastAPIDockerpytestReact 19TypeScriptDuckDBPyArrowPandasLightGBMOR-Tools CP-SATsentence-transformersGeminiPower BIGitGitHub Actions

experiência

Analista de dados pleno, planejamento acadêmico

Vitru Educação · março de 2026 até hoje · Maringá, PR, híbrido

  • Mantenho em produção o pipeline semanal que consolida matrizes curriculares de várias instituições, com quatro camadas de qualidade e histórico auditável.
  • Desenvolvi o modelo preditivo da base de alunos, com erro abaixo de 2% entre previsto e realizado.
  • Automatizei a auditoria de planejado contra executado sobre bases de milhões de linhas, migrando de Power Query para Python.
  • Desenvolvi o sistema de otimização de alocação docente com CP-SAT, FastAPI e React.
  • Integro sistemas corporativos em SQL Server, separando falha sistêmica de revisão humana.
  • Construí os dashboards executivos em Power BI usados por gestores e diretoria.

Operador assistente

Linoforte Móveis · junho de 2022 a dezembro de 2025 · Osvaldo Cruz, SP

  • Estruturei o monitoramento de KPIs de produção e qualidade, identificando padrões de parada recorrentes que embasaram ações corretivas de processo.
  • Mapeei gargalos operacionais e tempos de parada, propondo melhorias que reduziram retrabalho e desperdício nas linhas de produção.

Formação

Pós-graduação em Ciência de Dados, UniCesumar · em conclusão

Formação AI Software Engineer 4.0, Data Science Academy · em andamento

projetos

Sete repositórios abertos, com o código e as métricas publicados, inclusive os resultados que não fecharam.

MRR 0,361 → 0,644

regulatory-rag-eval

Avaliação de um RAG sobre 294 normativos do Banco Central a respeito do Pix. A recuperação híbrida com fusão RRF levou o MRR de 0,361 para 0,644 e o recall@1 de 0,133 para 0,533. A auditoria de vigência mostrou o que a similaridade não vê: 44,6% do corpus está revogado e 80% das perguntas recebiam contexto sem validade. As duas camadas que sustentam o resultado não usam LLM.

sentence-transformersrank-bm25RRFGemini47 testes

US$ 0,028 por edital

procurement-triage-service

Triagem de editais públicos do PNCP. Extrai prazo, valor estimado e exigências de habilitação com citação verificável, e ordena a fila de leitura por valor esperado dentro da capacidade do time. O verificador não usa LLM: o campo só é aceito se o trecho citado existir literalmente no PDF e o valor bater com ele. 300 editais ingeridos, 96,7% com texto extraível sem OCR, 61 testes offline e latência p50 de 12,1 s.

PythonGeminiFastAPIDockerGitHub ActionsPNCP API

+24% na carteira de teste

credit-risk-decision-engine

Trocar o corte de 0,50 pelo break-even econômico rendeu 24,0% a mais na carteira de teste, com o mesmo modelo e a mesma AUC. O corte sai de duas constantes de negócio e não olha uma linha do dataset, e ainda assim ganhou do ótimo procurado por varredura. Reason codes por TreeSHAP exato e auditoria de paridade publicada inclusive onde reprova, com 0,767 no grupo até 25 anos.

LightGBMTreeSHAPPSI e CSI16 testes

77% do valor barrado

fraud-triage-under-capacity

Uma regra de duas linhas, sem modelo nenhum, pega 97,70% das fraudes do PaySim. O projeto audita o benchmark e refaz a avaliação sem os atalhos: a PR-AUC honesta cai de 1,000 para 0,406 enquanto a ROC quase não se move. Sob capacidade finita, ordenar por valor em risco barra 77% do valor fraudado revisando 0,11% do tráfego.

LightGBMmétricas de evento raro18 testes

25x mais rápido

silent-data-defects

Ranqueia defeitos de dados pelo quanto mudam a decisão, não pela frequência, e emite o contrato executável que impede o defeito de voltar. O defeito em por prevalência sobe para por impacto, e o não inverte nenhuma decisão. 25x mais rápido e 24x mais econômico em memória que o ydata-profiling, sem nenhum falso positivo em 100 colunas limpas.

DuckDBPyArrowParquetCLI empacotada

em operação

teacher-allocation-optimizer

Sistema full-stack de alocação docente com CP-SAT: validação de entrada, dois solvers isolados por desenho, de modo que a aba de cenários não sobrescreve a rodada publicada, auditoria por rodada e painel em React. Suíte de testes, SBOM CycloneDX e inventário de licenças de terceiros. Os exemplos do repositório são sintéticos, sem dado institucional real.

OR-Tools CP-SATFastAPIReact 19TypeScriptSBOM

30+ tipos de gráfico

data-insight-ai

BI self-service em que o Gemini explora o dataset, recomenda KPIs e responde perguntas de negócio em linguagem natural. Um modo de fallback mantém os gráficos funcionando quando a API fica indisponível.

GeminiStreamlitPlotlyPandasMySQL

limites publicados

Cada projeto acima tem um resultado que não saiu como eu esperava. Eles ficam registrados junto com os bons, porque sem eles não dá para avaliar o método.

contato