Pular para o conteúdo

Design clássico · Sênior

Feed de notícias personalizado

Projeto de entrevista clássico. Pontos centrais: multi-task de engajamento, score ponderado e frescor e diversidade.

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

Resposta curta

Projeto de entrevista clássico. Pontos centrais: multi-task de engajamento, score ponderado e frescor e diversidade. O ranqueamento do News Feed do Facebook decide, para cada pessoa, quais publicações aparecem primeiro. O post de engenharia da Meta descreve o desafio de projetar um ranqueamento personalizado para mais de dois bilhões de pessoas, cada uma com interesses diferentes.

01 · CONTEXTO

Decidir o que cada pessoa vê primeiro

O ranqueamento do News Feed do Facebook decide, para cada pessoa, quais publicações aparecem primeiro. O post de engenharia da Meta descreve o desafio de projetar um ranqueamento personalizado para mais de dois bilhões de pessoas, cada uma com interesses diferentes. A empresa diz que usa aprendizado de máquina para prever qual conteúdo será mais importante para cada pessoa.

Sem aprendizado de máquina, o feed poderia ficar inundado de conteúdo que a pessoa não acha relevante ou interessante, incluindo conteúdo excessivamente promocional ou de conhecidos que postam com frequência, o que pode soterrar o conteúdo de quem ela tem mais proximidade.

A escala complica o problema: é preciso pontuar as publicações disponíveis para mais de dois bilhões de pessoas, com mais de mil publicações por pessoa por dia, em média. Além disso, o sistema precisa saber se um artigo recebeu muitas curtidas mesmo que tenha sido publicado minutos antes.

02 · O OBJETIVO

De uma curtida a vários sinais

O ponto de partida é um sinal observável de valor: a pessoa clicar em curtir. A previsão usa características da publicação, como o tipo ou a relação entre quem vê e quem publicou. O algoritmo ranqueia mais alto o item com maior probabilidade prevista de a pessoa curtir.

Curtir não é a única forma de expressar preferência. Há vários valores, como curtidas, comentários e compartilhamentos, que precisam ser agregados em um único valor por publicação. Às vezes os modelos discordam, e o peso de cada previsão se baseia nas ações que as pessoas dizem, em pesquisas, serem mais significativas.

O objetivo geral é o valor de longo prazo. Para avaliá-lo, o post defende escolher métricas alinhadas ao que as pessoas dizem ser importante para elas, e a empresa pesquisa as pessoas sobre quão significativa foi uma interação ou se uma publicação vale o tempo.

03 · ARQUITETURA

Do pedido ao feed ranqueado

Quando alguém abre o Facebook, em qualquer interface, o pedido vai a uma camada Web/PHP, que consulta o agregador do feed. O agregador coleta as informações relevantes de cada publicação e analisa seus atributos para prever o valor da publicação para a pessoa e calcular a pontuação final, agregando todas as previsões.

  1. O diagrama começa pelo cliente, seja um iPhone, um Android ou um navegador, que envia o pedido à camada Web/PHP.

    Diagrama da arquitetura: Feed de notícias: do pedido ao feed ranqueado
    CLAplicativo ou navegadororigem do pedido
    CPCamada Web/PHP
    CPAgregador do feed
    DBBancos folha do feed
    CPPreditores
  2. A camada Web/PHP consulta o agregador do feed.

    Diagrama da arquitetura: Feed de notícias: do pedido ao feed ranqueado
    CLAplicativo ou navegador
    CPCamada Web/PHP
    CPAgregador do feedconsultado pela Web
    DBBancos folha do feed
    CPPreditores
  3. O agregador busca ações e objetos, com um resumo do objeto, nos bancos folha do feed.

    Diagrama da arquitetura: Feed de notícias: do pedido ao feed ranqueado
    CLAplicativo ou navegador
    CPCamada Web/PHP
    CPAgregador do feed
    DBBancos folha do feedcandidatos e resumos
    CPPreditores
  4. Os modelos rodam sobre todas as histórias candidatas em paralelo, em várias máquinas chamadas preditores.

    Diagrama da arquitetura: Feed de notícias: do pedido ao feed ranqueado
    CLAplicativo ou navegador
    CPCamada Web/PHP
    CPAgregador do feed
    DBBancos folha do feed
    CPPreditoresmodelos em paralelo
  5. O agregador devolve a lista de histórias ranqueadas ao front-end, que a renderiza para a pessoa.

    Diagrama da arquitetura: Feed de notícias: do pedido ao feed ranqueado
    CLAplicativo ou navegador
    CPCamada Web/PHP
    CPAgregador do feedlista ranqueada
    DBBancos folha do feed
    CPPreditores

