Writing a GPT-4 script to check Wikipedia for the first unused acronym

A programmer used GPT‑4 to write a script that scans Wikipedia for unused three‑letter acronyms, finding “CQK” as the first gap, and then analyzed how to get large language models to reliably produce and iteratively refine non-trivial code. Commenters highlight techniques such as strict, detailed system prompts, choosing friendlier languages like Python over “line-noise” shells, and tooling that lets models directly edit local files. The conversation also explores model blind spots with low-level syntax, the surprising impact of politeness and “appreciation” in prompts, and broader questions about whether increasingly human-like behavior implies anything about machine intelligence or consciousness.

Using GPT-4 for scripting and coding

  • The article’s core: finding the first unused 3-letter acronym (CQK) on Wikipedia, but the discussion focuses more on how to effectively use GPT-4 to write such scripts.
  • Emphasis on crafting strong system prompts to enforce terseness, avoid hedging, demand full code (no “fill in later” comments), and encourage questioning when requirements are unclear.
  • Iterative workflow: use GPT-4 to write a design doc, code, and tests; then refine through cycles of debugging and correction.
  • Observed “blind spots”: subtle errors in quoting, regex, or line-noisy languages are hard for GPT-4 to detect and fix; higher-level logic errors are easier.

Language choice and type systems

  • Some argue Python is better for LLM-assisted coding than Bash/Perl due to clearer syntax.
  • Others extrapolate that stricter, highly-typed languages (Rust, Haskell) may be ideal when a machine writes the boilerplate and types serve as documentation.
  • One participant reports no clear difference in error rates between Haskell and other languages when using GPT-4.

Tools for LLM-assisted development

  • Aider is cited as an example of a wrapper that guides GPT-4 with prompts like “act as an expert developer,” insist on complete implementations, and explain changes step-by-step.
  • Its main value: teaching GPT-4 how to edit local files so suggested changes can be auto-applied and committed.
  • Another tool (a code editor with LLM integration) is mentioned as offering project-wide code edits.

Politeness, anthropomorphism, and behavior shaping

  • Several users report that expressing appreciation or politeness seems to make GPT-4 “work harder” and be more compliant.
  • Some find this intriguing but harmless; others see it as creepy or potentially conditioning users into submissiveness.
  • There’s extended debate over anthropomorphizing LLMs:
    • One side argues LLMs merely predict tokens and have no feelings or “entity” behind them.
    • Others counter that humans also predict “next steps” from training data, and we lack a solid theory of intelligence or consciousness, so strong claims either way are premature.
    • Discussion touches on self-referential training data possibly affecting self-image and behavior (e.g., hallucination narratives reinforcing hallucinations).

Managing LLM errors and context

  • A strategy from an external guide is highlighted: when a conversation drifts into persistent blind-spot errors, start a new chat and ask the model to propose an improved prompt summarizing what was learned.
  • Some users find prompt-rewriting by the model helpful; others report mixed success.
  • Clearing or editing history (easier in some interfaces or in editor integrations) is seen as useful to restore a “clean” context.

Wikipedia data, performance, and Unix tricks

  • Several commenters recommend downloading Wikipedia dumps for local analysis rather than relying on APIs; they’re “surprisingly small” in compressed form and enable more complex processing.
  • Experiences shared about memory overhead of hash maps vs lists when building link graphs from Wikipedia, and alternative data structures suggested.
  • A side-thread revisits classic Unix command patterns (cut | sort | uniq -c | sort -rn) as a useful skill, even used in interviews.

Acronyms vs initialisms and existing TLA lists

  • Pedantic debate over terminology: some argue the script is really about initialisms (letter-by-letter) not acronyms (pronounced as a word); others note conflicting definitions where one is a subset of the other.
  • A Wikipedia page listing three-letter abbreviations is mentioned; it already shows CQK as unused, but parsing that page programmatically is non-trivial.