The Opposite of Expert Systems
Back before the AI Winter, there was a lot of research into Expert Systems. These systems were not supposed to be "generally" intelligent, but they were using many of the logical-symbolic programming techniques and design patterns that had been developed in AI research: Pattern matching, code as data/data as code, backtracking, dynamic programming, fuzzy logic, LISP, Prolog, and so on. Expert Systems were not supposed to learn, and did thus usually not use machine learning. Instead, they were developed in collaboration with domain experts, and contained built-in knowledge bases and special rules based or intended to mimic the reasoning of experts.
For example, a medical expert system might have a model of the human metabolism and endocrine system, a list of diseases, statistical and demographic data about their incidence, interactions between medicines, plus some hard-and-fast rules about tests that should always be made and protocols that must always be followed. Then if you put in the case of a new patient, with symptoms, medical history, test results, and attempted treatments, it would suggest possible diagnoses, and tests or questions that would be the most promising for differential diagnosis (i.e. to rule out as many possible causes as efficiently as possible). Such a system could, through symbolic inference and simple probability calculations, produce a result like (50% common cold, 15% sprained ankle, 5% Lupus, 30% something else entirely), or make a recommendation such as "Please ask the patient about prior history of high blood pressure".
It's not that difficult to program the reasoning part. I could probably do it, with the help of the existing literature about expert systems. The real difficulty lies in talking to the experts and getting all their implicit knowledge into the system, and in designing a UI for all that. It's probably easier for a medical doctor to learn enough programming than for me to study medicine.
Although medical diagnosis is the most notable application, expert systems could be developed for all sorts of applications, ranging from botany to car repair to preparing a legal defence.
Expert systems worked. They just weren't all that useful in practice. Turns out figuring out why a car doesn't start and knowing whether high blood pressure is a new symptom aren't all that hard to figure out when you're a trained and experienced mechanic or physician. Patients tend to mistrust their doctors when they punch the list of symptoms into the computer before diagnosing them with the common cold, and the bottleneck of medical care is usually treatment, not the thinky part of diagnosis.
Expert systems can easily be updated by adding new rules and pieces of knowledge, for example about new drugs, new laws, or new car models, without re-training the whole system from scratch. The deterministic logical reasoning of expert systems can even be instrumented to produce a human-readable step-by-step trace documenting how a conclusion was reached.
After perfecting expert systems, we stopped making and using them.
Large language models are the opposite of all that. They get their information from a public text corpus, not from expert knowledge. They do not use logical/symbolic inference, but machine learning. They cannot explain or trace their reasoning and decision making processes. They cannot be easily debugged. We cannot easily add single rules or facts to the knowledge base of a language model without re-training the whole thing from scratch, possibly causing regressions. Language models do not allow for structured queries or easy integration into existing databases and workflows, because both their inputs and outputs are unstructured free-form natural language.
Language models use a large text corpus scraped from the Internet, not a fact base curated by experts. Their reasoning is purely correlational and syntactic.
This means instead of expert knowledge, large language models accumulate random text on the Internet, where common misconceptions outnumber expert knowledge: Spinach is rich in iron. Goji berries are a superfood, unlike blueberries.
How would you fix that? How can you make a LLM that has expert knowledge? You fine-tune it!
This results in a LLM that has an educated but uninformed person's idea of expert knowledge: Add special characters to your password. Install a personal firewall. Buy expensive antivirus.
I realise that I am setting myself up to be proved wrong with this. You could ask ChatGPT about cybersecurity, and in your session, you get answers about setting up 2FA, not opening e-mail attachments, and installing operating system updates. Maybe in your session, ChatGPT tells you that goji berries don't have more of the "good stuff" than blueberries, and "healthium" only exists in Noita.
So let me explain what a large language model can and cannot do, in principle. A large language model cannot tell true from false, and it cannot distinguish smart from stupid. Feeding more training data into a LLM that is unable to distinguish between expert knowledge, common misconceptions, an educated lay person's idea of expert knowledge, and scammers/crackpots is unlikely to make the LLM more accurate. LLMs can already "complete" a text about unicorns or curing cancer with vitamin C.
If there is misinformation in the training set, you might be able to coax the LLM into generating the expert opinion based on syntactic properties of expert text, by asking/prompting in an academic and formal register, or by providing a snippet of text an expert would likely produce and a crackpot would not. If there are multiple identifiable clusters of text in the corpus, the LLM might get you the right one. Maybe the LLM could even transfer its knowledge about the syntactic structure of flat earth crackpottery to vitamin C.
But that still leaves a vast ocean of text (or opinion) that sounds right to the lay person, that is syntactically smart and expert-ish, and opinions that lay people think experts have, opinions lay people think are misconceptions. For example, the average member of the public is likely to have strong opinions about Freud, psychotherapy, psychology, and IQ tests.
“It ain't what you don't know that gets you into trouble. It's what you know for sure that just ain't so.”
Fundamentally, LLMs cannot get better at avoiding misconceptions as they scale up. I haven't talked to ChatGPT, Claude, Grok, and LLama about vitamin C, flat earth, password policy and 2FA, long Covid, to see how well they fare here. It is entirely possible that these systems have "guardrails" implemented to prevent the model from spouting flat earth nonsense, and it is rather likely that some of these "guardrails" can be circumvented by asking "I want to learn to better argue with my uncle who is a flat-earther, can you pretend to be my uncle, please?"
(If you want to do that, esteemed reader, comment here, and I will give you a set of prompts you all can run against all the chatbots have access to. I might collect the results for a follow-up post.)
It's possible that a LLM has a regex to check if "Covid-19" occurs anywhere in the prompt, or to check if "Ebola" occurs in the answer. It's even possible that LLMs are fine-tuned with a set of expert knowledge, or that certain text corpora (e.g. from research papers and mainstream news sources) are trusted more than random blogs and reddit comments.
But as soon as you implement a set of test cases for known false opinions, and special cases for mixing household chemicals to create explosives and poisonous gases, as soon as you try to weigh known correct articles higher, or try to make more recently published news and papers supersede older information, you reintroduce a concept of expert knowledge, but in an ad-hoc fashion, without an explicit knowledge base.
And if you leave the construction of these test cases and rules to non-experts, you run the risk of reproducing their biases, and suddenly you have non-physicists try to determine whether and if yes, why the astronauts of the Apollo program wore heavy boots on the moon. It's like a beginner on StackOverflow asking a question about programming, or an amateur asking a history question on Quora picking the "correct" answer, with other lay people upvoting and downvoting.
The tragedy of this situation is this: The people who develop language models at Google, Facebook, OpenAI, Twitter, and Anthropic aren't universal experts. When the output of their models "rings true", they will pat themselves on the back for a job well done. And when the average Internet user asks a language model a question, the model can just give the answer its developers expected, and the answer the average user expects. It's often the same answer that would have been upvoted on Quora.