04 · CANDIDATOS E PASSADAS

Inventário, funil e diversidade

O inventário elegível inclui qualquer publicação não apagada, compartilhada por amigo, grupo ou página com quem a pessoa se conecta, feita desde o último login. Há também lógica de reaparecimento: publicações novas que a pessoa não viu, mas que foram ranqueadas em sessões anteriores, voltam a ser elegíveis, e publicações já vistas que geraram uma conversa interessante entre amigos podem ser elegíveis de novo como publicação impulsionada por comentário.

A pontuação acontece em várias passadas, necessárias para economizar poder computacional e aplicar regras, como a diversidade de tipos de conteúdo, que dependem de uma pontuação inicial. Antes delas, processos de integridade são aplicados a cada publicação.

  1. O diagrama começa pelo inventário elegível, que reúne as publicações desde o último login e as que voltam a ser elegíveis.

    Diagrama da arquitetura: Feed de notícias: funil de candidatos e passadas
    CPInventário elegívelcandidatos
    CPProcessos de integridade
    CPPassada leve
    CPPassada principal
    CPPassada contextual
    CLFeed da pessoa
  2. Processos de integridade são aplicados a cada publicação antes das passadas de pontuação.

    Diagrama da arquitetura: Feed de notícias: funil de candidatos e passadas
    CPInventário elegível
    CPProcessos de integridadeintegridade
    CPPassada leve
    CPPassada principal
    CPPassada contextual
    CLFeed da pessoa
  3. Um modelo leve seleciona cerca de quinhentas das publicações mais relevantes entre as elegíveis.

    Diagrama da arquitetura: Feed de notícias: funil de candidatos e passadas
    CPInventário elegível
    CPProcessos de integridade
    CPPassada levereduz candidatos
    CPPassada principal
    CPPassada contextual
    CLFeed da pessoa
  4. Na passada principal, cada história é pontuada de forma independente e as elegíveis são ordenadas por pontuação.

    Diagrama da arquitetura: Feed de notícias: funil de candidatos e passadas
    CPInventário elegível
    CPProcessos de integridade
    CPPassada leve
    CPPassada principalpontua e ordena
    CPPassada contextual
    CLFeed da pessoa
  5. Na passada contextual entram regras como a diversidade de tipos de conteúdo.

    Diagrama da arquitetura: Feed de notícias: funil de candidatos e passadas
    CPInventário elegível
    CPProcessos de integridade
    CPPassada leve
    CPPassada principal
    CPPassada contextualdiversidade
    CLFeed da pessoa
PassadaO que fazPor que existe
LeveSeleciona, com um modelo leve, as publicações mais relevantes entre as elegíveisPermite ranquear menos histórias, com alto recall, e usar redes neurais mais poderosas nas passadas seguintes
PrincipalPontua cada história de forma independente e ordena as elegíveis por pontuaçãoÉ onde acontece a maior parte da personalização
ContextualAdiciona atributos contextuais, como regras de diversidade de tipo de conteúdoEvita que a pessoa veja tipos de conteúdo redundantes, como vários vídeos em sequência

05 · O SCORE

Das previsões multitarefa à combinação linear

Cada publicação é pontuada com redes neurais multitarefa. Os atributos incluem o tipo da publicação, embeddings, isto é, representações geradas por modelos de aprendizado profundo, e o que a pessoa costuma interagir. Para cada pessoa, há milhares de sinais a avaliar.

  1. O diagrama começa pelos atributos que alimentam o modelo: tipo da publicação, embeddings e o que a pessoa costuma interagir.

    Diagrama da arquitetura: Feed de notícias: previsões multitarefa e score linear
    CPAtributosatributos
    CPRede multitarefa
    CPPrevisão de curtir
    CPPrevisão de comentar
    CPPrevisão de compartilhar
    CPCombinação linear
  2. A rede neural multitarefa recebe os atributos e pontua a publicação.

    Diagrama da arquitetura: Feed de notícias: previsões multitarefa e score linear
    CPAtributos
    CPRede multitarefamultitarefa
    CPPrevisão de curtir
    CPPrevisão de comentar
    CPPrevisão de compartilhar
    CPCombinação linear
  3. O sistema gera várias previsões para a pessoa, como curtir, comentar e compartilhar.

    Diagrama da arquitetura: Feed de notícias: previsões multitarefa e score linear
    CPAtributos
    CPRede multitarefa
    CPPrevisão de curtircurtir
    CPPrevisão de comentarcomentar
    CPPrevisão de compartilharcompartilhar
    CPCombinação linear
  4. As previsões são combinadas de forma linear em um único valor por publicação.

    Diagrama da arquitetura: Feed de notícias: previsões multitarefa e score linear
    CPAtributos
    CPRede multitarefa
    CPPrevisão de curtir
    CPPrevisão de comentar
    CPPrevisão de compartilhar
    CPCombinação linearvalor único
  5. Uma ação rara, com previsão próxima de zero, tem papel mínimo no resultado.

    Diagrama da arquitetura: Feed de notícias: previsões multitarefa e score linear
    CPAtributos
    CPRede multitarefa
    CPPrevisão de curtirprevisão baixa
    CPPrevisão de comentar
    CPPrevisão de compartilhar
    CPCombinação linear

Por simplicidade e tratabilidade, as previsões são combinadas de forma linear. Para algumas pessoas, o score pode ser maior para curtidas do que para comentários, porque há quem se expresse mais curtindo. Uma vantagem do formato é que uma ação com que a pessoa raramente interage, como uma previsão de curtida muito próxima de zero, automaticamente tem papel mínimo no ranqueamento.

06 · FRESCOR E LIMITES

Frescor, diversidade e o que levar para a entrevista

O frescor aparece em mais de um lugar. O sistema precisa saber, em tempo real, se um artigo recebeu muitas curtidas mesmo publicado minutos antes, e também se a pessoa curtiu muito conteúdo um minuto antes, para usar isso no ranqueamento. A lógica de reaparecimento faz publicações ainda não vistas serem reconsideradas.

A diversidade, por sua vez, entra na passada contextual, porque regras como a variedade de tipos de conteúdo dependem de uma pontuação inicial.

O post cita ainda sistemas de aprendizado offline entre as técnicas por trás dos modelos de interações significativas e de qualidade de conteúdo.

Perguntas frequentes

O que é Feed de notícias personalizado?

Projeto de entrevista clássico. Pontos centrais: multi-task de engajamento, score ponderado e frescor e diversidade.

O que o design de Feed de notícias personalizado cobre?

Ele está organizado nestas seções: Decidir o que cada pessoa vê primeiro, De uma curtida a vários sinais, Do pedido ao feed ranqueado, Inventário, funil e diversidade, Das previsões multitarefa à combinação linear e Frescor, diversidade e o que levar para a entrevista.

Quanto tempo leva Feed de notícias personalizado e qual é o nível?

Leva cerca de 16 minutos para ler e tem nível Sênior.

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.