Escribir un script de GPT-4 para comprobar Wikipedia en busca del primer acrónimo no usado

Un programador usó GPT‑4 para escribir un script que analiza Wikipedia en busca de acrónimos de tres letras no usados, encontrando “CQK” como el primer hueco, y luego analizó cómo conseguir que los modelos de lenguaje produzcan y refinen de forma fiable código no trivial. Los comentaristas destacan técnicas como prompts de sistema estrictos y detallados, elegir lenguajes más amistosos como Python frente a shells “ruidosos”, y herramientas que permiten al modelo editar archivos locales directamente. La conversación también explora los puntos ciegos del modelo con la sintaxis de bajo nivel, el impacto sorprendente de la cortesía y la “apreciación” en los prompts, y preguntas más amplias sobre si un comportamiento cada vez más humano implica algo sobre la inteligencia o la conciencia de las máquinas.

Usar GPT-4 para scripting y programación

  • El núcleo del artículo: encontrar el primer acrónimo de 3 letras no usado (CQK) en Wikipedia, pero la discusión se centra más en cómo usar GPT-4 eficazmente para escribir scripts de este tipo.
  • Énfasis en redactar prompts de sistema sólidos para imponer concisión, evitar ambigüedades, exigir código completo (sin comentarios de “completar más tarde”) y fomentar que se hagan preguntas cuando los requisitos no estén claros.
  • Flujo de trabajo iterativo: usar GPT-4 para escribir un documento de diseño, código y pruebas; luego refinar mediante ciclos de depuración y corrección.
  • “Puntos ciegos” observados: los errores sutiles en comillas, regex o lenguajes con mucho ruido sintáctico son difíciles de detectar y corregir para GPT-4; los errores lógicos de nivel superior son más fáciles.

Elección de lenguaje y sistemas de tipos

  • Algunos sostienen que Python es mejor para la programación asistida por LLM que Bash/Perl debido a una sintaxis más clara.
  • Otros extrapolan que los lenguajes más estrictos y fuertemente tipados (Rust, Haskell) pueden ser ideales cuando una máquina escribe el código repetitivo y los tipos sirven como documentación.
  • Un participante informa que no ve una diferencia clara en las tasas de error entre Haskell y otros lenguajes al usar GPT-4.

Herramientas para desarrollo asistido por LLM

  • Se menciona Aider como ejemplo de envoltorio que guía a GPT-4 con prompts como “actúa como un desarrollador experto”, insiste en implementaciones completas y explica los cambios paso a paso.
  • Su valor principal: enseñarle a GPT-4 cómo editar archivos locales para que los cambios sugeridos puedan aplicarse y confirmarse automáticamente.
  • Se menciona otra herramienta (un editor de código con integración LLM) que ofrece ediciones de código a nivel de proyecto.

Cortesía, antropomorfización y modelado del comportamiento

  • Varios usuarios informan que expresar agradecimiento o ser cortés parece hacer que GPT-4 “trabaje más” y sea más complaciente.
  • Algunos encuentran esto intrigante pero inofensivo; otros lo ven como inquietante o como una posible forma de condicionar a los usuarios hacia la sumisión.
  • Hay un debate extenso sobre antropomorfizar LLMs:
    • Un bando sostiene que los LLMs solo predicen tokens y no tienen sentimientos ni ninguna “entidad” detrás.
    • Otros responden que los humanos también predicen “los siguientes pasos” a partir de datos de entrenamiento, y que no tenemos una teoría sólida de la inteligencia o la conciencia, así que las afirmaciones tajantes en cualquier sentido son prematuras.
    • La discusión toca la posibilidad de que los datos de entrenamiento autorreferenciales afecten la autoimagen y el comportamiento (por ejemplo, narrativas de alucinación que refuerzan alucinaciones).

Gestión de errores y contexto de LLM

  • Se destaca una estrategia de una guía externa: cuando una conversación deriva hacia errores persistentes de punto ciego, iniciar un nuevo chat y pedir al modelo que proponga un prompt mejorado resumiendo lo aprendido.
  • Algunos usuarios encuentran útil la reescritura de prompts por parte del modelo; otros informan resultados mixtos.
  • Borrar o editar el historial (más fácil en algunas interfaces o integraciones en editores) se ve como útil para restaurar un contexto “limpio”.

Datos de Wikipedia, rendimiento y trucos de Unix

  • Varios comentaristas recomiendan descargar volcados de Wikipedia para análisis local en lugar de depender de APIs; son “sorprendentemente pequeños” en forma comprimida y permiten un procesamiento más complejo.
  • Se comparten experiencias sobre la sobrecarga de memoria de los hash maps frente a listas al construir grafos de enlaces a partir de Wikipedia, y se sugieren estructuras de datos alternativas.
  • Un hilo lateral revisita patrones clásicos de comandos Unix (cut | sort | uniq -c | sort -rn) como una habilidad útil, incluso usada en entrevistas.

Acrónimos vs inicialismos y listas existentes de TLA

  • Debate pedante sobre la terminología: algunos sostienen que el script trata realmente de inicialismos (letra por letra) y no de acrónimos (pronunciados como una palabra); otros señalan definiciones contradictorias en las que uno es subconjunto del otro.
  • Se menciona una página de Wikipedia que enumera abreviaturas de tres letras; ya muestra CQK como no usado, pero analizar esa página programáticamente no es trivial.