Guilherme Santos da Costa
AI Engineer no Rio de Janeiro, RJ
Antes de escolher um modelo, eu monto um gabarito.
Estudo Ciência da Computação na FIAP e trabalho na Metrol desde junho de 2026, onde construí um RAG que roda inteiro na infraestrutura da empresa e ajudo a desenvolver o ERP. Quando preciso escolher entre duas técnicas ou dois modelos, decido pelos números.
| Métrica | Busca semântica | Contextual retrieval |
|---|---|---|
| Recall@5 | 95% | 100% |
| MRR | 0,882 | 0,976 |
| Respostas fora dos 5 primeiros | 2 | 0 |
Trabalho
Metrol, Assistente de IA desde jun/2026
- RAG local em Go com Ollama, pgvector e embeddings bge-m3, para consultar fichas técnicas e manuais sem enviar documentos para a nuvem. A etapa que transforma PDF em texto marca seção e página de cada trecho, para a resposta dizer de onde tirou a informação.
- No ERP, 15 domínios de negócio com Go (Gin, pgx), PostgreSQL 17, React 19 e TypeScript.
- Tirei o login de dentro do módulo de RH e escrevi um serviço próprio em Go, com MFA por app autenticador, códigos de recuperação, bloqueio por conta e por IP e proteção contra CSRF. São 88 testes em Go e 3 testes ponta a ponta com Playwright.
- Controle de acesso com 5 perfis, JWT e Argon2id, e auditoria das 63 rotas da API atrás de IDOR, injection, mass assignment e CORS mal configurado.
- Integração com a API da Sólides/Tangerino para registro de ponto com geolocalização e foto. Deploys com Docker, Nginx e Coolify.
Projetos
mini-rag
O RAG da empresa não pode ser público, então publiquei uma versão com documentos fictícios e gabarito próprio de 23 perguntas. Um comando calcula Recall@k e MRR sozinho, e o CI confere formatação, go vet e os testes.
Go, PostgreSQL com pgvector, Ollama
StockRoute
Em muitos estoques o separador recebe o pedido em PDF impresso e risca os itens à caneta, e um item esquecido não deixa rastro. O sistema lê o PDF, liga os itens ao catálogo e exige uma foto em cada coleta, então dá para saber quem separou cada item e quando. Código no GitHub.
Node.js, Express, PostgreSQL, React
soyo-argb
O fabricante da minha placa-mãe só oferece o controle de LEDs para Windows. Fiz a engenharia reversa do aplicativo com ajuda de agentes de IA e reescrevi o protocolo USB em Rust; agora controlo os LEDs no Linux pela linha de comando, por uma janela ou por um serviço do systemd.
Rust, USB HID, systemd
Formação
- Bacharelado em Ciência da Computação, FIAP, 2026 a 2030 (previsão)
- Qualificação Profissional em Programador Back-End, SENAI Jacarepaguá
- Qualificação Profissional em Programador Front-End, SENAI