ChatGPT faz o Advent of Code 2023

O Advent of Code 2023 está sendo usado como um benchmark informal para avaliar quão bem grandes modelos de linguagem como o ChatGPT conseguem resolver problemas novos de programação, com muitos observando que os desafios travam esses modelos muito mais do que em anos anteriores. Os comentaristas debatem se isso reflete um design deliberadamente “hostil a LLMs” (o que o criador nega explicitamente), limites inerentes às arquiteturas atuais ou simplesmente a ausência de dados de treinamento para essas tarefas únicas. A discussão se amplia para questões sobre o quanto LLMs realmente ajudam programadores — especialmente em debugging e raciocínio —, até onde a escala pode levá-los e se eles mudam de fato o fluxo de desenvolvimento cotidiano em vez de substituir a resolução humana de problemas.

O AoC 2023 Foi Feito Deliberadamente para Resistir a LLMs?

  • Vários comentaristas inicialmente presumiram que os puzzles foram criados para confundir LLMs (condições extras, formulação traiçoeira, necessidade de inspecionar entradas).
  • Outros apontam que o autor dos puzzles negou explicitamente qualquer influência de LLMs e descreveu o mesmo processo dos anos anteriores.
  • Alguns conciliam isso dizendo que o autor pode, sem querer, favorecer estilos difíceis para LLMs, ou que “adverso à IA” pode simplesmente significar “problemas genuinamente novos, que não estão no conjunto de treinamento”.

Características dos Puzzles e Idiossincrasias da Entrada

  • Várias pessoas observam que mais problemas do que o normal se beneficiaram de estudar a estrutura específica da entrada ou casos especiais.
  • Exemplos incluem tarefas parecidas com circuitos, divididas em subgrafos mais fáceis, e problemas que ficam muito mais simples do que o caso geral quando se notam peculiaridades da entrada.
  • Outros dizem que esses truques dependentes da entrada já existiam em anos anteriores também.

Desempenho de LLMs no AoC e em Programação

  • Alguns relatam o GPT-4 falhando até nos primeiros dias de 2023 sem muita orientação, especialmente em parsing sutil.
  • Outros mostram que o GPT-4 consegue adicionar logs de depuração, interpretar saídas e corrigir iterativamente o próprio código quando recebe um interpretador e orientação clara.
  • Há discordância sobre debugging: alguns dizem que as habilidades de depuração são “inexistentes”, outros afirmam que ele é forte se você pedir diffs, diagnósticos ou ajuda focada em vez de reescritas completas.
  • O AoC é visto como um forte benchmark de raciocínio geral, mas não necessariamente representativo da programação cotidiana de negócios.

Debates sobre Produtividade e Benchmarking

  • Muitos usam LLMs para acelerar boilerplate, regexes, esclarecimento de enunciados e esboços iniciais.
  • Um teste real sugerido: se um programador mediano com GPT-4 supera outro igualmente habilidoso sem ele, e por qual margem.
  • Fazem-se comparações com outros fatores de produtividade (escolha de linguagem, IDEs, destaque de sintaxe).

Escala, Dados e Preocupações com “IA no Pico”

  • Alguns preveem ganhos substanciais no futuro com mais computação, dados e técnicas (MoE, dados sintéticos).
  • Outros argumentam que estamos perto dos limites de dados e que LLMs são, em essência, imitadores de padrões, não um caminho para “inteligência verdadeira” ou senciência.
  • Há preocupação com overfitting e com modelos simplesmente regurgitando código existente do AoC e de tutoriais, em vez de raciocinar a partir de primeiros princípios.

Debugging e Educação

  • Um fio paralelo critica a educação em CS por enfatizar demais código perfeito e ensinar pouco debugging.
  • O AoC (e o uso de LLMs) expõem o quanto debugging e raciocínio sobre código defeituoso são realmente cruciais.