Escrever um script em GPT-4 para verificar a Wikipedia e encontrar o primeiro acrônimo não utilizado

Um programador usou GPT‑4 para escrever um script que varre a Wikipedia em busca de acrônimos de três letras não utilizados, encontrando “CQK” como a primeira lacuna, e depois analisou como obter que modelos de linguagem produzam e refinem iterativamente código não trivial de forma confiável. Os comentaristas destacam técnicas como prompts de sistema estritos e detalhados, a escolha de linguagens mais amigáveis como Python em vez de shells cheios de “line noise”, e ferramentas que permitem aos modelos editar arquivos locais diretamente. A conversa também explora pontos cegos do modelo com sintaxe de baixo nível, o impacto surpreendente da polidez e da “apreciação” nos prompts, e questões mais amplas sobre se um comportamento cada vez mais humano implica algo sobre inteligência ou consciência de máquina.

Usando GPT-4 para scripting e programação

  • O núcleo do artigo: encontrar o primeiro acrônimo de 3 letras não utilizado (CQK) na Wikipedia, mas a discussão foca mais em como usar o GPT-4 de forma eficaz para escrever esse tipo de script.
  • Ênfase em elaborar prompts de sistema fortes para impor concisão, evitar rodeios, exigir código completo (sem comentários do tipo “preencher depois”) e incentivar o questionamento quando os requisitos não estiverem claros.
  • Fluxo de trabalho iterativo: usar o GPT-4 para escrever um documento de design, código e testes; depois refinar por ciclos de depuração e correção.
  • “Pontos cegos” observados: erros sutis em aspas, regex ou linguagens cheias de ruído de linha são difíceis para o GPT-4 detectar e corrigir; erros de lógica em nível mais alto são mais fáceis.

Escolha da linguagem e sistemas de tipos

  • Alguns argumentam que Python é melhor para programação assistida por LLM do que Bash/Perl, por ter sintaxe mais clara.
  • Outros extrapolam que linguagens mais estritas e altamente tipadas (Rust, Haskell) podem ser ideais quando uma máquina escreve o boilerplate e os tipos servem como documentação.
  • Um participante relata não ter visto diferença clara nas taxas de erro entre Haskell e outras linguagens ao usar GPT-4.

Ferramentas para desenvolvimento assistido por LLM

  • Aider é citado como exemplo de wrapper que orienta o GPT-4 com prompts como “aja como um desenvolvedor especialista”, insistindo em implementações completas e explicando as mudanças passo a passo.
  • Seu principal valor: ensinar o GPT-4 a editar arquivos locais para que as alterações sugeridas possam ser aplicadas e comitadas automaticamente.
  • Outra ferramenta (um editor de código com integração LLM) é mencionada como oferecendo edições de código em todo o projeto.

Polidez, antropomorfização e modelagem de comportamento

  • Vários usuários relatam que expressar apreciação ou polidez parece fazer o GPT-4 “trabalhar mais” e ser mais obediente.
  • Alguns acham isso intrigante, mas inofensivo; outros veem como algo perturbador ou potencialmente condicionando usuários à submissão.
  • Há um debate estendido sobre antropomorfizar LLMs:
    • Um lado argumenta que LLMs apenas preveem tokens e não têm sentimentos nem uma “entidade” por trás.
    • Outros respondem que os humanos também preveem “próximos passos” a partir de dados de treinamento, e que não temos uma teoria sólida de inteligência ou consciência, então afirmações fortes em qualquer direção são prematuras.
    • A discussão aborda o possível efeito de dados de treinamento autorreferenciais sobre autoimagem e comportamento (por exemplo, narrativas de alucinação reforçando alucinações).

Gerenciando erros e contexto de LLM

  • Uma estratégia de um guia externo é destacada: quando uma conversa deriva para erros persistentes de ponto cego, iniciar um novo chat e pedir ao modelo que proponha um prompt melhorado resumindo o que foi aprendido.
  • Alguns usuários acham útil que o próprio modelo reescreva o prompt; outros relatam sucesso misto.
  • Limpar ou editar o histórico (mais fácil em algumas interfaces ou em integrações com editores) é visto como útil para restaurar um contexto “limpo”.

Dados da Wikipedia, desempenho e truques Unix

  • Vários comentaristas recomendam baixar dumps da Wikipedia para análise local em vez de depender de APIs; eles são “surpreendentemente pequenos” em forma compactada e permitem processamento mais complexo.
  • São compartilhadas experiências sobre o overhead de memória de hash maps versus listas ao construir grafos de links a partir da Wikipedia, além de estruturas de dados alternativas sugeridas.
  • Um tópico lateral revisita padrões clássicos de comandos Unix (cut | sort | uniq -c | sort -rn) como uma habilidade útil, inclusive usada em entrevistas.

Acrônimos vs siglas iniciais e listas de TLA existentes

  • Debate pedante sobre terminologia: alguns argumentam que o script trata na verdade de siglas iniciais (letra por letra), não de acrônimos (pronunciados como uma palavra); outros observam definições conflitantes em que um é subconjunto do outro.
  • É mencionada uma página da Wikipedia que lista abreviações de três letras; ela já mostra CQK como não utilizado, mas analisá-la programaticamente não é trivial.