OrquestraçãoAtualizado 2026-06-21 · Versão 1.0

Paralelização (Parallelization)

A paralelização executa várias chamadas ao LLM ao mesmo tempo e agrega os resultados. Duas variantes: seccionamento (dividir uma tarefa em subtarefas independentes em paralelo) e votação (executar a mesma tarefa várias vezes para melhorar confiabilidade ou cobertura). Reduz a latência e pode aumentar a qualidade.

Evidência: Observação do setorConfiança: AltaFonte: Observação do setor

Problema

Executar subtarefas independentes uma após a outra desperdiça tempo, e uma única amostra de uma tarefa difícil pode ser pouco confiável.

Quando usar

Use a paralelização quando as subtarefas são independentes (seccionamento), ou quando várias tentativas da mesma tarefa melhoram a confiança ou cobertura (votação).

Solução

Seccionamento: divida o trabalho em peças independentes, execute-as em paralelo e combine as saídas. Votação: execute o mesmo prompt várias vezes (ou com variações) e agregue por maioria, união ou um juiz.

Ambas reduzem o tempo real frente à execução sequencial; a votação além disso troca custo extra por maior confiabilidade em tarefas em que uma única amostra é arriscada.

Componentes

Divisor de tarefasTrabalhadores concorrentesAgregador (fusão / voto / juiz)

Benefícios

  • Menor latência ao executar chamadas em concorrência.
  • A votação melhora a confiabilidade e a cobertura.
  • Cada chamada paralela se mantém simples e focada.

Riscos

  • A votação multiplica o custo de tokens.
  • A lógica de agregação pode ser difícil de acertar.
  • Subtarefas assumidas independentes podem interagir na realidade.

Quando não usar

  • Quando as subtarefas dependem da saída de outra: encadeie-as.
  • Quando o custo é apertado e basta uma única chamada.
  • Quando os resultados não podem ser agregados de forma significativa.

Tecnologias

LangGraphAsync runtimesOpenAI Agents SDKMap-reduce frameworks

Exemplos

  • Resumir muitos documentos ao mesmo tempo e depois fundir os resumos.
  • Executar uma verificação de segurança em paralelo com a resposta principal.
  • Amostrar uma resposta várias vezes e tomar a maioria.

KPIs

Redução de latência vs. sequencial
Tempo economizado ao executar chamadas em paralelo; a razão de ser do padrão.
Qualidade da agregação
Se combinar as saídas paralelas preserva a correção; o difícil é a junção, não o fan-out.
Custo de concorrência
Tokens totais de todas as ramificações paralelas; você troca dinheiro por velocidade, vigie o multiplicador.
Taxa de rate limit / throttle
Com que frequência as chamadas paralelas batem nos limites do provedor, que as serializa ou falha em silêncio.

Modos de falha observados

  • Erros de agregação: resultados paralelos corretos isoladamente mas mal combinados (dupla contagem, contradições).
  • O rate limit transforma o paralelismo pretendido em chamadas lentas e serializadas.
  • Surpresa de custo: N ramificações paralelas custam N× mesmo quando só um resultado é usado.
  • Tratamento de falha parcial: uma ramificação falha e o agregador ou bloqueia ou a descarta em silêncio.

Lições aprendidas

  • Projete primeiro o passo de agregação: combinar bem os resultados é mais difícil que dividir o trabalho.
  • Respeite os limites de taxa do provedor com batching ou backoff, ou o paralelismo evapora.
  • Paralelize só subtarefas independentes; dependências forçam uma sequência de qualquer forma.
  • Decida explicitamente como as falhas parciais são tratadas antes que ocorram em produção.

FAQs

Diferença entre seccionamento e votação?
O seccionamento divide uma tarefa em subtarefas independentes distintas; a votação executa a mesma tarefa várias vezes para agregar por confiabilidade.
A votação sempre melhora a qualidade?
Muitas vezes, em tarefas em que as amostras variam, mas multiplica o custo. Reserve-a para passos críticos em que uma única amostra é arriscada.
Como combino resultados paralelos?
Conforme o caso: concatenar seções, tomar voto majoritário, unir os achados ou usar um modelo juiz para sintetizar.

Referências