← Últimos artigos
🤖 machine learning

Is Code Better Than Language for Algorithmic Reasoning

Este artigo demonstra que, para modelos de linguagem aumentados por ferramentas, a vantagem de desempenho do código sobre a linguagem natural no raciocínio algorítmico decorre primordialmente da execução externa confiável, e não da própria representação de código intermediária, uma vez que o raciocínio simulado por código não produz ganho significativo sobre o raciocínio em linguagem natural.

Autores originais: Terry Tong, Yu Feng, Surbhi Goel, Dan Roth

Publicado 2026-06-16
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Terry Tong, Yu Feng, Surbhi Goel, Dan Roth

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está tentando resolver um enigma matemático muito difícil. Você tem duas formas principais de obter a resposta:

  1. O Método do "Falante": Você pede a um assistente inteligente para pensar em voz alta em inglês claro, passo a passo, e então lhe diga a resposta.
  2. O Método do "Programador": Você pede ao mesmo assistente para escrever um programa de computador para resolver o enigma e, então, você deixa um computador realmente executar esse programa para obter a resposta.

Por muito tempo, as pessoas notaram que o método do "Programador" geralmente funcionava muito melhor. Mas ninguém tinha certeza do porquê. Seria porque escrever código força o assistente a pensar com mais clareza? Ou seria porque deixar um computador executar o código é apenas mais confiável do que confiar no assistente para fazer as contas em sua cabeça?

Este artigo estabelece um experimento inteligente para descobrir qual fator é o verdadeiro herói.

O Experimento das Três Rotas

Os autores criaram uma "rodovia de três faixas" para testar isso, usando um benchmark de 40 tarefas de enigmas algorítmicos (como ordenar listas, encontrar caminhos ou fazer matemática complexa).

  • Rota 1 (O Falante Puro): O assistente resolve o problema inteiramente em inglês. Ele pensa, escreve um parágrafo de raciocínio e dá a resposta.
    • Resultado: Ele acertou cerca de 17% das respostas.
  • Rota 2 (O Programador Falso): O assistente escreve o código (como Python), mas finge executá-lo. Em vez de entregar o código para um computador, o assistente lê seu próprio código e simula as etapas em sua mente, escrevendo o resultado em inglês.
    • Resultado: Ele acertou cerca de 17% das respostas.
    • A Grande Revelação: É quase exatamente o mesmo que a Rota 1. Escrever o código não ajudou o assistente a pensar melhor; apenas mudou o formato de seus pensamentos.
  • Rota 3 (O Programador Real): O assistente escreve o exato mesmo código da Rota 2, mas desta vez, ele entrega o código a um computador real (um tempo de execução Python) para executá-lo.
    • Resultado: Ele acertou cerca de 49% das respostas.

O "Porquê" por trás da Magia

O artigo usa algumas formas criativas de explicar esses resultados:

1. A Analogia da "Tradução" (Representação vs. Execução)
Pense no "Trace" (os passos de raciocínio) como uma receita.

  • A Rota 1 é uma receita escrita em uma história longa e florida.
  • A Rota 2 é a mesma receita, mas escrita como uma lista estrita e estruturada.
  • A Rota 3 é essa lista estrita, mas em vez de um chef humano tentar lê-la e adivinhar o resultado, você a entrega a um chef robô que segue as instruções perfeitamente.
    O experimento mostrou que mudar a receita de uma história (inglês) para uma lista (código) não tornou o chef humano mais inteligente. O chef humano (o LLM) cometeu os mesmos erros tanto lendo a história quanto a lista. O salto massivo de desempenho só aconteceu quando o chef robô (o executor de computador) assumiu o controle.

2. A Teoria do "Ruído" (Nuisance)
Os autores argumentam que a linguagem natural é cheia de "ruído". Você pode dizer a mesma coisa de mil maneiras diferentes ("some os números", "some-os", "junte-os"). Essa variedade extra confunde o modelo. O código é mais estrito; possui menos maneiras de dizer a mesma coisa. No entanto, o artigo prova que, embora o código seja mais "limpo", o modelo ainda não consegue usar essa limpeza para resolver problemas matemáticos por conta própria. O código não dá magicamente novas habilidades matemáticas ao modelo.

3. O Teste de "Recuperação"
Os autores observaram os casos em que o computador acertou a resposta, mas o assistente humano (simulando o código) errou. Isso aconteceu 33% das vezes. Inversamente, eles observaram casos em que o computador falhou (talvez o código estivesse quebrado), mas o assistente humano adivinhou a resposta correta de qualquer maneira. Isso ocorreu apenas 1,6% das vezes. Isso prova que o computador é um "executor" muito mais confiável do que o assistente humano é em "simular" o código.

A Conclusão Final

O artigo conclui que o Código não é melhor que a Linguagem porque é uma forma melhor de pensar.

A vantagem de usar código não é que ele força a IA a ser mais inteligente. A vantagem é que o Código permite que a IA transfira o trabalho para uma máquina que não comete erros matemáticos.

  • O Gargalo: O problema não é que a IA não consiga escrever um bom código; é que a IA é ruim em verificar seu próprio trabalho ou fazer as contas em sua cabeça.
  • A Solução: O verdadeiro poder vem da ferramenta (o computador executando o código), não da linguagem (o código em si).

Em resumo: Se você quer que uma IA resolva um problema matemático difícil, não peça apenas para ela escrever código e espere que ela descubra a resposta. Peça para ela escrever o código e, em seguida, deixe um computador realmente executá-lo. É aí que a mágica acontece.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →