Antes de qualquer explicação neste artigo é válido ressaltar que a técnica Chain-of-Thought ou In-Context-Learning são úteis em contextos bastante específicos, como modelos de linguagem pequenos. Diante disso, LLMs de ponta já possuem respostas adequadas com apenas um pouco de instrução e clareza, pois são treinados para ‘raciocinar’ naturalmente (um tipo de CoT automático). Portanto, a técnica CoT é mais útil para SLMs (Small Language Models) ou LLMs mais antigos, que por serem mais simples, costumam se beneficiar dessa abordagem estruturada.

Clique aqui para abrir o código deste artigo no Google Colab

O que é Chain-of-Thought?

Chain-of-Thought (CoT) ou “Cadeia de Pensamento” é uma técnica onde o seu prompt instrui o modelo a raciocinar explicitamente antes de dar uma resposta final.

Existem duas formas principais de aplicar CoT:

CoT Padrão: Você simplesmente pede ao modelo para pensar passo a passo, sem especificar quais passos seguir. Exemplos de instruções:

  • “Vamos pensar passo a passo”
  • “Explique seu raciocínio passo a passo antes de dar a resposta final”
  • “Mostre cada passo do raciocínio até dar a resposta final”

CoT Guiado: Você fornece um esboço dos passos específicos que o modelo deve seguir. A vantagem é ter mais controle sobre o processo, mas a desvantagem é que, se sua lógica estiver errada, o modelo seguirá o erro fielmente.

Vamos ver exemplos práticos de ambas as abordagens usando o modelo gemma-3-1b-it.

Exemplo 1: CoT Guiado - Problema Matemático

Sem CoT

Um restaurante tem 23 mesas. Cada mesa pode acomodar 4 pessoas. 
Se 78 pessoas chegarem, quantas mesas ficarão vazias?

Resposta do modelo:

Vamos calcular quantas mesas são necessárias para acomodar 78 pessoas e, em seguida, subtrair o número de mesas utilizadas.

* **Número total de mesas:** 23
* **Capacidade de cada mesa:** 4 pessoas
* **Total de pessoas que podem ser acomodadas:** 23 mesas * 4 pessoas/mesa = 92 pessoas

Agora, vamos calcular quantas mesas estão vazias:

* **Número de mesas vazias:** 23 mesas - 78 pessoas = -55

Como o resultado é negativo, isso significa que há mais pessoas do que mesas disponíveis. No entanto, a pergunta pede quantas mesas ficarão vazias, então vamos calcular o número de mesas que *não* serão utilizadas.

* **Número de mesas utilizadas:** 78 pessoas / 4 pessoas/mesa = 19 mesas
* **Número de mesas vazias:** 23 mesas - 19 mesas = 4 mesas

Portanto, haverá 4 mesas vazias.

**Resposta:** 4 mesas ficarão vazias.

O modelo tenta resolver sozinho mas comete erros de lógica no raciocínio.

Com CoT

Um restaurante tem 23 mesas. Cada mesa pode acomodar 4 pessoas. 
Se 78 pessoas chegarem, quantas mesas ficarão vazias? 
Siga o passo a passo antes de responder:
- Calcule o número total de assentos multiplicando quant. de mesas pela quant. de assentos por mesa
- Subtraia do total de assentos o número de pessoas que chegaram e ocuparam lugar no restaurante.
- Divida o número de assentos restantes pelo número de assentos por mesa
- Se o resultado não der exato, apresente apenas o número inteiro de mesas vazias.

Resposta do modelo

Vamos calcular passo a passo:

1. **Calcular o número total de assentos:**
   * Número de mesas: 23
   * Assentos por mesa: 4
   * Número total de assentos: 23 * 4 = 92 assentos

2. **Subtrair o número de pessoas que chegaram:**
   * Número de pessoas: 78
   * Assentos ocupados: 92
   * Assentos vazios: 92 - 78 = 14 assentos

3. **Dividir o número de assentos restantes pelo número de assentos por mesa:**
   * Assentos restantes: 14
   * Assentos por mesa: 4
   * Número de mesas vazias: 14 / 4 = 3,5

4. **Arredondar para o número inteiro de mesas vazias:**
   * Como não é possível ter metade de uma mesa, arredondamos para o número inteiro mais próximo.
   * Número de mesas vazias: 3

**Resposta:** Ficarão 3 mesas vazias.

Com passos pré-definidos, o modelo segue a lógica correta e chega à resposta certa.

Exemplo 2: CoT Padrão - Problema de Probabilidade

Sem CoT

Uma família tem dois filhos. Você sabe que pelo menos 
um deles é menino. Qual a probabilidade de ambos serem meninos?

Resposta do modelo:

