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.