Decompondo tarefas: sub-prompts e pipelines mentais
3 min de leitura
Existe um limite pra quanto um modelo consegue fazer bem em um único prompt. Quando você joga "traduza, resuma, gere perguntas, classifique por dificuldade e dê feedback", o modelo vai fazer tudo mal - não porque é ruim, mas porque a instrução virou uma salada.
A solução é a mesma de programação: dividir para conquistar. Decompor uma tarefa complexa em subtarefas menores, cada uma com seu prompt, e encadear as saídas.
Padrão 1: Pipeline sequencial
Cada passo consome a saída do anterior.
Exemplo: processar um documento.
- Prompt 1: "Liste os 5 tópicos principais deste documento. Responda
em JSON:
[{ \"topico\": string, \"resumo_1_linha\": string }]" - Prompt 2 (rodado uma vez por tópico): "Dado este tópico e o trecho relevante do documento, gere um resumo de 100 palavras."
- Prompt 3: "Dados os 5 resumos, gere 10 perguntas de revisão com nível de dificuldade indicado."
Por que funciona? Cada prompt é simples, específico e verificável. Você pode inspecionar a saída de cada etapa antes de seguir - e se algo der errado, sabe exatamente onde.
Padrão 2: Árvore (paralelo com consolidação)
Múltiplas chamadas em paralelo, depois consolidação.
Exemplo: review de artigo. Quatro prompts em paralelo (cada um analisa um aspecto), depois um quinto prompt consolida tudo numa review única. Mais tokens, mas bem mais barato em latency se rodar em paralelo.
Padrão 3: Verificação (gerar, depois criticar)
Gera, depois pede ao modelo (ou a outro modelo) pra criticar e corrigir. É o "code review" do mundo de prompts.
- Prompt A (gerador): "Escreva uma função Python que valida CPF."
- Prompt B (crítico): "Analise esta função. Há bugs? Edge cases não tratados? Problemas de segurança? Responda com lista de issues."
- Prompt C (refinador): "Dado o código original e os issues, reescreva corrigindo tudo."
Esse padrão é surpreendentemente poderoso. Gera + crítica ganha de
gera sozinho na maioria das tarefas de qualidade. Detalhes dele na
Fase 3, no nó avaliacao-de-prompts.
Quando decompor vs. um prompt só
Decomponha quando:
- A tarefa tem mais de 3-4 passos distintos.
- Você quer verificar uma etapa antes de seguir (filtro de qualidade).
- O custo/latência de errar é alto.
- Você quer reusar uma etapa (ex: "extrair tópicos" é útil em vários pipelines).
Mantenha em um prompt quando:
- A tarefa é simples, mesmo que longa.
- A divisão não traz ganho de qualidade claro.
- O output precisa ser um único objeto coeso (não dá pra quebrar).
// Quiz
Você precisa gerar: 1) um resumo executivo, 2) uma lista de 5 perguntas, 3) um email de follow-up - tudo a partir do mesmo relatório. Qual a melhor abordagem?
- Decompor = dividir pra conquistar, mesma lógica de programação.
- 3 padrões úteis: pipeline sequencial, árvore (paralelo + consolidação), gerar-criticar-refinar.
- Decomponha quando a tarefa tem 3+ passos distintos ou quando você quer verificar uma etapa antes da próxima.
- Mantenha em um prompt quando a saída precisa ser coesa ou a divisão não traz ganho de qualidade.
- Custa mais chamadas e mais tokens. Vale quando a qualidade compensa.
Dica: a primeira coisa a tentar quando o modelo está errando uma tarefa complexa é dividir em 2 prompts. Em 80% dos casos, a qualidade dobra sem aumentar muito o custo.
No próximo nó, vamos ver o padrão mais útil de decomposição na prática: ReAct - quando o modelo precisa agir no mundo (buscar, calcular, consultar API) entre um passo e outro.