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.