Pular para o conteúdo

Design clássico · Pleno

Recomendação de jogos

Projeto de entrevista clássico. Pontos centrais: filtragem colaborativa e feedback implícito.

14 min de leitura · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Projeto de entrevista clássico. Pontos centrais: filtragem colaborativa e feedback implícito. O roteiro de entrevista parte de um catálogo de jogos e de usuários com histórico de interação, no contexto de desenho de sistemas de ML. A meta de negócio sugerida é aumentar o engajamento (jogar, curtir, clicar, compartilhar) e, talvez, a compra, com recomendação personalizada para cada usuário.

01 · CONTEXTO E OBJETIVO

O que significa recomendar um jogo

O roteiro de entrevista parte de um catálogo de jogos e de usuários com histórico de interação, no contexto de desenho de sistemas de ML. A meta de negócio sugerida é aumentar o engajamento (jogar, curtir, clicar, compartilhar) e, talvez, a compra, com recomendação personalizada para cada usuário. Formulado como problema de ML, a entrada é o usuário e a saída é uma lista ordenada de jogos com uma pontuação de relevância.

Para dimensionar, o roteiro assume 100 milhões de jogos e 100 milhões de usuários ativos por dia, e sugere uma latência de 200 ms.

Objetivo a maximizarO que o roteiro aponta
Número de cliquesFavorece clickbait
Jogos, sessões ou níveis concluídosViés para jogos mais curtos
Itens relevantes (proxy por reações implícitas e explícitas)Mais controle sobre os sinais, sem esses problemas

O roteiro pede que a relevância seja definida de forma explícita: por exemplo, uma curtida já conta como relevante, ou jogar metade do jogo.

02 · DADOS E FEEDBACK IMPLÍCITO

Do que o modelo aprende

Os dados vêm de perfil do usuário, metadados dos jogos e das interações entre usuário e jogo (pipelines de dados). As interações históricas incluem jogar, comprar, curtir e buscar, e o roteiro lista também a impressão como tipo de interação.

O feedback explícito é o que o usuário declara, como uma pesquisa; o implícito vem do registro de comportamento. O roteiro rotula um par usuário e jogo como positivo quando o usuário curtiu de forma explícita ou interagiu por pelo menos um tempo mínimo, por exemplo metade do jogo, e amostra os negativos da distribuição de fundo.

Na representação das entradas, ids categóricos como jogo, usuário, idioma e cidade viram embeddings aprendidos durante o treino, e título e descrição podem usar embeddings de um modelo de linguagem pré-treinado.

03 · O FUNIL

Três estágios para caber na latência

AbordagemVantagemLimite
Filtragem colaborativaNão exige conhecimento de domínioCold start de usuário e de item
Baseada em conteúdoRecomenda itens novos, sem cold start de itemCold start de usuário novo; exige conhecimento de domínio

A escolha do roteiro é um híbrido sequencial, organizado como funil de três estágios (geração de candidatos, ranking e re-ranking) para atender aos requisitos de latência. A filtragem colaborativa entra na geração de candidatos e a baseada em conteúdo, no ranking.

  1. O app do jogador pede ao serviço de recomendação a lista para o usuário.

    Diagrama da arquitetura: Recomendação de jogos: funil de três estágios
    CLApp do jogador
    CPServiço de recomendação
    CPCandidatos colaborativos
    CPCandidatos populares
    CPCandidatos em tendência
    DBÍndice de embeddings
    CPRanker
    CPRe-ranking
  2. O serviço aciona os módulos de geração de candidatos: um por relevância (filtragem colaborativa), um por popularidade e um por tendência.

    Diagrama da arquitetura: Recomendação de jogos: funil de três estágios
    CLApp do jogador
    CPServiço de recomendação
    CPCandidatos colaborativosrelevância
    CPCandidatos popularespopularidade
    CPCandidatos em tendênciatendência
    DBÍndice de embeddings
    CPRanker
    CPRe-ranking
  3. Nessa etapa um modelo leve reduz um catálogo de milhões a milhares de candidatos.

    Diagrama da arquitetura: Recomendação de jogos: funil de três estágios
    CLApp do jogador
    CPServiço de recomendação
    CPCandidatos colaborativos
    CPCandidatos populares
    CPCandidatos em tendência
    DBÍndice de embeddings
    CPRanker
    CPRe-ranking
  4. O módulo colaborativo busca no índice de embeddings os jogos mais próximos do usuário, um problema de vizinho mais próximo aproximado.

    Diagrama da arquitetura: Recomendação de jogos: funil de três estágios
    CLApp do jogador
    CPServiço de recomendação
    CPCandidatos colaborativos
    CPCandidatos populares
    CPCandidatos em tendência
    DBÍndice de embeddingsvizinhos próximos
    CPRanker
    CPRe-ranking
  5. O ranker, com um modelo mais poderoso, foca em precisão e roda só sobre o subconjunto de candidatos.

    Diagrama da arquitetura: Recomendação de jogos: funil de três estágios
    CLApp do jogador
    CPServiço de recomendação
    CPCandidatos colaborativos
    CPCandidatos populares
    CPCandidatos em tendência
    DBÍndice de embeddings
    CPRankerprecisão
    CPRe-ranking
  6. O re-ranking aplica critérios de negócio, como filtros e promoção, e a lista final volta ao app.

    Diagrama da arquitetura: Recomendação de jogos: funil de três estágios
    CLApp do jogador
    CPServiço de recomendação
    CPCandidatos colaborativos
    CPCandidatos populares
    CPCandidatos em tendência
    DBÍndice de embeddings
    CPRanker
    CPRe-rankingfiltros

