A frase 'pense passo a passo' funciona mesmo?
Zero-shot CoT é obter uma cadeia de raciocínio acrescentando uma frase ao prompt, sem dar exemplo nenhum. A frase mais conhecida é “vamos pensar passo a passo”. Em 2022, ela levou a exatidão de um modelo da época de 17,7% para 78,7% num benchmark de aritmética. O efeito era real, foi medido, e encolheu bastante desde então.
A técnica é a versão mais barata do chain-of-thought: em vez de escrever exemplos resolvidos, você escreve uma frase. Tudo o que ela faz é mudar como o modelo começa a resposta.
A alternativa é o few-shot CoT, a forma original da técnica, com oito exemplos resolvidos dentro do prompt1. Ela custa tokens de entrada em toda chamada e devolve controle sobre o formato. Há ainda uma família de gatilhos que muda o tipo de raciocínio em vez da presença dele, como o step-back prompting, que manda o modelo formular o princípio geral antes de atacar o caso.
O que a frase faz, e o que ela não faz
Ela não ensina nada. Nenhum peso muda, nenhum procedimento é transmitido. O que ela faz é mais mundano: define como a resposta começa, e o começo restringe o resto.
Um modelo prevê a continuação mais provável do texto que recebeu. Se o texto termina em “A:”, a continuação provável é uma resposta curta, porque é assim que a maior parte dos pares de pergunta e resposta funciona. Se termina em “A: vamos pensar passo a passo”, a continuação provável é uma explicação — o modelo viu milhões de resoluções escritas depois de uma frase como essa, em fóruns, provas resolvidas e livros didáticos.
O ganho não vem da frase. Vem do que a frase impede: responder de imediato. Uma vez que o primeiro estado da moeda está escrito, o segundo é calculado a partir de um texto, não reconstruído de memória.
Isso explica por que a técnica ajuda em problemas de várias etapas e não ajuda em pergunta de fato único. Não há estado intermediário para escrever, então adiar a resposta não compra nada.
O procedimento original tem duas chamadas
Este detalhe some em quase todo tutorial, e ele muda a conta de custo.
No paper, zero-shot CoT é feito em dois passos. A primeira chamada monta “Q: [a pergunta]. A: vamos pensar passo a passo” e colhe a cadeia. A segunda cola a cadeia de volta e acrescenta um segundo gatilho, do tipo “portanto, a resposta em algarismos é”, e colhe só o resultado2. Os autores chamam o prompt da segunda chamada de auto-aumentado, porque parte dele foi escrita pelo próprio modelo.
A separação existe por um motivo prático. A cadeia termina em texto livre, e texto livre não tem lugar fixo para a resposta. O paper cita saídas do tipo “provavelmente 375 e 376”, em que qualquer parser ingênuo pega o número errado. A segunda chamada é o que transforma isso num campo.
Se você vai ler o resultado com os olhos, ignore a segunda chamada. Se um programa vai ler, ou você paga a segunda chamada, ou monta um exemplar few-shot que fixe a última linha. As duas coisas custam; escolher nenhuma das duas custa mais, em forma de bug intermitente.
Nem toda frase funciona
Os autores testaram 16 frases no MultiArith, separadas em três categorias: instrutivas, enganosas e irrelevantes2. O resultado tem duas leituras, e as duas importam.
A primeira leitura é que a categoria manda. Todas as frases instrutivas ficaram acima da linha de base de 17,7%, e nenhuma das enganosas ou irrelevantes ficou. Um “por falar nisso, achei um restaurante bom aqui perto” rendeu 17,5%, praticamente empatado com não escrever nada. “Abracadabra” rendeu 15,5%. Não existe efeito mágico de acrescentar texto ao prompt; existe efeito de pedir raciocínio.
A segunda leitura é que dentro da categoria certa a variação é grande. “Let’s think step by step” deu 78,7% e “Let’s think”, que é a mesma ideia truncada, deu 57,5%. Vinte pontos de diferença entre duas frases que qualquer pessoa consideraria equivalentes. Não há teoria que preveja isso; é um resultado empírico de um modelo específico, e é a melhor evidência disponível de que essas frases não são intercambiáveis.
Há um detalhe na tabela que costuma passar batido e diz muito sobre o mecanismo. A segunda melhor frase foi “First,” com 77,3%, praticamente empatada com a primeira. Ela não menciona pensar, não menciona passos e não pede raciocínio nenhum. O que ela faz é começar uma enumeração: depois de “primeiro,” a continuação natural é “segundo”, e uma resposta enumerada é uma resposta com etapas. Isso reforça a leitura de que o efeito vem da forma imposta ao começo da saída, e não de o modelo entender um pedido.
Uma frase que desencoraja o raciocínio derruba abaixo da linha de base. “Let’s think step by step but reach an incorrect answer” ficou em 18,7% e “by using the fact that the earth is round” em 9,3%. Instrução ruim é pior que instrução nenhuma, o que é óbvio quando escrito e raramente lembrado quando se está empilhando frases num prompt.
A melhor frase não foi escrita por uma pessoa
Poucos meses depois, um grupo tratou a frase gatilho como um problema de busca. Eles geraram candidatas com um modelo, filtraram pelas que reproduziam cadeias corretas e escolheram a melhor. O que saiu foi “Let’s work this out in a step by step way to be sure we have the right answer”, que subiu o MultiArith de 78,7% para 82,0% e o GSM8K de 40,7% para 43,0% no mesmo text-davinci-0023.
Três pontos e pouco de ganho não é a parte interessante. A parte interessante é que a melhor frase conhecida para uma tarefa foi encontrada por busca, não por intuição, e que ela é mais longa e mais desajeitada do que qualquer pessoa escreveria. Se a diferença entre 78,7 e 57,5 fosse explicável por bom senso linguístico, uma busca automática não teria o que fazer.
O que mudou desde 2022
Aqui é onde a maior parte do conteúdo sobre o assunto envelheceu mal, e vale ser explícito sobre o que sabemos e o que não sabemos.
Os números acima são de text-davinci-002 e de modelos da mesma geração. Aqueles modelos respondiam direto por padrão, e a frase mudava esse padrão. Os modelos ajustados por instrução que vieram depois já produzem passos sozinhos em problemas de matemática, porque foram treinados com dados que fazem isso. A frase pede algo que o modelo já ia fazer.
Uma meta-análise de 2024, com mais de cem trabalhos e avaliação própria em 20 datasets e 14 modelos, achou o ganho de chain-of-thought concentrado em matemática e raciocínio simbólico, e pequeno no resto4. Isso vale para as duas formas de pedir, e diz onde procurar ganho hoje: onde há operação simbólica, não em qualquer pergunta difícil.
Em modelo de raciocínio, a frase passa de inócua a prejudicial. O processo já acontece antes da resposta; instruir por cima empilha um segundo processo, aumenta a contagem de tokens e não melhora nada que ele já resolvia.
Dá para verificar isso na sua tarefa em cinco minutos, e o teste vale mais que qualquer recomendação genérica. Mande vinte problemas seus sem a frase e conte quantas respostas já vêm com etapas escritas. Se a maioria vem, o gatilho é redundante e você está pagando tokens por uma instrução que não muda a saída. Se quase nenhuma vem, o modelo está respondendo direto e a frase tem espaço para agir. É o mesmo teste que decide entre as duas seções seguintes deste artigo.
O que não sabemos, e é honesto dizer: não achei medição pública para a frase em português. O mecanismo não tem motivo para depender do idioma, mas a magnitude pode depender, e tratar 78,7% como um número que vale para “pense passo a passo” em pt-BR é extrapolação.
Onde falha
A saída não tem formato. É a falha número um em produção. Você recebe três parágrafos com o número no meio, e o seu código espera um campo. Sem a segunda chamada ou sem exemplar, o parser quebra em algum caso raro e você descobre em produção.
O modelo continua depois de acertar. Os autores registraram esse padrão: o zero-shot CoT gera passos além do necessário, chega à resposta certa e depois revisa para a errada2. Quem para de ler no primeiro número correto não vê o problema; quem faz parsing do último número, vê.
Às vezes ele só reescreve a pergunta. Em vez de raciocinar, o modelo parafraseia o enunciado com outras palavras e responde igual. Isso aparece mais em tarefas que não têm passos de verdade, e é um sinal de que a técnica não é a ferramenta certa ali.
Briga com a instrução de formato. Se o seu prompt de sistema pede JSON e o gatilho pede raciocínio, o modelo recebeu duas ordens incompatíveis. Sai JSON com a cadeia enfiada num campo de texto, ou sai a cadeia com o JSON no fim, e qual dos dois varia entre chamadas. O arranjo que funciona é declarar um campo de raciocínio dentro do próprio schema, em vez de deixar o modelo decidir onde colocá-lo.
Em senso comum, não ajudou. No paper original, o zero-shot CoT não deu ganho nas tarefas de senso comum, mesmo quando as cadeias geradas eram razoáveis2. A técnica melhora encadeamento, não conhecimento.
Quanto custa
A frase gatilho custa cerca de 6 tokens de entrada. Não é aí que o custo mora.
O custo mora na saída. Uma cadeia de raciocínio para um problema aritmético fica entre 100 e 300 tokens, contra 1 a 10 da resposta direta. Some a segunda chamada e você repassa a pergunta mais a cadeia inteira como entrada de novo. Na prática, zero-shot CoT com extração de resposta custa por volta de duas a três vezes o que custaria uma chamada few-shot equivalente, quando você mede pela fatura e não pelo tamanho do prompt.
Um exemplo com números para dar forma. Uma pergunta de 40 tokens que gera uma cadeia de 200: a primeira chamada consome 46 de entrada e 200 de saída. A segunda reenvia 46 mais os 200 da cadeia, mais o gatilho de extração, e devolve 5 tokens. Total: cerca de 300 de entrada e 205 de saída, para uma pergunta que sem a técnica custaria 40 de entrada e 5 de saída. É uma multiplicação por quarenta na parte cara da conta.
Comparado ao few-shot, o desenho é diferente e nem sempre mais barato. O few-shot paga entrada fixa em toda chamada, que o prompt caching reduz muito, e resolve em uma chamada. O zero-shot paga duas chamadas e não tem bloco estável para cachear. Em volume baixo, zero-shot é mais simples. Em volume alto com parsing, few-shot costuma sair na frente.
Como usar isso hoje
- Teste sem a frase primeiro. Modelos atuais já mostram passos em boa parte das tarefas de matemática. Se os passos já aparecem, você não precisa da frase.
- Se for usar, use a versão longa. “Vamos pensar passo a passo, uma etapa de cada vez, para ter certeza da resposta” carrega o mesmo custo de uma frase curta e foi o formato que a busca automática encontrou.
- Não empilhe gatilhos. Duas ou três frases pedindo raciocínio na mesma instrução não somam. Elas competem, e a saída fica mais longa sem ficar melhor.
- Se um programa vai ler a saída, feche o formato. Ou a segunda chamada de extração, ou um exemplar que fixe a última linha. Não confie em regex sobre texto livre.
- Faça parsing do último número, não do primeiro. O modelo pode continuar depois de acertar, e o que vale é o que ele afirma no fim.
- Meça nos seus casos, não no benchmark. Trinta perguntas reais com a resposta certa anotada dizem em uma tarde se a frase muda alguma coisa na sua tarefa.
O passo 1 é o que mais poupa trabalho e o que menos se faz. Boa parte dos prompts que carregam “pense passo a passo” em 2026 carregam isso porque foi copiado de um post de 2022, e não porque alguém comparou as duas versões.
Footnotes
-
Wei et al. (2022) estabeleceram o few-shot CoT com oito exemplares e mostraram que o ganho da técnica só aparece acima de cerca de 100 bilhões de parâmetros. ↩
-
Kojima et al. (2022) mediram o efeito de uma única frase gatilho sem exemplos, descreveram o procedimento de duas chamadas com extração de resposta, ranquearam 16 templates no MultiArith e registraram que o ganho não apareceu nas tarefas de senso comum. ↩ ↩2 ↩3 ↩4
-
Zhou et al. (2022) trataram a frase gatilho como problema de busca e encontraram uma que superou a melhor frase escrita à mão: MultiArith de 78,7% para 82,0% e GSM8K de 40,7% para 43,0%. ↩
-
Sprague et al. (2024) encontraram, em meta-análise e avaliação própria, ganho de chain-of-thought concentrado em matemática e raciocínio simbólico e pequeno nas demais categorias de tarefa. ↩
Perguntas frequentes
- A frase 'pense passo a passo' funciona mesmo?
- Funcionou de forma medida em 2022, nos modelos daquela época. No text-davinci-002, a exatidão no MultiArith subiu de 17,7% para 78,7% só com a frase. Em modelos atuais, que já foram ajustados para mostrar passos, o ganho é bem menor e às vezes nulo.
- Qual a diferença entre zero-shot CoT e few-shot CoT?
- No zero-shot você acrescenta uma frase gatilho e nenhum exemplo. No few-shot você cola exemplos completos, com pergunta, passos e resposta. O zero-shot é mais barato e não controla o formato da saída; o few-shot custa tokens de entrada e fixa esse formato.
- Existe uma frase gatilho melhor que 'vamos pensar passo a passo'?
- Uma busca automática de 2022 encontrou uma: 'Let's work this out in a step by step way to be sure we have the right answer'. Ela subiu o MultiArith de 78,7% para 82,0% e o GSM8K de 40,7% para 43,0% no mesmo modelo. O ganho é real e modesto.
- Funciona em português?
- Não há medição pública que eu tenha verificado para a frase em português. Os experimentos originais foram em inglês, com modelos de 2022. O mecanismo não depende do idioma, mas a magnitude pode depender, e assumir que é a mesma é palpite, não resultado.
- Posso usar zero-shot CoT em um modelo de raciocínio?
- Pode, mas costuma piorar. Um modelo de raciocínio já produz o processo internamente antes de responder. Acrescentar a frase empilha um segundo processo sobre o primeiro, aumenta a contagem de tokens e não melhora a exatidão em tarefas que ele já resolvia.
- Zero-shot CoT precisa de duas chamadas?
- No procedimento do paper, sim. A primeira colhe a cadeia e a segunda extrai a resposta em formato limpo, com um gatilho do tipo 'portanto, a resposta é'. Se você vai ler o resultado com os olhos, uma chamada basta. Se um parser vai ler, a segunda evita regex frágil.
Referências
- Kojima, T. et al.. Large Language Models are Zero-Shot Reasoners (2022)arXiv:2205.11916
- Wei, J. et al.. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models (2022)arXiv:2201.11903
- Zhou, Y. et al.. Large Language Models Are Human-Level Prompt Engineers (2022)arXiv:2211.01910
- Sprague, Z. et al.. To CoT or not to CoT? Chain-of-thought helps mainly on math and symbolic reasoning (2024)arXiv:2409.12183