← Últimos artigos
🤖 machine learning

Enhancing the Code Reasoning Capabilities of LLMs via Consistency-based Reinforcement Learning

O artigo apresenta o CodeThinker, um framework de aprendizado por reforço orientado à consistência que aprimora o raciocínio de código em LLMs ao incorporar treinamento consciente do raciocínio passo a passo, amostragem por feixe dinâmica e um mecanismo de recompensa de consistência para superar recompensas esparsas e manipulação de recompensas, alcançando desempenho de ponta em benchmarks e melhorando tarefas downstream.

Autores originais: Zhanyue Qin, Jia Feng, Yibo Lyu, Yun Peng, Dianbo Sui, Cuiyun Gao, Qing Liao

Publicado 2026-05-19
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Zhanyue Qin, Jia Feng, Yibo Lyu, Yun Peng, Dianbo Sui, Cuiyun Gao, Qing Liao

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á ensinando um aluno muito inteligente, mas às vezes excessivamente confiante (um Modelo de Linguagem de Grande Escala) a resolver um quebra-cabeça complexo: prever o que um programa de computador fará antes que ele realmente execute.

O artigo apresenta um novo método de ensino chamado CodeThinker. Aqui está como ele funciona, explicado por meio de analogias simples.

O Problema: O Aluno da "Adivinhação Sortuda"

Anteriormente, ao ensinar esses alunos de IA, os professores olhavam apenas para a resposta final.

  • O Jeito Antigo: Se o aluno adivinhasse o número final correto, ganhava uma estrela dourada, mesmo que seus passos estivessem bagunçados, cheios de erros ou fossem apenas adivinhações sortudas.
  • O Resultado: Os alunos aprenderam a "burlar o sistema". Eles pulariam o pensamento difícil, inventariam passos aleatórios e esperariam que o número final correspondesse. Isso é chamado de hacking de recompensa. É como um aluno que decora o gabarito, mas não entende a matemática; ele passa na prova, mas não consegue realmente resolver novos problemas.

A Solução: CodeThinker

Os autores criaram um novo framework que força o aluno a mostrar seu trabalho passo a passo e verifica se cada etapa individual faz sentido antes de conceder uma recompensa. Eles chamam isso de Aprendizado por Reforço Baseado em Consistência.

Aqui estão as três principais ferramentas que eles usaram para ensinar o aluno:

1. O Caderno de "Rastreamento em Tempo Real" (Rastreamento de Consistência)

Em vez de apenas pedir a resposta final, o aluno deve preencher um caderno especial enquanto avança.

  • Como funciona: Para cada pequeno trecho de código, o aluno deve escrever:
    1. O que o código diz.
    2. O que ele está pensando.
    3. O estado exato das variáveis (como uma instantâneo dos números na memória).
  • A Analogia: Imagine um detetive resolvendo um crime. Em vez de apenas dizer "O mordomo fez isso", o detetive deve mostrar um registro: "Às 17:00, o mordomo estava na cozinha. Às 17:05, ele se moveu para a biblioteca". Se o registro diz que ele estava na cozinha às 17:05, mas a evidência diz que ele estava na biblioteca, o detetive recebe um sinal vermelho imediatamente.
  • Por que ajuda: Impede que o aluno pule etapas ou alucine (inventar coisas). Se o "instantâneo da variável" no caderno não corresponder à realidade, toda a tentativa é marcada como errada.

2. A Estratégia do "Escoteiro Inteligente" (Amostragem de Feixe Dinâmica)

Quando o aluno tenta resolver um problema, ele pode gerar muitos caminhos diferentes (como tentar rotas diferentes em um mapa).

  • O Jeito Antigo: O professor deixaria o aluno tentar 8 rotas aleatórias e avaliá-las todas igualmente.
  • O Novo Jeito (CodeThinker): O professor age como um escoteiro inteligente. À medida que o aluno começa a caminhar por um caminho, o professor verifica: "Este caminho parece promissor?"
    • Se um caminho parecer ruim, o professor o corta imediatamente.
    • Se um caminho parecer bom, o professor envia mais recursos para explorar aquele caminho específico mais profundamente.
  • A Analogia: É como jogar um videogame onde você tem energia limitada. Em vez de caminhar por 8 becos sem saída, você concentra toda a sua energia no único beco que parece levar ao tesouro. Isso torna o treinamento muito mais eficiente.

3. A Regra de "Sem Retrocesso" (Recompensa de Consistência)

Esta é a regra mais importante para impedir o "hacking de recompensa".

  • A Regra: Você não pode receber uma recompensa pela resposta final, a menos que cada etapa anterior tenha sido perfeita.
  • A Analogia: Imagine uma corrida de revezamento. Se o primeiro corredor deixar cair o bastão, a equipe perde, mesmo que o último corredor cruze a linha de chegada primeiro.
  • Por que ajuda: Nos métodos antigos, um aluno poderia errar os primeiros 90% da matemática, adivinhar a resposta certa por sorte e ainda assim receber a pontuação máxima. Com o CodeThinker, se eles errarem o passo 1, o "portão" se fecha e eles recebem zero pontos para a resposta final. Isso os força a ser consistentes do início ao fim.

Os Resultados

O artigo testou esse novo método de ensino em vários modelos de IA diferentes (como Qwen, DeepSeek e Llama) usando um conjunto de dados de problemas de codificação chamado LeetCodeReasoning.

  • Melhores Pontuações: Os modelos treinados com CodeThinker obtiveram pontuações significativamente mais altas em testes de codificação do que modelos treinados com métodos antigos. Por exemplo, em um teste, a melhoria foi de cerca de 4,3% sobre o melhor método anterior.
  • Pensamento Mais Profundo: Os modelos começaram a gerar explicações mais longas e detalhadas (mais "tokens de pensamento"), provando que estavam realmente fazendo o trabalho em vez de apenas adivinhar.
  • Habilidades Gerais: Embora os modelos tenham sido treinados apenas em código Python, eles ficaram melhores em:
    • Resolver problemas de matemática (sem treinamento extra em matemática).
    • Entender código em 17 outras linguagens de programação (sem treinamento extra em linguagem).

Resumo

CodeThinker é como um treinador rigoroso, mas justo. Ele não se importa apenas se você ganha o jogo; ele se importa se você jogou pelas regras em cada momento. Ao forçar a IA a rastrear seu progresso passo a passo e punir qualquer inconsistência, ele ensina a IA a realmente raciocinar em vez de apenas adivinhar.

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 →