Pular para o conteúdo

Design clássico · Staff

Serviço de LLM (ChatGPT)

Projeto de entrevista clássico. Pontos centrais: serviço de LLM (inferência) e algoritmos de rate limiting.

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

Resposta curta

Projeto de entrevista clássico. Pontos centrais: serviço de LLM (inferência) e algoritmos de rate limiting. O exercício pede o sistema que serve um assistente de chat: o usuário envia prompts em linguagem natural e recebe respostas transmitidas de um modelo de linguagem grande.

01 · CONTEXTO

Um chat em cima de um modelo

O exercício pede o sistema que serve um assistente de chat: o usuário envia prompts em linguagem natural e recebe respostas transmitidas de um modelo de linguagem grande. As conversas ficam salvas, e o usuário pode voltar a um chat antigo e continuar de onde parou.

O enunciado trata o modelo como uma caixa-preta chamada pelo sistema, sem treiná-lo nem operar seus internos. O escopo é só texto de entrada e de saída. Editar ou ramificar mensagens existentes fica fora.

Os dois requisitos funcionais são enviar um prompt e receber uma resposta gerada por IA, e ver chats passados para retomar a conversa com o contexto anterior no prompt.

02 · REQUISITOS

Latência, GPU e custo

As partes interessantes do problema, segundo o enunciado, são transmitir tokens rápido, escalonar a capacidade limitada de GPU e manter o custo sob controle conforme as conversas crescem.

EixoO que o enunciado destaca
LatênciaA latência até o primeiro token pesa mais que o tempo total de conclusão.
ComputaçãoAs GPUs são limitadas e caras, então é preciso ser deliberado sobre quem recebe computação e quando.
CustoO custo precisa ficar sob controle conforme as conversas crescem.
EscopoSó texto de entrada e de saída, sem imagem, áudio ou vídeo.

Para a escala, o enunciado parte de pouco mais de duzentos milhões de usuários ativos por dia. A estimativa dele dá cerca de 20 mil prompts por segundo no pico e cerca de 120 mil respostas em geração ao mesmo tempo.

03 · DESENHO

Do prompt ao token

  1. No desenho, o cliente de chat envia o prompt pela entrada da API.

    Diagrama da arquitetura: Serviço de chat com LLM
    CLCliente de chatprompt
    NWEntrada da API
    CPServiço de conversas
    DBArmazém de conversas
    QFila de geração
    CPWorkers de GPU
  2. No desenho, o serviço de conversas consulta e atualiza o armazém de conversas, de onde vem o contexto do chat.

    Diagrama da arquitetura: Serviço de chat com LLM
    CLCliente de chat
    NWEntrada da API
    CPServiço de conversas
    DBArmazém de conversashistórico
    QFila de geração
    CPWorkers de GPU
  3. No desenho, o serviço de conversas coloca o pedido numa fila de geração, que fica entre ele e as GPUs.

    Diagrama da arquitetura: Serviço de chat com LLM
    CLCliente de chat
    NWEntrada da API
    CPServiço de conversas
    DBArmazém de conversas
    QFila de geraçãopedido de geração
    CPWorkers de GPU
  4. No desenho, os workers de GPU retiram pedidos da fila e chamam o modelo como caixa-preta.

    Diagrama da arquitetura: Serviço de chat com LLM
    CLCliente de chat
    NWEntrada da API
    CPServiço de conversas
    DBArmazém de conversas
    QFila de geração
    CPWorkers de GPUcaixa-preta
  5. No desenho, os tokens gerados voltam ao serviço de conversas e dele seguem ao cliente.

    Diagrama da arquitetura: Serviço de chat com LLM
    CLCliente de chattokens
    NWEntrada da API
    CPServiço de conversas
    DBArmazém de conversas
    QFila de geração
    CPWorkers de GPU

O desenho separa o serviço de conversas dos workers de GPU por uma fila de geração. Os tokens voltam em streaming ao cliente. O enunciado diz que a latência até o primeiro token pesa mais que o tempo total de conclusão.

As perguntas de aprofundamento da próxima seção tratam de como esse caminho entrega tokens, sobrevive a reconexões e usa as GPUs.

04 · APROFUNDAMENTOS

As perguntas que sobram

O enunciado lista cinco perguntas de aprofundamento, que servem de roteiro de estudo para este caso.

AprofundamentoPergunta levantada pelo enunciado
StreamingComo transmitir tokens de volta ao cliente?
ContinuidadeComo manter o stream vivo em reconexões e deploys?
EscalonamentoComo rotear e escalonar pedidos de geração entre workers de GPU?
Justiça entre planosComo impedir que usuários pesados dominem o pool de GPU e ainda dar experiência melhor aos planos pagos?
Custo em conversas longasComo controlar o custo de inferência sem deixar o assistente parecer esquecido?

Segundo o guia, os padrões por trás desses prompts de LLM são os mesmos de sistemas distribuídos já conhecidos: filas, batching, balanceamento de carga e processamento assíncrono. O guia também recomenda entender como funciona rate limiting para APIs de LLM.

  1. No desenho, o pedido de um usuário chega pela entrada da API.

    Diagrama da arquitetura: Admissão e limites na frente das GPUs
    CLClientepedido
    NWEntrada da API
    CPControle de admissão
    CHContadores de uso
    QFila de geração
    CPWorkers de GPU
    NWMonitoramento
  2. No desenho, a entrada encaminha o pedido ao controle de admissão antes de qualquer fila.

    Diagrama da arquitetura: Admissão e limites na frente das GPUs
    CLCliente
    NWEntrada da API
    CPControle de admissãoadmissão
    CHContadores de uso
    QFila de geração
    CPWorkers de GPU
    NWMonitoramento
  3. No desenho, o controle de admissão consulta os contadores de uso do usuário.

    Diagrama da arquitetura: Admissão e limites na frente das GPUs
    CLCliente
    NWEntrada da API
    CPControle de admissão
    CHContadores de usouso recente
    QFila de geração
    CPWorkers de GPU
    NWMonitoramento
  4. No desenho, só o pedido aceito entra na fila de geração.

    Diagrama da arquitetura: Admissão e limites na frente das GPUs
    CLCliente
    NWEntrada da API
    CPControle de admissão
    CHContadores de uso
    QFila de geraçãoaceito
    CPWorkers de GPU
    NWMonitoramento
  5. No desenho, os workers de GPU consomem a fila e enviam métricas ao monitoramento.

    Diagrama da arquitetura: Admissão e limites na frente das GPUs
    CLCliente
    NWEntrada da API
    CPControle de admissão
    CHContadores de uso
    QFila de geração
    CPWorkers de GPU
    NWMonitoramentométricas

O segundo desenho coloca um controle de admissão antes da fila, para que o consumo de cada usuário seja medido antes de o pedido disputar GPU. Esse é um ponto de partida para a pergunta sobre usuários pesados e planos pagos, não uma resposta pronta.

A pergunta sobre custo em conversas longas se conecta à disciplina de custo e FinOps, e a de escalonar a GPU, ao serviço de ML.

Perguntas frequentes

O que é Serviço de LLM (ChatGPT)?

Projeto de entrevista clássico. Pontos centrais: serviço de LLM (inferência) e algoritmos de rate limiting.

O que o design de Serviço de LLM (ChatGPT) cobre?

Ele está organizado nestas seções: Um chat em cima de um modelo, Latência, GPU e custo, Do prompt ao token e As perguntas que sobram.

Quanto tempo leva Serviço de LLM (ChatGPT) e qual é o nível?

Leva cerca de 17 minutos para ler e tem nível Staff.

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.