Essa é uma variação clássica do problema do "pai e filho". A probabilidade de ambos serem meninos é de 1/2 ou 50%.

**Explicação:**

A probabilidade de um filho ser menino é de 1/2, independentemente de qual filho é o menino.  Como a família tem dois filhos, a probabilidade de ambos serem meninos é simplesmente a probabilidade de um filho ser menino, que é 1/2.

**Em resumo:**

*   **Probabilidade de ambos serem meninos:** 1/2 (ou 50%)

Espero que isso ajude! Se tiver mais perguntas, pode perguntar.

O modelo fornece uma resposta rápida mas incorreta, ignorando as possibilidades condicionais.

Com CoT

Uma família tem dois filhos. Você sabe que pelo menos 
um deles é menino. Qual a probabilidade de ambos serem meninos? 
Analise todas as possibilidades e responda.

Resposta do modelo

Vamos analisar essa questão de forma lógica e calcular a probabilidade.

**Entendendo o Problema**

Estamos sendo informado que em uma família, há dois filhos. Sabemos que pelo menos um deles é menino. Queremos descobrir a probabilidade de ambos serem meninos.

**Cálculo da Probabilidade**

*   **Total de possibilidades:**  Existem 2! (2 fatorial) possibilidades para a prole:
    *   Menino, Menino (MM)
    *   Menino, Menina (MM)
    *   Menina, Menino (MM)
    *   Menina, Menina (MM)

    Portanto, o total de combinações possíveis é 4.

*   **Probabilidade de ambos serem meninos:**  Se o menos velho é menino, então o mais velho deve ser menino.  A probabilidade de ambos serem meninos é:

    *   1/3

**Resposta**

A probabilidade de ambos os filhos serem meninos é de 1/3 ou aproximadamente 33,33%.

**Em resumo:**

A probabilidade de ambos os filhos serem meninos é de 1/3.

Ao instruir o modelo a analisar todas as possibilidades, ele identifica corretamente as combinações válidas.

Exemplo 3: CoT Padrão - Problema Matemático

Sem CoT

Maria tem 3 vezes a idade de João. Daqui a 10 anos, 
ela terá o dobro da idade dele. Quantos anos João tem hoje?

Resposta do modelo:

Vamos resolver este problema passo a passo:

**1. Defina as variáveis:**

*   Seja 'x' a idade atual de João.
*   A idade de Maria é 3x.

**2. Defina a informação dada:**

*   Daqui a 10 anos, João terá 10x anos.
*   Maria terá 3x + 10 * 3x = 3x + 30x = 33x anos.

**3. Use a informação sobre a idade em 10 anos:**

*   Em 10 anos, Maria terá o dobro da idade de João.
*   Portanto, 33x = 2 * (10x)
*   33x = 20x
*   33x - 20x = 0
*   13x = 0
*   x = 0

**Erro na lógica:** A informação de que Maria terá o dobro da idade de João em 10 anos é um pouco confusa. A forma correta de resolver o problema é:

**1. Defina as variáveis:**
...
*   13x = 0
*   x = 0

**Resposta:** João tem 0 anos.

O modelo tenta montar equações mas se perde na lógica, chegando a um resultado impossível.

Com CoT

Maria tem 3 vezes a idade de João. Daqui a 10 anos, 
ela terá o dobro da idade dele. Quantos anos João tem hoje? 
Monte as equações passo a passo.

Resposta do modelo:

Vamos resolver este problema passo a passo:

**1. Definir as variáveis:**

* Seja 'x' a idade atual de João.
* A idade atual de Maria é 3x.

**2. Montar a equação para daqui a 10 anos:**

* Daqui a 10 anos, a idade de João será x + 10.
* A idade de Maria daqui a 10 anos será 3x + 10.
* Sabemos que daqui a 10 anos, Maria terá o dobro da idade de João. Então:
   3x + 10 = 2(x + 10)

**3. Resolver a equação:**

* Expandir a equação:
   3x + 10 = 2x + 20
* Subtrair 2x de ambos os lados:
   x + 10 = 20
* Subtrair 10 de ambos os lados:
   x = 10

**4. Encontrar a idade de João:**

* João tem x anos, que é 10 anos.

**Resposta:** João tem 10 anos hoje.

Com a instrução para montar equações passo a passo, o modelo organiza o raciocínio corretamente.

Conclusão

É importante lembrar que CoT é mais útil para modelos menores ou tarefas específicas. LLMs modernos de grande porte frequentemente já incorporam raciocínio estruturado sem necessidade de prompts elaborados. A recomendação prática é testar suas prompts com e sem CoT para identificar quando a técnica realmente agrega valor ao seu caso de uso específico.