Limits of Natural-Language-Based AI–Human Interaction
- Published
Some thoughts on the limitations of AI–human interaction based on natural language. This is one of the main factors behind the bottleneck in the AI–human interaction loop. (The other is probably human laziness.)
The strangeness of natural-language communication
When I see robots talking to one another in natural language in movies, I often think how inefficient it is.
Natural language is redundant and ambiguous. Its design is rather peculiar too: organs for breathing (lungs), tasting (tongue), and digestion (teeth) are repurposed to vibrate air and transmit signals, while organs once used for orientation underwater (ears) are repurposed to detect those vibrations and receive signals.
This peculiar design extends beyond physical organs. Language and thought are closely intertwined, so human thought must also be inefficient and peculiar for various reasons. The design makes sense in light of our evolutionary history, but surely we would not do it this way if we designed communication anew from the ground up.
Using such an odd method for communication between robots is very odd indeed. Of course, the presence of human observers gives it some advantages, similar to those of plain-text protocols.
Natural-language communication between LLMs and humans
What about using natural language for communication between humans and machines? Thanks to LLMs, we have had almost two years to experience it, so it is time to look back. (ChatGPT was released on November 30, 2022, and I am writing this on July 27, 2024.)
First, we had to learn how to talk to machines. Schools teaching machine conversation appeared, as did companies looking for people who were good at it. We call this conversational skill prompt engineering. It helps to divide what these schools teach into two categories.
- Category 1 consists of conversational techniques a human speaker learns for a machine listener because machines differ from humans.
- Category 2 consists of techniques needed to convey the speaker’s intent efficiently, whether the listener is a machine or a human. Category 1 is often the bottleneck now, but category 2 will probably become the bottleneck soon and may remain so forever.
An artificial language for improving the bottleneck
What would it mean to treat category 2 as the bottleneck and improve it?
The human–machine communication process can be divided roughly as follows, although the boundaries are fuzzy. (With a single LLM, for example, steps 3, 4, and 5 are almost one thing.)
- Human: forms an intention.
- Human: sends the intention.
- Machine: receives it.
- Machine: computes.
- Machine: sends a response.
- Human: receives it.
- Human: interprets it.
The stages in which the human forms and sends an intention (1 and 2), and receives and interprets the machine’s response (6 and 7), are all bottlenecks. Since language and thought are closely intertwined, might improving language improve thought a little too? In other words, might communicating in a better language help me sharpen my intent and communicate more clearly?
Looking more closely at the disadvantages of natural-language communication, we find: 1) each stage takes a long time; 2) unclear intentions lead to repeated exchanges (“No, that is not what I meant…”); and 3) we settle for results that are reasonably acceptable (“Ugh, explaining is too much trouble. This will do…”).
What do humans do when they want to make communication clearer and more efficient? They formalize it. Scientific and engineering papers are a prominent example. Ideally, we would create a formal language that is easy both to learn and to use, but that is difficult. If we must choose one, we should aim for something difficult to learn but easy to use.
A language for human–machine communication that is hard to learn but easy to use. A language that influences how we think. What do we already have that fits? A programming language. What kind? Something closer to Lean than Python, and something that makes it easy to mix natural and formal language, as in literate programming.
Following this train of thought has led me to a somewhat odd conclusion: significantly improving human–machine communication requires improving human thought and language, and learning a programming language (or proof language) plus formal logic might help us do so. When you have a hammer, everything looks like a nail… Still, it seems a plausible direction.
We can already see fragments of this trend. One widely used way of communicating intent clearly to an LLM is to provide a definition of the response’s type or schema. There is a deep connection between “defining types” and “forming clear intentions,” but that is a story for later.
Also, today’s probabilistic generative models have clear limitations on their own, so traditional symbolic processing (GOFAI, symbolic AI) will have to be integrated—and already is. In light of this trend too, human natural language and fuzzy thinking remain bottlenecks when making human–machine communication extremely efficient matters.
Related material
- Reliable Reasoning Beyond Natural Language (using Prolog as a language of thought for LLMs)
- LeanTool
- Specification written in natural language
- On the foolishness of natural language programming