04 · CANDIDATOS E RANKING

Duas torres para gerar, atributos para ordenar

CritérioFatoração de matrizesRede de duas torres
VantagemTreino e serving rápidos (embeddings estáticos)Aceita atributos do usuário e trata usuários novos
LimiteSó usa interações usuário e item; cold start de usuário novoTreino caro

O roteiro escolhe a rede de duas torres: uma torre codifica o usuário, outra codifica o jogo, e a similaridade entre os dois vetores é a pontuação de relevância. O treino minimiza a entropia cruzada sobre cada exemplo positivo e sobre negativos amostrados.

No ranking o roteiro prioriza precisão sobre eficiência e usa um modelo baseado nos atributos do item, com opções como uma rede feed-forward com regressão logística ou uma Deep Cross Network.

  1. O app registra as interações do jogador (jogar, comprar, curtir, buscar) numa fila de eventos.

    Diagrama da arquitetura: Recomendação de jogos: do log ao modelo
    CLApp do jogador
    QFila de eventos
    CPRotulagem
    DBDataset de treino
    CPTreino das duas torres
    DBÍndice de embeddings
    CPServiço de recomendação
  2. Um processo de rotulagem monta pares usuário e jogo, marca positivos e amostra negativos, e grava o dataset.

    Diagrama da arquitetura: Recomendação de jogos: do log ao modelo
    CLApp do jogador
    QFila de eventos
    CPRotulagemrotula
    DBDataset de treinoexemplos
    CPTreino das duas torres
    DBÍndice de embeddings
    CPServiço de recomendação
  3. O treino das duas torres lê o dataset e minimiza a entropia cruzada.

    Diagrama da arquitetura: Recomendação de jogos: do log ao modelo
    CLApp do jogador
    QFila de eventos
    CPRotulagem
    DBDataset de treino
    CPTreino das duas torresduas torres
    DBÍndice de embeddings
    CPServiço de recomendação
  4. No diagrama, o treino publica os embeddings gerados no índice que o serviço de recomendação consulta.

    Diagrama da arquitetura: Recomendação de jogos: do log ao modelo
    CLApp do jogador
    QFila de eventos
    CPRotulagem
    DBDataset de treino
    CPTreino das duas torres
    DBÍndice de embeddingsembeddings
    CPServiço de recomendação
  5. O roteiro pede que o modelo possa ser afinado com dados novos; no diagrama, é o treino voltando a ler o dataset atualizado.

    Diagrama da arquitetura: Recomendação de jogos: do log ao modelo
    CLApp do jogador
    QFila de eventos
    CPRotulagem
    DBDataset de treino
    CPTreino das duas torresafinar
    DBÍndice de embeddings
    CPServiço de recomendação

05 · COLD START E VIESES

O que quebra primeiro

Para usuários novos, a rede de duas torres ainda aceita o perfil do usuário, então há o que codificar mesmo sem interação. Para jogos novos, o roteiro sugere recomendá-los a usuários aleatórios, coletar dados e afinar o modelo com eles.

Entre as extensões, o roteiro lista o dilema entre exploração e aproveitamento, ligado ao bandit multi-armado, e o viés de posição e o viés de seleção, ambos com detecção e correção.

06 · MÉTRICAS E ENTREGA

Como saber se funcionou

TipoMétricas citadas
OfflinePrecisão@k, mAP e diversidade
OnlineCTR, jogos concluídos, compras, tempo total de jogo, gasto total e feedback do usuário

No re-ranking, o roteiro aplica critérios de negócio adicionais, como filtro por idade, filtro por região, promoção de conteúdo novo e deduplicação.

Perguntas frequentes

O que é Recomendação de jogos?

Projeto de entrevista clássico. Pontos centrais: filtragem colaborativa e feedback implícito.

O que o design de Recomendação de jogos cobre?

Ele está organizado nestas seções: O que significa recomendar um jogo, Do que o modelo aprende, Três estágios para caber na latência, Duas torres para gerar, atributos para ordenar, O que quebra primeiro e Como saber se funcionou.

Quanto tempo leva Recomendação de jogos e qual é o nível?

Leva cerca de 14 minutos para ler e tem nível Pleno.

Agora projete você mesmo

Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.