Ícaro Molinari

Como funciona

O mecanismo de match não é uma caixa preta. Aqui está o pipeline completo, em ordem.

  1. 1. Conteúdo em Markdown

    Cada projeto e experiência vive em um arquivo .mdx versionado no repositório — a mesma fonte que gera esta página e o índice usado no relatório de match.

  2. 2. Indexação em build time

    No build, cada chunk (projeto ou experiência) vira um embedding vetorial (Vertex AI, gemini-embedding-001) e é salvo em um knowledge.json estático — sem banco de dados dedicado.

  3. 3. Retrieval híbrido

    Ao receber uma vaga, calculo a similaridade de cosseno entre a JD e cada chunk, combino com um score léxico (BM25 via minisearch) e seleciono os trechos mais relevantes.

  4. 4. Geração com citação obrigatória

    O modelo (Gemini, via Vercel AI SDK) recebe só os trechos selecionados e é instruído a citar [[cite:ID]] em toda afirmação factual. Citações são validadas contra o knowledge.json antes de exibir — nenhum ID inventado passa.

Sem banco vetorial dedicado, sem grafo de conhecimento — o volume de conteúdo não justifica. Simplicidade deliberada, não limitação.